Beispiel #1
0
def test_comp_other_constant_types():
    constants = [
        "1.23",
        "1",
        "true",
        "false",
        "h'4fa2'",
        "b'ZmpoZWll'",
        "t'1982-12-31T02:14:17.232Z'",
    ]

    pattern_template = "[a:b={}]"
    for i, const1 in enumerate(constants):
        for j, const2 in enumerate(constants):
            patt1 = pattern_template.format(const1)
            patt2 = pattern_template.format(const2)

            if i == j:
                assert equivalent_patterns(patt1, patt2)
            else:
                assert not equivalent_patterns(patt1, patt2)

    # can't use an "=" pattern with lists...
    for const in constants:
        patt1 = "[a:b={}]".format(const)
        patt2 = "[a:b IN (1,2,3)]"
        assert not equivalent_patterns(patt1, patt2)
Beispiel #2
0
def test_obs_flatten_equivalent(patt1, patt2):
    assert equivalent_patterns(patt1, patt2)
Beispiel #3
0
def test_comp_special_canonicalization_ipv6(patt1, patt2):
    assert equivalent_patterns(patt1, patt2)
Beispiel #4
0
def test_comp_special_canonicalization_win_reg_key_not_equivalent(
        patt1, patt2):
    assert not equivalent_patterns(patt1, patt2)
Beispiel #5
0
def test_obs_dupe_not_equivalent(patt1, patt2):
    assert not equivalent_patterns(patt1, patt2)
Beispiel #6
0
def test_comp_not_equivalent(patt1, patt2):
    assert not equivalent_patterns(patt1, patt2)
Beispiel #7
0
def test_comp_dnf_equivalent(patt1, patt2):
    assert equivalent_patterns(patt1, patt2)
Beispiel #8
0
def test_comp_absorb_equivalent(patt1, patt2):
    assert equivalent_patterns(patt1, patt2)
Beispiel #9
0
def test_obs_absorb_not_equivalent(patt1, patt2):
    assert not equivalent_patterns(patt1, patt2)
Beispiel #10
0
def test_obs_order_equivalent(patt1, patt2):
    assert equivalent_patterns(patt1, patt2)
Beispiel #11
0
def test_startstop_not_equivalent(patt1, patt2):
    assert not equivalent_patterns(patt1, patt2, stix_version="2.0")