Ejemplo n.º 1
0
    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))
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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)
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
 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)