'created_at': '1', 'updated_at': '1' } WF_DEF = """ version: '2.0' flow: tasks: task1: action: nova.servers_get server="1" """ WF_WITH_DEF_DICT = WORKFLOW_DICT.copy() WF_WITH_DEF_DICT.update({'definition': WF_DEF}) WORKFLOW = workflows.Workflow(mock, WORKFLOW_DICT) WORKFLOW_WITH_DEF = workflows.Workflow(mock, WF_WITH_DEF_DICT) class TestCLIWorkflowsV2(base.BaseCommandTest): @mock.patch('argparse.open', create=True) def test_create(self, mock_open): self.client.workflows.create.return_value = [WORKFLOW] result = self.call(workflow_cmd.Create, app_args=['1.txt']) self.assertEqual( [('1-2-3-4', 'a', '', '12345', 'a, b', 'param', 'private', '1', '1')], result[1] )
ACTION_CONTEXT = {'user': '******'} ACTION_PARAMS = {'friend': 'Rocky'} NON_EMPTY_RESULT = 'non-empty' # Non-workbook with a single workflow WF1_META_FILE_NAME = TEST_FIXTURES['workflows'][0] WF1_META_FILE_PATH = TEST_PACK_PATH + '/actions/' + WF1_META_FILE_NAME WF1_META_CONTENT = loader.load_meta_file(WF1_META_FILE_PATH) WF1_NAME = WF1_META_CONTENT['pack'] + '.' + WF1_META_CONTENT['name'] WF1_ENTRY_POINT = TEST_PACK_PATH + '/actions/' + WF1_META_CONTENT['entry_point'] WF1_ENTRY_POINT_X = WF1_ENTRY_POINT.replace(WF1_META_FILE_NAME, 'xformed_' + WF1_META_FILE_NAME) WF1_SPEC = yaml.safe_load( MistralRunner.get_workflow_definition(WF1_ENTRY_POINT_X)) WF1_YAML = yaml.safe_dump(WF1_SPEC, default_flow_style=False) WF1 = workflows.Workflow(None, {'name': WF1_NAME, 'definition': WF1_YAML}) WF1_OLD = workflows.Workflow(None, {'name': WF1_NAME, 'definition': ''}) WF1_EXEC = copy.deepcopy(MISTRAL_EXECUTION) WF1_EXEC['workflow_name'] = WF1_NAME # Token for auth test cases TOKEN_API = TokenAPI(user=ACTION_CONTEXT['user'], token=uuid.uuid4().hex, expiry=isotime.format(date_utils.get_datetime_utc_now(), offset=False)) TOKEN_DB = TokenAPI.to_model(TOKEN_API) @mock.patch.object(CUDPublisher, 'publish_update', mock.MagicMock(return_value=None)) @mock.patch.object(
def data(TEST): # MistralActions TEST.mistralclient_actions = test_data_utils.TestDataContainer() action_1 = actions.Action( actions.ActionManager(None), {'name': 'a', 'is_system': True, 'input': 'param1', 'description': 'my cool action', 'tags': ['test'], 'created_at': '1', 'updated_at': '1' } ) TEST.mistralclient_actions.add(action_1) # MistralExecutions TEST.mistralclient_executions = test_data_utils.TestDataContainer() execution_1 = executions.Execution( executions.ExecutionManager(None), {'id': '123', 'workflow_name': 'my_wf', 'description': '', 'state': 'RUNNING', 'input': { 'person': { 'first_name': 'John', 'last_name': 'Doe' } }} ) TEST.mistralclient_executions.add(execution_1) # Tasks TEST.mistralclient_tasks = test_data_utils.TestDataContainer() task_1 = tasks.Task( tasks.TaskManager(None), {'id': '1', 'workflow_execution_id': '123', 'name': 'my_task', 'workflow_name': 'my_wf', 'state': 'RUNNING', 'type': 'ACTION', 'tags': ['deployment', 'demo'], 'result': {'some': 'result'}}) TEST.mistralclient_tasks.add(task_1) # Workbooks TEST.mistralclient_workbooks = test_data_utils.TestDataContainer() workbook_1 = workbooks.Workbook( workbooks.WorkbookManager(None), {'name': 'a', 'tags': ['a', 'b'], 'created_at': '1', 'updated_at': '1', 'definition': WB_DEF} ) TEST.mistralclient_workbooks.add(workbook_1) # Workflows TEST.mistralclient_workflows = test_data_utils.TestDataContainer() workflow_1 = workflows.Workflow( workflows.WorkflowManager(None), {'name': 'a', 'tags': ['a', 'b'], 'input': 'param', 'created_at': '1', 'updated_at': '1', 'definition': WF_DEF} ) TEST.mistralclient_workflows.add(workflow_1) # MistralActionsExecutions TEST.mistralclient_action_executions = test_data_utils.TestDataContainer() action_executions_1 = action_executions.ActionExecution( action_executions.ActionExecutionManager(None), {'id': '1', 'name': 'a', 'tags': ['a', 'b'], 'workflow_name': 'my work flow', 'task_execution_id': '1', 'task_name': 'b', 'description': '', 'created_at': '1', 'updated_at': '1', 'accepted': True, 'state': 'RUNNING' } ) TEST.mistralclient_action_executions.add(action_executions_1) # MistralCronTriggers TEST.mistralclient_cron_triggers = test_data_utils.TestDataContainer() cron_triggers_1 = cron_triggers.CronTrigger( cron_triggers.CronTriggerManager(None), {'id': '1', 'name': 'a', 'workflow_name': 'my work flow', 'pattern': '', 'next_execution_time': '', 'remaining_executions': '', 'first_execution_time': '', 'created_at': '1', 'updated_at': '1' }) TEST.mistralclient_cron_triggers.add(cron_triggers_1)