def test_str_true(self): exemplar = """{ "admin_or_owner": "" }""" rules = policy.Rules(dict(admin_or_owner=policy.TrueCheck(), )) self.assertEqual(str(rules), exemplar)
def test_str(self): exemplar = """{ "admin_or_owner": "role:admin or project_id:%(project_id)s" }""" rules = policy.Rules( dict(admin_or_owner="role:admin or project_id:%(project_id)s", )) self.assertEqual(str(rules), exemplar)
def test_retrieval(self): rules = policy.Rules(dict(a=1, b=2, c=3), 'b') self.assertEqual(rules['a'], 1) self.assertEqual(rules['b'], 2) self.assertEqual(rules['c'], 3)
def test_with_default(self): rules = policy.Rules(dict(a=1, b=2, c=3), 'b') self.assertEqual(rules['d'], 2)
def test_missing_default(self): rules = policy.Rules(dict(a=1, c=3), 'b') self.assertRaises(KeyError, lambda: rules['d'])
def test_no_default(self): rules = policy.Rules(dict(a=1, b=2, c=3)) self.assertRaises(KeyError, lambda: rules['d'])
def test_init(self): rules = policy.Rules(dict(a=1, b=2, c=3), 'a') self.assertEqual(rules, dict(a=1, b=2, c=3)) self.assertEqual(rules.default_rule, 'a')
def test_init_basic(self): rules = policy.Rules() self.assertEqual(rules, {}) self.assertEqual(rules.default_rule, None)