예제 #1
0
    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)
예제 #2
0
    def test_constant_literal_accept(self):
        check = policy.GenericCheck("True", '%(enabled)s')

        self.assertEqual(check(dict(enabled=True), {}, self.enforcer), True)
예제 #3
0
    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)
예제 #4
0
    def test_constant_string_accept(self):
        check = policy.GenericCheck("'spam'", '%(name)s')

        self.assertEqual(check(dict(name='spam'), {}, self.enforcer), True)
예제 #5
0
    def test_constant_literal_mismatch(self):
        check = policy.GenericCheck("True", '%(enabled)s')

        self.assertEqual(check(dict(enabled=False), {}, self.enforcer), False)
예제 #6
0
    def test_constant_string_mismatch(self):
        check = policy.GenericCheck("'spam'", '%(name)s')

        self.assertEqual(check(dict(name='ham'), {}, self.enforcer), False)
예제 #7
0
    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)
예제 #8
0
    def test_accept(self):
        check = policy.GenericCheck('name', '%(name)s')

        self.assertEqual(
            check(dict(name='spam'), dict(name='spam'), self.enforcer), True)
예제 #9
0
    def test_cred_mismatch(self):
        check = policy.GenericCheck('name', '%(name)s')

        self.assertEqual(
            check(dict(name='spam'), dict(name='ham'), self.enforcer), False)
예제 #10
0
    def test_no_cred(self):
        check = policy.GenericCheck('name', '%(name)s')

        self.assertEqual(check(dict(name='spam'), {}, self.enforcer), False)