def test_run_with_immediate_timeout(self): mock_execution = mock.MagicMock( id='123', state='ERROR', output="{'test_attr': 'test_val'}") self.mock_client.executions.create.return_value = mock_execution run_name = rand_name('test') timeout = 0 mc = workflowclient.MistralClient(self._this, 'regionOne') self.assertEqual(mock_execution.id, mc.run(run_name, timeout))
def test_run_except_timeout_error(self): mock_execution = mock.MagicMock( id='123', state='TEST_STATE', output="{'test_attr': 'test_val'}") self.mock_client.executions.create.return_value = mock_execution self.mock_client.executions.get.return_value = mock_execution run_name = rand_name('test') timeout = 1 mc = workflowclient.MistralClient(self._this, 'regionOne') expected_error_msg = 'Mistral run timed out. Execution id: {0}.'\ .format(mock_execution.id) with self.assertRaisesRegex(workflowclient.MistralError, expected_error_msg): mc.run(run_name, timeout)
def test_run_with_execution_error_state(self): mock_execution = mock.MagicMock( id='123', state='ERROR', output="{'test_attr': 'test_val'}") self.mock_client.executions.create.return_value = mock_execution self.mock_client.executions.get.return_value = mock_execution run_name = rand_name('test') timeout = 1 mc = workflowclient.MistralClient(self._this, 'regionOne') expected_error_msg = 'Mistral execution completed with ERROR.'\ ' Execution id: {0}. Output: {1}'\ .format(mock_execution.id, mock_execution.output) with self.assertRaisesRegex(workflowclient.MistralError, expected_error_msg): mc.run(run_name, timeout)
def test_run_with_execution_success_state(self): test_output = '{"openstack": "foo", "__execution": "bar", "task":'\ ' "baz"}' mock_execution = mock.MagicMock( id='123', state='SUCCESS', output=test_output) self.mock_client.executions.create.return_value = mock_execution self.mock_client.executions.get.return_value = mock_execution run_name = rand_name('test') timeout = 1 mc = workflowclient.MistralClient(self._this, 'regionOne') output = mc.run(run_name, timeout) for prop in ['openstack', '__execution', 'task']: self.assertFalse(hasattr(output, prop)) self.assertEqual({}, output)
def test_client_property(self, _): self._unpatch_client() test_mistral_settings = { 'url': rand_name('test_mistral_url'), 'project_id': rand_name('test_project_id'), 'endpoint_type': rand_name('test_endpoint_type'), 'auth_token': rand_name('test_auth_token'), 'user_id': rand_name('test_user_id'), 'insecure': rand_name('test_insecure'), 'cacert': rand_name('test_ca_cert') } with mock.patch('murano.engine.system.workflowclient.CONF')\ as mock_conf: mock_conf.mistral = mock.MagicMock(**test_mistral_settings) region_name = rand_name('test_region_name') mc = workflowclient.MistralClient(self._this, region_name) mistral_client = mc._client self.assertIsNotNone(mistral_client)
def test_upload(self): mc = workflowclient.MistralClient(self._this, 'regionOne') definition = rand_name('test') self.assertIsNone(mc.upload(definition)) self.assertTrue(workflowclient.MistralClient. _client.workflows.create.called)