"""NIP-05 identifier collection and parsing.""" from imwald.core.kind0_profile import collect_nip05_identifiers from imwald.core.nip05 import parse_nip05_identifier def test_parse_nip05_identifier() -> None: assert parse_nip05_identifier("bob@Example.com") == ("bob", "example.com") assert parse_nip05_identifier("not an id") is None def test_collect_from_json_and_tags_and_scan() -> None: content = '{"name":"x","nip05":"a@b.co"} extra@scan.org tail' tags: list[list[str]] = [["nip05", "c@d.co"], ["nip-05", "e@f.co"], ["client", "x"]] got = collect_nip05_identifiers(content, tags) assert got == ["a@b.co", "c@d.co", "e@f.co", "extra@scan.org"] def test_collect_dedupes() -> None: content = '{"nip05":"Same@X.org"} same@x.org' assert collect_nip05_identifiers(content, []) == ["Same@X.org"]