def test_delete_role_parent_hierarchy_delete_leaf(self): id1, parent_id1 = 1, 11 id2, id3, id4 = 2, 3, 4 name1, name2, name3, name4 = 'name1', 'name2', 'name3', 'name4' rbac = RBAC() rbac.create_role(id1, name1, parent_id1) rbac.create_role(id2, name2, id1) rbac.create_role(id3, name3, id1) rbac.create_role(id4, name4, id2) rbac.delete_role(id4, name4) self.assertIn(id1, rbac.role_id_to_name) self.assertIn(id2, rbac.role_id_to_name) self.assertIn(id3, rbac.role_id_to_name) self.assertNotIn(id4, rbac.role_id_to_name) self.assertIn(name1, rbac.role_name_to_id) self.assertIn(name2, rbac.role_name_to_id) self.assertIn(name3, rbac.role_name_to_id) self.assertNotIn(name4, rbac.role_name_to_id) self.assertIn(id1, rbac.registry._roles) self.assertIn(id2, rbac.registry._roles) self.assertIn(id3, rbac.registry._roles) self.assertNotIn(id4, rbac.registry._roles)
def test_delete_role_parent_not_given(self): id, name = rand_int(), rand_string() rbac = RBAC() # Create and confirm it was added rbac.create_role(id, name, None) self.assertEqual(rbac.role_id_to_name[id], name) self.assertEqual(rbac.role_name_to_id[name], id) self.assertIn(id, rbac.registry._roles) self.assertEquals(rbac.registry._roles[id], set()) # Delete and confirm the action rbac.delete_role(id, name) self.assertNotIn(id, rbac.role_id_to_name) self.assertNotIn(name, rbac.role_name_to_id) self.assertNotIn(id, rbac.registry._roles)