123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793 |
- # Licensed to the Apache Software Foundation (ASF) under one
- # or more contributor license agreements. See the NOTICE file
- # distributed with this work for additional information
- # regarding copyright ownership. The ASF licenses this file
- # to you under the Apache License, Version 2.0 (the
- # "License"); you may not use this file except in compliance
- # with the License. You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing,
- # software distributed under the License is distributed on an
- # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- # KIND, either express or implied. See the License for the
- # specific language governing permissions and limitations
- # under the License.
- """Test Task dependent."""
- import itertools
- from typing import Dict, List, Optional, Tuple, Union
- from unittest.mock import patch
- import pytest
- from pydolphinscheduler.exceptions import PyDSParamException
- from pydolphinscheduler.tasks.dependent import (
- And,
- Dependent,
- DependentDate,
- DependentItem,
- DependentOperator,
- Or,
- )
- TEST_PROJECT = "test-project"
- TEST_PROCESS_DEFINITION = "test-process-definition"
- TEST_TASK = "test-task"
- TEST_PROJECT_CODE, TEST_DEFINITION_CODE, TEST_TASK_CODE = 12345, 123456, 1234567
- TEST_OPERATOR_LIST = ("AND", "OR")
- @pytest.mark.parametrize(
- "dep_date, dep_cycle",
- [
- # hour
- (DependentDate.CURRENT_HOUR, "hour"),
- (DependentDate.LAST_ONE_HOUR, "hour"),
- (DependentDate.LAST_TWO_HOURS, "hour"),
- (DependentDate.LAST_THREE_HOURS, "hour"),
- (DependentDate.LAST_TWENTY_FOUR_HOURS, "hour"),
- # day
- (DependentDate.TODAY, "day"),
- (DependentDate.LAST_ONE_DAYS, "day"),
- (DependentDate.LAST_TWO_DAYS, "day"),
- (DependentDate.LAST_THREE_DAYS, "day"),
- (DependentDate.LAST_SEVEN_DAYS, "day"),
- # week
- (DependentDate.THIS_WEEK, "week"),
- (DependentDate.LAST_WEEK, "week"),
- (DependentDate.LAST_MONDAY, "week"),
- (DependentDate.LAST_TUESDAY, "week"),
- (DependentDate.LAST_WEDNESDAY, "week"),
- (DependentDate.LAST_THURSDAY, "week"),
- (DependentDate.LAST_FRIDAY, "week"),
- (DependentDate.LAST_SATURDAY, "week"),
- (DependentDate.LAST_SUNDAY, "week"),
- # month
- (DependentDate.THIS_MONTH, "month"),
- (DependentDate.LAST_MONTH, "month"),
- (DependentDate.LAST_MONTH_BEGIN, "month"),
- (DependentDate.LAST_MONTH_END, "month"),
- ],
- )
- @patch(
- "pydolphinscheduler.tasks.dependent.DependentItem.get_code_from_gateway",
- return_value={
- "projectCode": TEST_PROJECT_CODE,
- "processDefinitionCode": TEST_DEFINITION_CODE,
- "taskDefinitionCode": TEST_TASK_CODE,
- },
- )
- def test_dependent_item_get_define(mock_task_info, dep_date, dep_cycle):
- """Test dependent.DependentItem get define.
- Here we have test some cases as below.
- ```py
- {
- "projectCode": "project code",
- "definitionCode": "definition code",
- "depTaskCode": "dep task code",
- "cycle": "day",
- "dateValue": "today"
- }
- ```
- """
- attr = {
- "project_name": TEST_PROJECT,
- "process_definition_name": TEST_PROCESS_DEFINITION,
- "dependent_task_name": TEST_TASK,
- "dependent_date": dep_date,
- }
- expect = {
- "projectCode": TEST_PROJECT_CODE,
- "definitionCode": TEST_DEFINITION_CODE,
- "depTaskCode": TEST_TASK_CODE,
- "cycle": dep_cycle,
- "dateValue": dep_date,
- }
- task = DependentItem(**attr)
- assert expect == task.get_define()
- def test_dependent_item_date_error():
- """Test error when pass None to dependent_date."""
- with pytest.raises(
- PyDSParamException, match="Parameter dependent_date must provider.*?"
- ):
- DependentItem(
- project_name=TEST_PROJECT,
- process_definition_name=TEST_PROCESS_DEFINITION,
- dependent_date=None,
- )
- @pytest.mark.parametrize(
- "task_name, result",
- [
- ({"dependent_task_name": TEST_TASK}, TEST_TASK),
- ({}, None),
- ],
- )
- def test_dependent_item_code_parameter(task_name: dict, result: Optional[str]):
- """Test dependent item property code_parameter."""
- dependent_item = DependentItem(
- project_name=TEST_PROJECT,
- process_definition_name=TEST_PROCESS_DEFINITION,
- **task_name,
- )
- expect = (TEST_PROJECT, TEST_PROCESS_DEFINITION, result)
- assert dependent_item.code_parameter == expect
- @pytest.mark.parametrize(
- "arg_list",
- [
- [1, 2],
- [
- DependentItem(
- project_name=TEST_PROJECT,
- process_definition_name=TEST_PROCESS_DEFINITION,
- ),
- 1,
- ],
- [
- And(
- DependentItem(
- project_name=TEST_PROJECT,
- process_definition_name=TEST_PROCESS_DEFINITION,
- )
- ),
- 1,
- ],
- [
- DependentItem(
- project_name=TEST_PROJECT,
- process_definition_name=TEST_PROCESS_DEFINITION,
- ),
- And(
- DependentItem(
- project_name=TEST_PROJECT,
- process_definition_name=TEST_PROCESS_DEFINITION,
- )
- ),
- ],
- ],
- )
- @patch(
- "pydolphinscheduler.tasks.dependent.DependentItem.get_code_from_gateway",
- return_value={
- "projectCode": TEST_PROJECT_CODE,
- "processDefinitionCode": TEST_DEFINITION_CODE,
- "taskDefinitionCode": TEST_TASK_CODE,
- },
- )
- def test_dependent_operator_set_define_error(mock_code, arg_list):
- """Test dependent operator function :func:`set_define` with not support type."""
- dep_op = DependentOperator(*arg_list)
- with pytest.raises(PyDSParamException, match="Dependent .*? operator.*?"):
- dep_op.set_define_attr()
- @pytest.mark.parametrize(
- # Test dependent operator, Test dependent item parameters, expect operator define
- "operators, kwargs, expect",
- [
- # Test dependent operator (And | Or) with single dependent item
- (
- (And, Or),
- (
- {
- "project_name": TEST_PROJECT,
- "process_definition_name": TEST_PROCESS_DEFINITION,
- "dependent_task_name": TEST_TASK,
- "dependent_date": DependentDate.LAST_MONTH_END,
- },
- ),
- [
- {
- "relation": op,
- "dependItemList": [
- {
- "projectCode": TEST_PROJECT_CODE,
- "definitionCode": TEST_DEFINITION_CODE,
- "depTaskCode": TEST_TASK_CODE,
- "cycle": "month",
- "dateValue": DependentDate.LAST_MONTH_END,
- },
- ],
- }
- for op in TEST_OPERATOR_LIST
- ],
- ),
- # Test dependent operator (And | Or) with two dependent item
- (
- (And, Or),
- (
- {
- "project_name": TEST_PROJECT,
- "process_definition_name": TEST_PROCESS_DEFINITION,
- "dependent_task_name": TEST_TASK,
- "dependent_date": DependentDate.LAST_MONTH_END,
- },
- {
- "project_name": TEST_PROJECT,
- "process_definition_name": TEST_PROCESS_DEFINITION,
- "dependent_task_name": TEST_TASK,
- "dependent_date": DependentDate.LAST_WEEK,
- },
- ),
- [
- {
- "relation": op,
- "dependItemList": [
- {
- "projectCode": TEST_PROJECT_CODE,
- "definitionCode": TEST_DEFINITION_CODE,
- "depTaskCode": TEST_TASK_CODE,
- "cycle": "month",
- "dateValue": DependentDate.LAST_MONTH_END,
- },
- {
- "projectCode": TEST_PROJECT_CODE,
- "definitionCode": TEST_DEFINITION_CODE,
- "depTaskCode": TEST_TASK_CODE,
- "cycle": "week",
- "dateValue": DependentDate.LAST_WEEK,
- },
- ],
- }
- for op in TEST_OPERATOR_LIST
- ],
- ),
- # Test dependent operator (And | Or) with multiply dependent item
- (
- (And, Or),
- (
- {
- "project_name": TEST_PROJECT,
- "process_definition_name": TEST_PROCESS_DEFINITION,
- "dependent_task_name": TEST_TASK,
- "dependent_date": DependentDate.LAST_MONTH_END,
- },
- {
- "project_name": TEST_PROJECT,
- "process_definition_name": TEST_PROCESS_DEFINITION,
- "dependent_task_name": TEST_TASK,
- "dependent_date": DependentDate.LAST_WEEK,
- },
- {
- "project_name": TEST_PROJECT,
- "process_definition_name": TEST_PROCESS_DEFINITION,
- "dependent_task_name": TEST_TASK,
- "dependent_date": DependentDate.LAST_ONE_DAYS,
- },
- ),
- [
- {
- "relation": op,
- "dependItemList": [
- {
- "projectCode": TEST_PROJECT_CODE,
- "definitionCode": TEST_DEFINITION_CODE,
- "depTaskCode": TEST_TASK_CODE,
- "cycle": "month",
- "dateValue": DependentDate.LAST_MONTH_END,
- },
- {
- "projectCode": TEST_PROJECT_CODE,
- "definitionCode": TEST_DEFINITION_CODE,
- "depTaskCode": TEST_TASK_CODE,
- "cycle": "week",
- "dateValue": DependentDate.LAST_WEEK,
- },
- {
- "projectCode": TEST_PROJECT_CODE,
- "definitionCode": TEST_DEFINITION_CODE,
- "depTaskCode": TEST_TASK_CODE,
- "cycle": "day",
- "dateValue": DependentDate.LAST_ONE_DAYS,
- },
- ],
- }
- for op in TEST_OPERATOR_LIST
- ],
- ),
- ],
- )
- @patch(
- "pydolphinscheduler.tasks.dependent.DependentItem.get_code_from_gateway",
- return_value={
- "projectCode": TEST_PROJECT_CODE,
- "processDefinitionCode": TEST_DEFINITION_CODE,
- "taskDefinitionCode": TEST_TASK_CODE,
- },
- )
- def test_operator_dependent_item(
- mock_code_info,
- operators: Tuple[DependentOperator],
- kwargs: Tuple[dict],
- expect: List[Dict],
- ):
- """Test DependentOperator(DependentItem) function get_define.
- Here we have test some cases as below, including single dependentItem and multiply dependentItem.
- ```py
- {
- "relation": "AND",
- "dependItemList": [
- {
- "projectCode": "project code",
- "definitionCode": "definition code",
- "depTaskCode": "dep task code",
- "cycle": "day",
- "dateValue": "today"
- },
- ...
- ]
- }
- ```
- """
- for idx, operator in enumerate(operators):
- # Use variable to keep one or more dependent item to test dependent operator behavior
- dependent_item_list = []
- for kwarg in kwargs:
- dependent_item = DependentItem(**kwarg)
- dependent_item_list.append(dependent_item)
- op = operator(*dependent_item_list)
- assert expect[idx] == op.get_define()
- @pytest.mark.parametrize(
- # Test dependent operator, Test dependent item parameters, expect operator define
- "operators, args, expect",
- [
- # Test dependent operator (And | Or) with single dependent task list
- (
- (And, Or),
- (
- (And, Or),
- (
- {
- "project_name": TEST_PROJECT,
- "process_definition_name": TEST_PROCESS_DEFINITION,
- "dependent_task_name": TEST_TASK,
- "dependent_date": DependentDate.LAST_MONTH_END,
- },
- ),
- ),
- [
- {
- "relation": par_op,
- "dependTaskList": [
- {
- "relation": chr_op,
- "dependItemList": [
- {
- "projectCode": TEST_PROJECT_CODE,
- "definitionCode": TEST_DEFINITION_CODE,
- "depTaskCode": TEST_TASK_CODE,
- "cycle": "month",
- "dateValue": DependentDate.LAST_MONTH_END,
- },
- ],
- }
- ],
- }
- for (par_op, chr_op) in itertools.product(
- TEST_OPERATOR_LIST, TEST_OPERATOR_LIST
- )
- ],
- ),
- # Test dependent operator (And | Or) with two dependent task list
- (
- (And, Or),
- (
- (And, Or),
- (
- {
- "project_name": TEST_PROJECT,
- "process_definition_name": TEST_PROCESS_DEFINITION,
- "dependent_task_name": TEST_TASK,
- "dependent_date": DependentDate.LAST_MONTH_END,
- },
- {
- "project_name": TEST_PROJECT,
- "process_definition_name": TEST_PROCESS_DEFINITION,
- "dependent_task_name": TEST_TASK,
- "dependent_date": DependentDate.LAST_WEEK,
- },
- ),
- ),
- [
- {
- "relation": par_op,
- "dependTaskList": [
- {
- "relation": chr_op,
- "dependItemList": [
- {
- "projectCode": TEST_PROJECT_CODE,
- "definitionCode": TEST_DEFINITION_CODE,
- "depTaskCode": TEST_TASK_CODE,
- "cycle": "month",
- "dateValue": DependentDate.LAST_MONTH_END,
- },
- {
- "projectCode": TEST_PROJECT_CODE,
- "definitionCode": TEST_DEFINITION_CODE,
- "depTaskCode": TEST_TASK_CODE,
- "cycle": "week",
- "dateValue": DependentDate.LAST_WEEK,
- },
- ],
- }
- ],
- }
- for (par_op, chr_op) in itertools.product(
- TEST_OPERATOR_LIST, TEST_OPERATOR_LIST
- )
- ],
- ),
- # Test dependent operator (And | Or) with multiply dependent task list
- (
- (And, Or),
- (
- (And, Or),
- (
- {
- "project_name": TEST_PROJECT,
- "process_definition_name": TEST_PROCESS_DEFINITION,
- "dependent_task_name": TEST_TASK,
- "dependent_date": DependentDate.LAST_MONTH_END,
- },
- {
- "project_name": TEST_PROJECT,
- "process_definition_name": TEST_PROCESS_DEFINITION,
- "dependent_task_name": TEST_TASK,
- "dependent_date": DependentDate.LAST_WEEK,
- },
- {
- "project_name": TEST_PROJECT,
- "process_definition_name": TEST_PROCESS_DEFINITION,
- "dependent_task_name": TEST_TASK,
- "dependent_date": DependentDate.LAST_ONE_DAYS,
- },
- ),
- ),
- [
- {
- "relation": par_op,
- "dependTaskList": [
- {
- "relation": chr_op,
- "dependItemList": [
- {
- "projectCode": TEST_PROJECT_CODE,
- "definitionCode": TEST_DEFINITION_CODE,
- "depTaskCode": TEST_TASK_CODE,
- "cycle": "month",
- "dateValue": DependentDate.LAST_MONTH_END,
- },
- {
- "projectCode": TEST_PROJECT_CODE,
- "definitionCode": TEST_DEFINITION_CODE,
- "depTaskCode": TEST_TASK_CODE,
- "cycle": "week",
- "dateValue": DependentDate.LAST_WEEK,
- },
- {
- "projectCode": TEST_PROJECT_CODE,
- "definitionCode": TEST_DEFINITION_CODE,
- "depTaskCode": TEST_TASK_CODE,
- "cycle": "day",
- "dateValue": DependentDate.LAST_ONE_DAYS,
- },
- ],
- }
- ],
- }
- for (par_op, chr_op) in itertools.product(
- TEST_OPERATOR_LIST, TEST_OPERATOR_LIST
- )
- ],
- ),
- ],
- )
- @patch(
- "pydolphinscheduler.tasks.dependent.DependentItem.get_code_from_gateway",
- return_value={
- "projectCode": TEST_PROJECT_CODE,
- "processDefinitionCode": TEST_DEFINITION_CODE,
- "taskDefinitionCode": TEST_TASK_CODE,
- },
- )
- def test_operator_dependent_task_list_multi_dependent_item(
- mock_code_info,
- operators: Tuple[DependentOperator],
- args: Tuple[Union[Tuple, dict]],
- expect: List[Dict],
- ):
- """Test DependentOperator(DependentOperator(DependentItem)) single operator function get_define.
- Here we have test some cases as below. This test case only test single DependTaskList with one or
- multiply dependItemList.
- ```py
- {
- "relation": "OR",
- "dependTaskList": [
- {
- "relation": "AND",
- "dependItemList": [
- {
- "projectCode": "project code",
- "definitionCode": "definition code",
- "depTaskCode": "dep task code",
- "cycle": "day",
- "dateValue": "today"
- },
- ...
- ]
- },
- ]
- }
- ```
- """
- # variable expect_idx record idx should be use to get specific expect
- expect_idx = 0
- for op_idx, operator in enumerate(operators):
- dependent_operator = args[0]
- dependent_item_kwargs = args[1]
- for dop_idx, dpt_op in enumerate(dependent_operator):
- dependent_item_list = []
- for dpt_kwargs in dependent_item_kwargs:
- dpti = DependentItem(**dpt_kwargs)
- dependent_item_list.append(dpti)
- child_dep_op = dpt_op(*dependent_item_list)
- op = operator(child_dep_op)
- assert expect[expect_idx] == op.get_define()
- expect_idx += 1
- def get_dep_task_list(*operator):
- """Return dependent task list from given operators list."""
- result = []
- for op in operator:
- result.append(
- {
- "relation": op.operator_name(),
- "dependItemList": [
- {
- "projectCode": TEST_PROJECT_CODE,
- "definitionCode": TEST_DEFINITION_CODE,
- "depTaskCode": TEST_TASK_CODE,
- "cycle": "month",
- "dateValue": DependentDate.LAST_MONTH_END,
- },
- ],
- }
- )
- return result
- @pytest.mark.parametrize(
- # Test dependent operator, Test dependent item parameters, expect operator define
- "operators, args, expect",
- [
- # Test dependent operator (And | Or) with two dependent task list
- (
- (And, Or),
- (
- ((And, And), (And, Or), (Or, And), (Or, Or)),
- {
- "project_name": TEST_PROJECT,
- "process_definition_name": TEST_PROCESS_DEFINITION,
- "dependent_task_name": TEST_TASK,
- "dependent_date": DependentDate.LAST_MONTH_END,
- },
- ),
- [
- {
- "relation": parent_op.operator_name(),
- "dependTaskList": get_dep_task_list(*child_ops),
- }
- for parent_op in (And, Or)
- for child_ops in ((And, And), (And, Or), (Or, And), (Or, Or))
- ],
- ),
- # Test dependent operator (And | Or) with multiple dependent task list
- (
- (And, Or),
- (
- ((And, And, And), (And, And, And, And), (And, And, And, And, And)),
- {
- "project_name": TEST_PROJECT,
- "process_definition_name": TEST_PROCESS_DEFINITION,
- "dependent_task_name": TEST_TASK,
- "dependent_date": DependentDate.LAST_MONTH_END,
- },
- ),
- [
- {
- "relation": parent_op.operator_name(),
- "dependTaskList": get_dep_task_list(*child_ops),
- }
- for parent_op in (And, Or)
- for child_ops in (
- (And, And, And),
- (And, And, And, And),
- (And, And, And, And, And),
- )
- ],
- ),
- ],
- )
- @patch(
- "pydolphinscheduler.tasks.dependent.DependentItem.get_code_from_gateway",
- return_value={
- "projectCode": TEST_PROJECT_CODE,
- "processDefinitionCode": TEST_DEFINITION_CODE,
- "taskDefinitionCode": TEST_TASK_CODE,
- },
- )
- def test_operator_dependent_task_list_multi_dependent_list(
- mock_code_info,
- operators: Tuple[DependentOperator],
- args: Tuple[Union[Tuple, dict]],
- expect: List[Dict],
- ):
- """Test DependentOperator(DependentOperator(DependentItem)) multiply operator function get_define.
- Here we have test some cases as below. This test case only test single DependTaskList with one or
- multiply dependTaskList.
- ```py
- {
- "relation": "OR",
- "dependTaskList": [
- {
- "relation": "AND",
- "dependItemList": [
- {
- "projectCode": "project code",
- "definitionCode": "definition code",
- "depTaskCode": "dep task code",
- "cycle": "day",
- "dateValue": "today"
- }
- ]
- },
- ...
- ]
- }
- ```
- """
- # variable expect_idx record idx should be use to get specific expect
- expect_idx = 0
- for op_idx, operator in enumerate(operators):
- dependent_operator = args[0]
- dependent_item_kwargs = args[1]
- for dop_idx, dpt_ops in enumerate(dependent_operator):
- dependent_task_list = [
- dpt_op(DependentItem(**dependent_item_kwargs)) for dpt_op in dpt_ops
- ]
- op = operator(*dependent_task_list)
- assert (
- expect[expect_idx] == op.get_define()
- ), f"Failed with operator syntax {operator}.{dpt_ops}"
- expect_idx += 1
- @patch(
- "pydolphinscheduler.tasks.dependent.DependentItem.get_code_from_gateway",
- return_value={
- "projectCode": TEST_PROJECT_CODE,
- "processDefinitionCode": TEST_DEFINITION_CODE,
- "taskDefinitionCode": TEST_TASK_CODE,
- },
- )
- @patch(
- "pydolphinscheduler.core.task.Task.gen_code_and_version",
- return_value=(123, 1),
- )
- def test_dependent_get_define(mock_code_version, mock_dep_code):
- """Test task dependent function get_define."""
- project_name = "test-dep-project"
- process_definition_name = "test-dep-definition"
- dependent_task_name = "test-dep-task"
- dep_operator = And(
- Or(
- # test dependence with add tasks
- DependentItem(
- project_name=project_name,
- process_definition_name=process_definition_name,
- )
- ),
- And(
- # test dependence with specific task
- DependentItem(
- project_name=project_name,
- process_definition_name=process_definition_name,
- dependent_task_name=dependent_task_name,
- )
- ),
- )
- name = "test_dependent_get_define"
- expect = {
- "code": 123,
- "name": name,
- "version": 1,
- "description": None,
- "delayTime": 0,
- "taskType": "DEPENDENT",
- "taskParams": {
- "resourceList": [],
- "localParams": [],
- "dependence": {
- "relation": "AND",
- "dependTaskList": [
- {
- "relation": "OR",
- "dependItemList": [
- {
- "projectCode": TEST_PROJECT_CODE,
- "definitionCode": TEST_DEFINITION_CODE,
- "depTaskCode": "0",
- "cycle": "day",
- "dateValue": "today",
- }
- ],
- },
- {
- "relation": "AND",
- "dependItemList": [
- {
- "projectCode": TEST_PROJECT_CODE,
- "definitionCode": TEST_DEFINITION_CODE,
- "depTaskCode": TEST_TASK_CODE,
- "cycle": "day",
- "dateValue": "today",
- }
- ],
- },
- ],
- },
- "conditionResult": {"successNode": [""], "failedNode": [""]},
- "waitStartTimeout": {},
- },
- "flag": "YES",
- "taskPriority": "MEDIUM",
- "workerGroup": "default",
- "failRetryTimes": 0,
- "failRetryInterval": 1,
- "timeoutFlag": "CLOSE",
- "timeoutNotifyStrategy": None,
- "timeout": 0,
- }
- task = Dependent(name, dependence=dep_operator)
- assert task.get_define() == expect
|