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)
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)
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]))
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'])
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'])