def test_is_marked_valid_selector_no_refs(self): """Test that a valid selector return True when it has marking refs and False when not.""" self.assertTrue(api.is_marked(self.test_tlo, ["description"])) self.assertTrue(api.is_marked(self.test_tlo, ["description"], ["marking-definition--2", "marking-definition--3"])) self.assertTrue(api.is_marked(self.test_tlo, ["description"], ["marking-definition--2"])) self.assertFalse(api.is_marked(self.test_tlo, ["description"], ["marking-definition--2", "marking-definition--8"]))
def test_is_marked_valid_selector_and_refs(self): """Test that a valid selector returns True when marking_refs match.""" self.assertTrue( api.is_marked(self.test_tlo, ["description"], ["marking-definition--1"])) self.assertFalse( api.is_marked(self.test_tlo, ["title"], ["marking-definition--1"]))
def test_is_marked_valid_selector_multiple_refs(self): """Test that a valid selector returns True if aall marking_refs match. Otherwise False.""" self.assertTrue(api.is_marked(self.test_tlo, ["revision"], ["marking-definition--2", "marking-definition--3"])) self.assertFalse(api.is_marked(self.test_tlo, ["revision"], ["marking-definition--2", "marking-definition--1"])) self.assertTrue(api.is_marked(self.test_tlo, ["revision"], "marking-definition--2")) self.assertFalse(api.is_marked(self.test_tlo, ["revision"], ["marking-definition--1234"]))
def test_is_marked_object_and_granular_combinations(self): """Test multiple combinations for inherited and descendant markings.""" test_tlo = \ { "a": 333, "b": "value", "c": [ 17, "list value", { "g": "nested", "h": 45 } ], "x": { "y": [ "hello", 88 ], "z": { "foo1": "bar", "foo2": 65 } }, "object_marking_refs": "11", "granular_markings": [ { "marking_ref": "1", "selectors": ["a"] }, { "marking_ref": "2", "selectors": ["c"] }, { "marking_ref": "3", "selectors": ["c.[1]"] }, { "marking_ref": "4", "selectors": ["c.[2]"] }, { "marking_ref": "5", "selectors": ["c.[2].g"] }, { "marking_ref": "6", "selectors": ["x"] }, { "marking_ref": "7", "selectors": ["x.y"] }, { "marking_ref": "8", "selectors": ["x.y.[1]"] }, { "marking_ref": "9", "selectors": ["x.z"] }, { "marking_ref": "10", "selectors": ["x.z.foo2"] }, ] } self.assertTrue(api.is_marked(test_tlo, "a", ["1"], False, False)) self.assertTrue(api.is_marked(test_tlo, "a", ["1", "11"], True, False)) self.assertTrue(api.is_marked(test_tlo, "a", ["1", "11"], True, True)) self.assertTrue(api.is_marked(test_tlo, "a", ["1"], False, True)) self.assertFalse( api.is_marked(test_tlo, "b", inherited=False, descendants=False)) self.assertTrue(api.is_marked(test_tlo, "b", ["11"], True, False)) self.assertTrue(api.is_marked(test_tlo, "b", ["11"], True, True)) self.assertFalse( api.is_marked(test_tlo, "b", inherited=False, descendants=True)) self.assertTrue(api.is_marked(test_tlo, "c", ["2"], False, False)) self.assertTrue(api.is_marked(test_tlo, "c", ["2", "11"], True, False)) self.assertTrue( api.is_marked(test_tlo, "c", ["2", "3", "4", "5", "11"], True, True)) self.assertTrue( api.is_marked(test_tlo, "c", ["2", "3", "4", "5"], False, True)) self.assertFalse( api.is_marked(test_tlo, "c.[0]", inherited=False, descendants=False)) self.assertTrue( api.is_marked(test_tlo, "c.[0]", ["2", "11"], True, False)) self.assertTrue( api.is_marked(test_tlo, "c.[0]", ["2", "11"], True, True)) self.assertFalse( api.is_marked(test_tlo, "c.[0]", inherited=False, descendants=True)) self.assertTrue(api.is_marked(test_tlo, "c.[1]", ["3"], False, False)) self.assertTrue( api.is_marked(test_tlo, "c.[1]", ["2", "3", "11"], True, False)) self.assertTrue( api.is_marked(test_tlo, "c.[1]", ["2", "3", "11"], True, True)) self.assertTrue(api.is_marked(test_tlo, "c.[1]", ["3"], False, True)) self.assertTrue(api.is_marked(test_tlo, "c.[2]", ["4"], False, False)) self.assertTrue( api.is_marked(test_tlo, "c.[2]", ["2", "4", "11"], True, False)) self.assertTrue( api.is_marked(test_tlo, "c.[2]", ["2", "4", "5", "11"], True, True)) self.assertTrue( api.is_marked(test_tlo, "c.[2]", ["4", "5"], False, True)) self.assertTrue(api.is_marked(test_tlo, "c.[2].g", ["5"], False, False)) self.assertTrue( api.is_marked(test_tlo, "c.[2].g", ["2", "4", "5", "11"], True, False)) self.assertTrue( api.is_marked(test_tlo, "c.[2].g", ["2", "4", "5", "11"], True, True)) self.assertTrue(api.is_marked(test_tlo, "c.[2].g", ["5"], False, True)) self.assertTrue(api.is_marked(test_tlo, "x", ["6"], False, False)) self.assertTrue(api.is_marked(test_tlo, "x", ["6", "11"], True, False)) self.assertTrue( api.is_marked(test_tlo, "x", ["6", "7", "8", "9", "10", "11"], True, True)) self.assertTrue( api.is_marked(test_tlo, "x", ["6", "7", "8", "9", "10"], False, True)) self.assertTrue(api.is_marked(test_tlo, "x.y", ["7"], False, False)) self.assertTrue( api.is_marked(test_tlo, "x.y", ["6", "7", "11"], True, False)) self.assertTrue( api.is_marked(test_tlo, "x.y", ["6", "7", "8", "11"], True, True)) self.assertTrue(api.is_marked(test_tlo, "x.y", ["7", "8"], False, True)) self.assertFalse( api.is_marked(test_tlo, "x.y.[0]", inherited=False, descendants=False)) self.assertTrue( api.is_marked(test_tlo, "x.y.[0]", ["6", "7", "11"], True, False)) self.assertTrue( api.is_marked(test_tlo, "x.y.[0]", ["6", "7", "11"], True, True)) self.assertFalse( api.is_marked(test_tlo, "x.y.[0]", inherited=False, descendants=True)) self.assertTrue(api.is_marked(test_tlo, "x.y.[1]", ["8"], False, False)) self.assertTrue( api.is_marked(test_tlo, "x.y.[1]", ["6", "7", "8", "11"], True, False)) self.assertTrue( api.is_marked(test_tlo, "x.y.[1]", ["6", "7", "8", "11"], True, True)) self.assertTrue(api.is_marked(test_tlo, "x.y.[1]", ["8"], False, True)) self.assertTrue(api.is_marked(test_tlo, "x.z", ["9"], False, False)) self.assertTrue( api.is_marked(test_tlo, "x.z", ["6", "9", "11"], True, False)) self.assertTrue( api.is_marked(test_tlo, "x.z", ["6", "9", "10", "11"], True, True)) self.assertTrue( api.is_marked(test_tlo, "x.z", ["9", "10"], False, True)) self.assertFalse( api.is_marked(test_tlo, "x.z.foo1", inherited=False, descendants=False)) self.assertTrue( api.is_marked(test_tlo, "x.z.foo1", ["6", "9", "11"], True, False)) self.assertTrue( api.is_marked(test_tlo, "x.z.foo1", ["6", "9", "11"], True, True)) self.assertFalse( api.is_marked(test_tlo, "x.z.foo1", inherited=False, descendants=True)) self.assertTrue( api.is_marked(test_tlo, "x.z.foo2", ["10"], False, False)) self.assertTrue( api.is_marked(test_tlo, "x.z.foo2", ["6", "9", "10", "11"], True, False)) self.assertTrue( api.is_marked(test_tlo, "x.z.foo2", ["6", "9", "10", "11"], True, True)) self.assertTrue( api.is_marked(test_tlo, "x.z.foo2", ["10"], False, True))
def test_clear_marking_all_selectors(self): self.setUpClass() api.clear_markings(self.test_tlo, ["description", "type", "revision"]) self.assertFalse(api.is_marked(self.test_tlo, "description")) self.assertTrue("granular_markings" not in self.test_tlo)
def test_clear_marking_one_selector(self): """Test markings associated with one selector were removed.""" self.setUpClass() api.clear_markings(self.test_tlo, "description") self.assertFalse(api.is_marked(self.test_tlo, "description"))
def test_clear_marking_multiple_selectors(self): """Test clearing markings for multiple selectors effectively removes associated markings.""" self.setUpClass() api.clear_markings(self.test_tlo, ["type", "description"]) self.assertFalse(api.is_marked(self.test_tlo, ["type", "description"]))
def test_clear_marking_smoke(self): """Test clear_marking call does not fail.""" self.setUpClass() api.clear_markings(self.test_tlo, "revision") self.assertFalse(api.is_marked(self.test_tlo, "revision"))
def test_is_marked_no_marking_refs(self): """Test that a valid content selector with no marking_refs returns True if there is a granular_marking that asserts that field, False otherwise.""" self.assertFalse(api.is_marked(self.test_tlo, ["type"])) self.assertTrue(api.is_marked(self.test_tlo, ["revision"]))
def test_is_marked_mix_selector(self): """Test valid selector, one marked and one not marked returns True.""" self.assertTrue(api.is_marked(self.test_tlo, ["description", "revision"])) self.assertTrue(api.is_marked(self.test_tlo, ["description"]))
def test_is_marked_smoke(self): """Smoke test is_marked call does not fail.""" self.assertTrue(api.is_marked(self.test_tlo, ["description"])) self.assertFalse(api.is_marked(self.test_tlo, ["title"]))