This is an automated email from the ASF dual-hosted git repository.
zhongjiajie pushed a commit to branch main
in repository
https://gitbox.apache.org/repos/asf/dolphinscheduler-sdk-python.git
The following commit(s) were added to refs/heads/main by this push:
new e04b836 impv: Add raise error test for convert_params (#131)
e04b836 is described below
commit e04b836e54fb7bfd96527007cfeaa0fef4444b07
Author: Jay Chung <[email protected]>
AuthorDate: Tue Jan 9 10:05:33 2024 +0800
impv: Add raise error test for convert_params (#131)
---
src/pydolphinscheduler/core/parameter.py | 4 +++-
tests/core/test_local_parameter.py | 13 +++++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/src/pydolphinscheduler/core/parameter.py
b/src/pydolphinscheduler/core/parameter.py
index 15ea723..ea94971 100644
--- a/src/pydolphinscheduler/core/parameter.py
+++ b/src/pydolphinscheduler/core/parameter.py
@@ -123,7 +123,9 @@ class ParameterHelper:
parameters = []
params = params or {}
if not isinstance(params, dict):
- raise PyDSParamException("input_params must be a dict")
+ raise PyDSParamException(
+ "Parameter `params` must be a dict, but get %s", type(params)
+ )
for key, value in params.items():
if not isinstance(value, BaseDataType):
data_type_cls = ParameterHelper.infer_parameter_type(value)
diff --git a/tests/core/test_local_parameter.py
b/tests/core/test_local_parameter.py
index 4a1b0c2..f1042d2 100644
--- a/tests/core/test_local_parameter.py
+++ b/tests/core/test_local_parameter.py
@@ -114,3 +114,16 @@ def test_convert_params():
]
assert results == expect
+
+
+def test_convert_params_error_type():
+ """Test the ParameterHelper convert_params with wrong type raise error."""
+ params = [
+ {"prop": "value_INTEGER", "direct": "IN", "type": "INTEGER", "value":
123},
+ {"prop": "value_LONG", "direct": "IN", "type": "LONG", "value":
"1000000"},
+ ]
+ with pytest.raises(
+ PyDSParamException,
+ match="Parameter `params` must be a dict, but get",
+ ):
+ ParameterHelper.convert_params(params, direction=Direction.IN)