From cd8205217a08b54228f8530785f49515ff6ec7f0 Mon Sep 17 00:00:00 2001 From: Jiajie Zhong Date: Sat, 13 Nov 2021 16:47:08 +0800 Subject: [PATCH] [python] Fix process definition's user assigned not pass (#6753) --- .../core/process_definition.py | 4 +-- .../tests/core/test_process_definition.py | 28 +++++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/dolphinscheduler-python/pydolphinscheduler/src/pydolphinscheduler/core/process_definition.py b/dolphinscheduler-python/pydolphinscheduler/src/pydolphinscheduler/core/process_definition.py index f4527b8ccf..3acfa8f34e 100644 --- a/dolphinscheduler-python/pydolphinscheduler/src/pydolphinscheduler/core/process_definition.py +++ b/dolphinscheduler-python/pydolphinscheduler/src/pydolphinscheduler/core/process_definition.py @@ -144,8 +144,8 @@ class ProcessDefinition(Base): ProcessDefinitionDefault.USER_PWD, ProcessDefinitionDefault.USER_EMAIL, ProcessDefinitionDefault.USER_PHONE, - ProcessDefinitionDefault.TENANT, - ProcessDefinitionDefault.QUEUE, + self._tenant, + self._queue, ProcessDefinitionDefault.USER_STATE, ) diff --git a/dolphinscheduler-python/pydolphinscheduler/tests/core/test_process_definition.py b/dolphinscheduler-python/pydolphinscheduler/tests/core/test_process_definition.py index 96d0a88114..f0c0a1d5b0 100644 --- a/dolphinscheduler-python/pydolphinscheduler/tests/core/test_process_definition.py +++ b/dolphinscheduler-python/pydolphinscheduler/tests/core/test_process_definition.py @@ -145,3 +145,31 @@ def test_process_definition_simple(): assert task._downstream_task_codes == { pd.get_one_task_by_name(f"task-{i + 1}").code } + + +@pytest.mark.parametrize( + "user_attrs", + [ + {"tenant": "tenant_specific"}, + {"queue": "queue_specific"}, + {"tenant": "tenant_specific", "queue": "queue_specific"}, + ], +) +def test_set_process_definition_user_attr(user_attrs): + """Test user with correct attributes if we specific assigned to process definition object.""" + default_value = { + "tenant": ProcessDefinitionDefault.TENANT, + "queue": ProcessDefinitionDefault.QUEUE, + } + with ProcessDefinition(TEST_PROCESS_DEFINITION_NAME, **user_attrs) as pd: + user = pd.user + for attr in default_value: + # Get assigned attribute if we specific, else get default value + except_attr = ( + user_attrs[attr] if attr in user_attrs else default_value[attr] + ) + # Get actually attribute of user object + actual_attr = getattr(user, attr) + assert ( + except_attr == actual_attr + ), f"Except attribute is {except_attr} but get {actual_attr}"