def test_avrule_to_access_vectors(self): rule = refpolicy.AVRule() rule.src_types.add("foo") rule.src_types.add("baz") rule.tgt_types.add("bar") rule.tgt_types.add("what") rule.obj_classes.add("file") rule.obj_classes.add("dir") rule.perms.add("read") rule.perms.add("write") avs = access.avrule_to_access_vectors(rule) self.assertEqual(len(avs), 8) comps = [("foo", "what", "dir"), ("foo", "what", "file"), ("foo", "bar", "dir"), ("foo", "bar", "file"), ("baz", "what", "dir"), ("baz", "what", "file"), ("baz", "bar", "dir"), ("baz", "bar", "file")] status = [False] * 8 for av in access.avrule_to_access_vectors(rule): self.assertEqual(av.perms, refpolicy.IdSet(["read", "write"])) for i in range(len(comps)): if comps[i][0] == av.src_type and \ comps[i][1] == av.tgt_type and \ comps[i][2] == av.obj_class: status[i] = True for s in status: self.assertEqual(s, True)
def setUp(self): rule = refpolicy.AVRule() rule.src_types.add("foo") rule.src_types.add("baz") rule.tgt_types.add("bar") rule.tgt_types.add("what") rule.obj_classes.add("file") rule.obj_classes.add("dir") rule.perms.add("read") rule.perms.add("write") s = access.AccessVectorSet() avs = access.avrule_to_access_vectors(rule) for av in avs: s.add_av(av) self.s = s