def test_add_markings_combination():
    before = Malware(
        **MALWARE_KWARGS
    )
    after = Malware(
        object_marking_refs=[MARKING_IDS[0], MARKING_IDS[1]],
        granular_markings=[
            {
                "selectors": ["malware_types"],
                "marking_ref": MARKING_IDS[2],
            },
            {
                "selectors": ["name"],
                "marking_ref": MARKING_IDS[3],
            },
        ],
        **MALWARE_KWARGS
    )

    before = markings.add_markings(before, MARKING_IDS[0], None)
    before = markings.add_markings(before, MARKING_IDS[1], None)
    before = markings.add_markings(before, MARKING_IDS[2], "malware_types")
    before = markings.add_markings(before, MARKING_IDS[3], "name")

    for m in before["granular_markings"]:
        assert m in after["granular_markings"]

    for m in before["object_marking_refs"]:
        assert m in after["object_marking_refs"]
示例#2
0
def test_add_marking_mark_multiple_selector_multiple_refs_mixed():
    before = Malware(
        **MALWARE_KWARGS
    )
    after = Malware(
        granular_markings=[
            {
                "selectors": ["description", "name"],
                "marking_ref": MARKING_IDS[0],
            },
            {
                "selectors": ["description", "name"],
                "marking_ref": MARKING_IDS[1],
            },
            {
                "selectors": ["description", "name"],
                "lang": MARKING_LANGS[0],
            },
            {
                "selectors": ["description", "name"],
                "lang": MARKING_LANGS[1],
            },
        ],
        **MALWARE_KWARGS
    )
    before = markings.add_markings(before, [MARKING_IDS[0], MARKING_IDS[1], MARKING_LANGS[0], MARKING_LANGS[1]], ["description", "name"])

    for m in before["granular_markings"]:
        assert m in after["granular_markings"]
示例#3
0
def test_add_markings_one_marking(data):
    before = data[0]
    after = data[1]

    before = markings.add_markings(before, data[2], None)

    for m in before["object_marking_refs"]:
        assert m in after["object_marking_refs"]
示例#4
0
def test_add_marking_mark_multiple_selector_one_refs(data):
    before = data[0]
    after = data[1]

    before = markings.add_markings(before, data[2], ["description", "name"])

    for m in before["granular_markings"]:
        assert m in after["granular_markings"]
def test_add_markings_bad_markings(data):
    before = Malware(
        **MALWARE_KWARGS
    )
    with pytest.raises(exceptions.InvalidValueError):
        before = markings.add_markings(before, data, None)

    assert "object_marking_refs" not in before
示例#6
0
def test_add_markings_multiple_marking():
    before = Malware(**MALWARE_KWARGS)

    after = Malware(object_marking_refs=[MARKING_IDS[0], MARKING_IDS[1]],
                    **MALWARE_KWARGS)

    before = markings.add_markings(before, [MARKING_IDS[0], MARKING_IDS[1]],
                                   None)

    for m in before["object_marking_refs"]:
        assert m in after["object_marking_refs"]
def test_add_marking_mark_same_property_same_marking():
    before = Malware(granular_markings=[
        {
            "selectors": ["description"],
            "marking_ref": MARKING_IDS[0],
        },
    ],
                     **MALWARE_KWARGS)
    after = Malware(granular_markings=[
        {
            "selectors": ["description"],
            "marking_ref": MARKING_IDS[0],
        },
    ],
                    **MALWARE_KWARGS)
    before = markings.add_markings(before, [MARKING_IDS[0]], ["description"])

    for m in before["granular_markings"]:
        assert m in after["granular_markings"]
示例#8
0
def test_add_marking_bad_selector(data, marking):
    with pytest.raises(InvalidSelectorError):
        markings.add_markings(data, marking[0], marking[1])
def test_add_marking_bad_selector(data, marking):
    with pytest.raises(AssertionError):
        markings.add_markings(data, marking[0], marking[1])