Пример #1
0
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())))
Пример #2
0
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"]
Пример #3
0
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"]
Пример #4
0
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"]
Пример #5
0
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
Пример #6
0
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
Пример #7
0
def test_identifier_sorting():
    r = identifier.Identifier(key=Keys.NAME, reverse=True)
    out = r.identify("fixtures/file", only_text=False)
    assert out["Regexes"]["file"]
Пример #8
0
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"]
Пример #9
0
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"]
Пример #10
0
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"]
Пример #11
0
 def __init__(self, config: Config):
     super().__init__(config)
     self.id = identifier.Identifier()
Пример #12
0
 def __init__(self, distribution):
     self.id = identifier.Identifier(dist=distribution)
Пример #13
0
 def __init__(self):
     self.id = identifier.Identifier()
     self.colors = {"Failed": 0xDC143C, "Success": 0x00FF00}
Пример #14
0
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"])
Пример #15
0
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"])
Пример #16
0
def test_identifier_works():
    r = identifier.Identifier()
    out = r.identify("DANHz6EQVoWyZ9rER56DwTXHWUxfkv9k2o")
    assert ("Dogecoin (DOGE) Wallet Address"
            in out["Regexes"]["text"][0]["Regex Pattern"]["Name"])