예제 #1
0
    def test__is_attribute_explicitly_set(self):
        action = 'create'
        attr = 'attr'

        target = {attr: 'valueA', 'tgt-tenant': 'tenantA'}
        resource = {
            attr: {
                'allow_post': True,
                'allow_put': True,
                'is_visible': True,
                'enforce_policy': True,
                'validate': {
                    'type:string': 10
                }
            }
        }

        result = policy._is_attribute_explicitly_set(attr, resource, target,
                                                     action)
        self.assertTrue(result)

        target = {'tgt-tenant': 'tenantA'}
        result = policy._is_attribute_explicitly_set(attr, resource, target,
                                                     action)
        self.assertFalse(result)

        resource = {
            attr: {
                'allow_post': True,
                'allow_put': True,
                'is_visible': True,
                'default': 'DfltValue',
                'enforce_policy': True,
                'validate': {
                    'type:string': 10
                }
            }
        }
        result = policy._is_attribute_explicitly_set(attr, resource, target,
                                                     action)
        self.assertFalse(result)

        target = {attr: 'DfltValue', 'tgt-tenant': 'tenantA'}
        result = policy._is_attribute_explicitly_set(attr, resource, target,
                                                     action)
        self.assertFalse(result)

        target = {attr: constants.ATTR_NOT_SPECIFIED, 'tgt-tenant': 'tenantA'}
        result = policy._is_attribute_explicitly_set(attr, resource, target,
                                                     action)
        self.assertFalse(result)
예제 #2
0
    def test__is_attribute_explicitly_set(self):
        action = 'create'
        attr = 'attr'

        target = {attr: 'valueA', 'tgt-tenant': 'tenantA'}
        resource = {attr: {'allow_post': True,
                           'allow_put': True,
                           'is_visible': True,
                           'enforce_policy': True,
                           'validate': {'type:string': 10}}}

        result = policy._is_attribute_explicitly_set(
            attr, resource, target, action)
        self.assertTrue(result)

        target = {'tgt-tenant': 'tenantA'}
        result = policy._is_attribute_explicitly_set(
            attr, resource, target, action)
        self.assertFalse(result)

        resource = {attr: {'allow_post': True,
                           'allow_put': True,
                           'is_visible': True,
                           'default': 'DfltValue',
                           'enforce_policy': True,
                           'validate': {'type:string': 10}}}
        result = policy._is_attribute_explicitly_set(
            attr, resource, target, action)
        self.assertFalse(result)

        target = {attr: 'DfltValue', 'tgt-tenant': 'tenantA'}
        result = policy._is_attribute_explicitly_set(
            attr, resource, target, action)
        self.assertFalse(result)

        target = {attr: constants.ATTR_NOT_SPECIFIED, 'tgt-tenant': 'tenantA'}
        result = policy._is_attribute_explicitly_set(
            attr, resource, target, action)
        self.assertFalse(result)