def test_missing_credentials_dictionary_lookup(self): credentials = {'a': 'APPLES', 'o': {'t': 'ORANGES'}} # First a valid check - rest of case is expecting failures # Should prove the basic credentials structure before we test # for failure cases. check = policy.GenericCheck("o.t", 'ORANGES') self.assertEqual(check({}, credentials, self.enforcer), True) # Case where final key is missing check = policy.GenericCheck("o.v", 'ORANGES') self.assertEqual(check({}, credentials, self.enforcer), False) # Attempt to access key under a missing dictionary check = policy.GenericCheck("q.v", 'APPLES') self.assertEqual(check({}, credentials, self.enforcer), False)
def test_constant_literal_accept(self): check = policy.GenericCheck("True", '%(enabled)s') self.assertEqual(check(dict(enabled=True), {}, self.enforcer), True)
def test_deep_credentials_dictionary_lookup(self): check = policy.GenericCheck("a.b.c.d", 'APPLES') credentials = {'a': {'b': {'c': {'d': 'APPLES'}}}} self.assertEqual(check({}, credentials, self.enforcer), True)
def test_constant_string_accept(self): check = policy.GenericCheck("'spam'", '%(name)s') self.assertEqual(check(dict(name='spam'), {}, self.enforcer), True)
def test_constant_literal_mismatch(self): check = policy.GenericCheck("True", '%(enabled)s') self.assertEqual(check(dict(enabled=False), {}, self.enforcer), False)
def test_constant_string_mismatch(self): check = policy.GenericCheck("'spam'", '%(name)s') self.assertEqual(check(dict(name='ham'), {}, self.enforcer), False)
def test_no_key_match_in_target(self): check = policy.GenericCheck('name', '%(name)s') self.assertEqual( check(dict(name1='spam'), dict(name='spam'), self.enforcer), False)
def test_accept(self): check = policy.GenericCheck('name', '%(name)s') self.assertEqual( check(dict(name='spam'), dict(name='spam'), self.enforcer), True)
def test_cred_mismatch(self): check = policy.GenericCheck('name', '%(name)s') self.assertEqual( check(dict(name='spam'), dict(name='ham'), self.enforcer), False)
def test_no_cred(self): check = policy.GenericCheck('name', '%(name)s') self.assertEqual(check(dict(name='spam'), {}, self.enforcer), False)