def test_remove_markings_bad_markings(): before = Malware( object_marking_refs=[MARKING_IDS[0], MARKING_IDS[1], MARKING_IDS[2]], **MALWARE_KWARGS) with pytest.raises(AssertionError) as excinfo: markings.remove_markings(before, [MARKING_IDS[4]], None) assert str(excinfo.value ) == "Marking ['%s'] was not found in Malware!" % MARKING_IDS[4]
def test_remove_marking_bad_selector(): before = { "description": "test description", } with pytest.raises(AssertionError): markings.remove_markings( before, ["marking-definition--1", "marking-definition--2"], ["title"])
def test_remove_marking_not_present(): before = Malware(granular_markings=[{ "selectors": ["description"], "marking_ref": MARKING_IDS[0] }], **MALWARE_KWARGS) with pytest.raises(MarkingNotFoundError): markings.remove_markings(before, [MARKING_IDS[1]], ["description"])
def test_remove_markings_object_level(data): before = data[0] after = data[1] before = markings.remove_markings(before, MARKING_IDS[0], None) assert 'object_marking_refs' not in before assert 'object_marking_refs' not in after modified = after['modified'] after = markings.remove_markings(after, MARKING_IDS[0], None) modified == after['modified']
def test_remove_markings_multiple(data): before = data[0] after = data[1] before = markings.remove_markings(before, data[2], None) assert before['object_marking_refs'] == after['object_marking_refs']
def test_remove_marking_mark_another_property_same_marking(): after = Malware( granular_markings=[ { "selectors": ["description"], "marking_ref": MARKING_IDS[0], }, ], **MALWARE_KWARGS ) before = Malware( granular_markings=[ { "selectors": ["description"], "marking_ref": MARKING_IDS[0], }, { "selectors": ["modified"], "marking_ref": MARKING_IDS[0], }, ], **MALWARE_KWARGS ) before = markings.remove_markings(before, [MARKING_IDS[0]], ["modified"]) for m in before["granular_markings"]: assert m in after["granular_markings"]
def test_remove_marking_mark_one_selector_markings_from_multiple_ones(): after = Malware( granular_markings=[ { "selectors": ["description"], "marking_ref": MARKING_IDS[0], }, { "selectors": ["description", "modified"], "marking_ref": MARKING_IDS[1], }, ], **MALWARE_KWARGS ) before = Malware( granular_markings=[ { "selectors": ["description", "modified"], "marking_ref": MARKING_IDS[0], }, { "selectors": ["description", "modified"], "marking_ref": MARKING_IDS[1], }, ], **MALWARE_KWARGS ) before = markings.remove_markings(before, [MARKING_IDS[0]], ["modified"]) for m in before["granular_markings"]: assert m in after["granular_markings"]
def test_remove_no_markings(): before = { "description": "test description", } after = markings.remove_markings(before, ["marking-definition--1"], ["description"]) assert before == after
def test_remove_marking_mark_same_property_same_marking(): before = Malware(granular_markings=[{ "selectors": ["description"], "marking_ref": MARKING_IDS[0] }], **MALWARE_KWARGS) before = markings.remove_markings(before, [MARKING_IDS[0]], ["description"]) assert "granular_markings" not in before
def test_remove_marking_remove_multiple_selector_one_ref(): before = Malware(granular_markings=[{ "selectors": ["description", "modified"], "marking_ref": MARKING_IDS[0] }], **MALWARE_KWARGS) before = markings.remove_markings(before, MARKING_IDS[0], ["description", "modified"]) assert "granular_markings" not in before
def test_remove_marking_remove_one_selector_with_multiple_refs(data): before = markings.remove_markings(data[0], data[1], ["description"]) assert "granular_markings" not in before