def test_action_create_request_to_primitive(self): body = actions.ActionCreateRequestBody(**self.body) request = {'action': body} sot = actions.ActionCreateRequest(**request) self.assertIsInstance(sot.action, actions.ActionCreateRequestBody) self.assertEqual('test-action', sot.action.name) self.assertEqual('test-cluster', sot.action.cluster_id) res = sot.obj_to_primitive() self.assertEqual(['action'], res['senlin_object.changes']) self.assertEqual('ActionCreateRequest', res['senlin_object.name']) self.assertEqual('senlin', res['senlin_object.namespace']) self.assertEqual('1.0', res['senlin_object.version']) data = res['senlin_object.data']['action'] self.assertIn('cluster_id', data['senlin_object.changes']) self.assertIn('name', data['senlin_object.changes']) self.assertEqual('ActionCreateRequestBody', data['senlin_object.name']) self.assertEqual('senlin', data['senlin_object.namespace']) self.assertEqual('1.0', data['senlin_object.version']) self.assertEqual( { 'name': u'test-action', 'cluster_id': u'test-cluster', 'action': u'CLUSTER_CREATE', }, data['senlin_object.data'])
def test_action_create_request_body_full(self): body = copy.deepcopy(self.body) body['inputs'] = {'foo': 'bar'} sot = actions.ActionCreateRequestBody(**body) self.assertEqual('test-action', sot.name) self.assertEqual('test-cluster', sot.cluster_id) self.assertEqual('CLUSTER_CREATE', sot.action) self.assertEqual({'foo': 'bar'}, sot.inputs)
def test_action_create_request_body(self): sot = actions.ActionCreateRequestBody(**self.body) self.assertEqual('test-action', sot.name) self.assertEqual('test-cluster', sot.cluster_id) self.assertEqual('CLUSTER_CREATE', sot.action) sot.obj_set_defaults() self.assertEqual({}, sot.inputs)
def test_action_create_cluster_not_found(self, mock_find): mock_find.side_effect = exc.ResourceNotFound(type='cluster', id='C1') req = orao.ActionCreateRequestBody(name='NODE1', cluster_id='C1') ex = self.assertRaises(rpc.ExpectedException, self.eng.action_create, self.ctx, req.obj_to_primitive()) self.assertEqual(exc.BadRequest, ex.exc_info[0]) self.assertEqual("Cannot find the given cluster: C1.", six.text_type(ex.exc_info[1])) mock_find.assert_called_once_with(self.ctx, 'C1')
def test_action_create_request_body_to_primitive(self): sot = actions.ActionCreateRequestBody(**self.body) res = sot.obj_to_primitive() self.assertEqual( { 'name': u'test-action', 'cluster_id': u'test-cluster', 'action': u'CLUSTER_CREATE', }, res['senlin_object.data']) self.assertEqual('ActionCreateRequestBody', res['senlin_object.name']) self.assertEqual('senlin', res['senlin_object.namespace']) self.assertEqual('1.0', res['senlin_object.version']) self.assertIn('name', res['senlin_object.changes']) self.assertIn('cluster_id', res['senlin_object.changes'])
def test_action_create(self, mock_find, mock_action): mock_find.return_value = mock.Mock(id='FAKE_CLUSTER') mock_action.return_value = 'ACTION_ID' req = orao.ActionCreateRequestBody(name='a1', cluster_id='C1', action='CLUSTER_CREATE') result = self.eng.action_create(self.ctx, req.obj_to_primitive()) self.assertEqual({'action': 'ACTION_ID'}, result) mock_find.assert_called_once_with(self.ctx, 'C1') mock_action.assert_called_once_with( self.ctx, 'FAKE_CLUSTER', 'CLUSTER_CREATE', name='a1', cause=consts.CAUSE_RPC, status=ab.Action.READY, inputs={})