Beispiel #1
0
    def test_policy_validate_pass(self):
        self._setup_fakes()

        expected_resp = {
            'created_at': None,
            'domain': '',
            'id': None,
            'data': {},
            'name': 'validated_policy',
            'project': 'policy_test_project',
            'type': 'TestPolicy-1.0',
            'updated_at': None,
            'user': '******',
            'spec': {
                'type': 'TestPolicy',
                'version': '1.0',
                'properties': {
                    'KEY2': 6
                }
            }
        }

        body = orpo.PolicyValidateRequestBody(spec=self.spec)

        resp = self.svc.policy_validate(self.ctx, body.obj_to_primitive())
        self.assertEqual(expected_resp, resp)
Beispiel #2
0
    def test_validate_request(self):
        spec = copy.deepcopy(self.spec)
        body = policies.PolicyValidateRequestBody(spec=spec)
        policy = policies.PolicyValidateRequest(policy=body)

        self.assertIsInstance(policy.policy,
                              policies.PolicyValidateRequestBody)
Beispiel #3
0
    def test_policy_validate_failed(self):
        self._setup_fakes()
        mock_validate = self.patchobject(fakes.TestPolicy, 'validate')
        mock_validate.side_effect = exc.InvalidSpec(message='BOOM')

        body = orpo.PolicyValidateRequestBody(spec=self.spec)

        ex = self.assertRaises(rpc.ExpectedException, self.svc.policy_validate,
                               self.ctx, body.obj_to_primitive())
        self.assertEqual(exc.InvalidSpec, ex.exc_info[0])
        self.assertEqual('BOOM', str(ex.exc_info[1]))
Beispiel #4
0
    def test_request_body_to_primitive(self):
        spec = copy.deepcopy(self.spec)

        sot = policies.PolicyValidateRequestBody(spec=spec)
        res = sot.obj_to_primitive()

        self.assertIn('spec', res['senlin_object.changes'])
        self.assertEqual('PolicyValidateRequestBody',
                         res['senlin_object.name'])
        self.assertEqual('senlin', res['senlin_object.namespace'])
        self.assertEqual('1.0', res['senlin_object.version'])

        pd = res['senlin_object.data']['spec']
        data = jsonutils.loads(pd)
        self.assertEqual('senlin.policy.scaling', data['type'])
        self.assertEqual('1.0', data['version'])
Beispiel #5
0
    def test_validate_request_body(self):
        spec = copy.deepcopy(self.spec)
        body = policies.PolicyValidateRequestBody(spec=spec)

        self.assertEqual(spec['type'], body.spec['type'])
        self.assertEqual(spec['version'], body.spec['version'])