def test_recursion(): r = identifier.Identifier() out = r.identify("fixtures", only_text=False) assert re.findall(r"\'(?:\/|\\\\)file\'", str(list(out["Regexes"].keys()))) assert re.findall(r"\'(?:\/|\\\\)test(?:\/|\\\\)file\'", str(list(out["Regexes"].keys())))
def test_identifier_sorting4(): r = identifier.Identifier(key=Keys.NAME, reverse=True) out = r.identify("fixtures/file", only_text=False) prev = None for match in out["Regexes"]["file"]: if prev is not None: assert prev >= match["Regex Pattern"]["Name"] prev = match["Regex Pattern"]["Name"]
def test_only_text(): r = identifier.Identifier() out = r.identify("fixtures/file") assert None == out["Regexes"] out = r.identify("THM{7281j}}", only_text=True) assert "TryHackMe Flag Format" in out["Regexes"]["text"][0][ "Regex Pattern"]["Name"]
def test_identifier_sorting5(): r = identifier.Identifier() out = r.identify("fixtures/file", only_text=False, key=Keys.MATCHED) prev = None for match in out["Regexes"]["file"]: if prev is not None: assert prev <= match["Matched"] prev = match["Matched"]
def test_boundaryless(): r = identifier.Identifier(boundaryless=Filter()) out = r.identify("127.0.0.1abrakadabra") assert ( "Internet Protocol (IP) Address Version 4" in out["Regexes"]["text"][0]["Regex Pattern"]["Name"] ) out = r.identify("127.0.0.1abrakadabra", boundaryless=Filter({"Tags": ["Media"]})) assert out["Regexes"] is None
def test_identifier_filtration2(): filter1 = {"ExcludeTags": ["Identifiers"]} filter2 = {"Tags": ["Identifiers"], "MinRarity": 0.6} r = identifier.Identifier(dist=Distribution(filter1)) regexes = r.identify("fixtures/file", only_text=False, dist=Distribution(filter2))[ "Regexes" ]["file"] for regex in regexes: assert "Identifiers" in regex["Regex Pattern"]["Tags"] assert regex["Regex Pattern"]["Rarity"] >= 0.6
def test_identifier_sorting(): r = identifier.Identifier(key=Keys.NAME, reverse=True) out = r.identify("fixtures/file", only_text=False) assert out["Regexes"]["file"]
def test_identifier_filtration(): filter = {"Tags": ["Credentials"]} r = identifier.Identifier(dist=Distribution(filter)) regexes = r.identify("fixtures/file", only_text=False)["Regexes"]["file"] for regex in regexes: assert "Credentials" in regex["Regex Pattern"]["Tags"]
def test_finditer(): r = identifier.Identifier(boundaryless=Filter()) out = r.identify("[email protected] [email protected]") assert "*****@*****.**" in out["Regexes"]["text"][2]["Matched"] assert "*****@*****.**" in out["Regexes"]["text"][3]["Matched"]
import re from pywhat import identifier from pywhat.filter import Distribution, Filter from pywhat.helper import Keys r = identifier.Identifier() def test_identifier_works(): out = r.identify("DANHz6EQVoWyZ9rER56DwTXHWUxfkv9k2o") assert ( "Dogecoin (DOGE) Wallet Address" in out["Regexes"]["text"][0]["Regex Pattern"]["Name"] ) def test_identifier_works2(): out = r.identify("fixtures/file", only_text=False) assert "Ethereum (ETH) Wallet Address" in str(out) def test_identifier_works3(): out = r.identify("fixtures/file", only_text=False) assert "Dogecoin (DOGE) Wallet Address" in str(out) def test_identifier_filtration(): filter = {"Tags": ["Credentials"]} r = identifier.Identifier(dist=Distribution(filter)) regexes = r.identify("fixtures/file", only_text=False)["Regexes"]["file"]
def __init__(self, config: Config): super().__init__(config) self.id = identifier.Identifier()
def __init__(self, distribution): self.id = identifier.Identifier(dist=distribution)
def __init__(self): self.id = identifier.Identifier() self.colors = {"Failed": 0xDC143C, "Success": 0x00FF00}
def test_identifier_works3(): r = identifier.Identifier() out = r.identify("fixtures/file", only_text=False) assert ("Dogecoin (DOGE) Wallet Address" in out["Regexes"]["file"][1]["Regex Pattern"]["Name"])
def test_identifier_works2(): r = identifier.Identifier() out = r.identify("fixtures/file", only_text=False) assert ("Ethereum (ETH) Wallet Address" in out["Regexes"]["file"][0]["Regex Pattern"]["Name"])
def test_identifier_works(): r = identifier.Identifier() out = r.identify("DANHz6EQVoWyZ9rER56DwTXHWUxfkv9k2o") assert ("Dogecoin (DOGE) Wallet Address" in out["Regexes"]["text"][0]["Regex Pattern"]["Name"])