From e62e8e78da81f712cfa9e3d66dca70309bdbf276 Mon Sep 17 00:00:00 2001 From: Dmitry Patsura Date: Wed, 26 Feb 2025 12:42:20 +0100 Subject: [PATCH] test: with named args --- .../test/__snapshots__/jinja.test.ts.snap | 6 ++++-- packages/cubejs-backend-native/test/jinja.test.ts | 2 ++ .../test/templates/arguments-test.yml.jinja | 2 ++ .../test/templates/jinja-instance.py | 4 ++++ .../cubejs-backend-native/test/templates/scoped-utils.py | 9 +++++---- 5 files changed, 17 insertions(+), 6 deletions(-) diff --git a/packages/cubejs-backend-native/test/__snapshots__/jinja.test.ts.snap b/packages/cubejs-backend-native/test/__snapshots__/jinja.test.ts.snap index 4816d35988b04..42793bcde1a2c 100644 --- a/packages/cubejs-backend-native/test/__snapshots__/jinja.test.ts.snap +++ b/packages/cubejs-backend-native/test/__snapshots__/jinja.test.ts.snap @@ -188,7 +188,9 @@ exports[`Jinja (new api) render arguments-test.yml.jinja: arguments-test.yml.jin arg_sum_map: 20 arg_kwargs1: \\"arg1: first value, arg2: second value, kwarg:(3 arg)\\" arg_kwargs2: \\"arg1: first value, arg2: second value, kwarg:(3 arg,4 arg)\\" - arg_kwargs3: \\"arg1: first value, arg2: second value, kwarg:(3 arg,4 arg,4 arg)\\"" + arg_kwargs3: \\"arg1: first value, arg2: second value, kwarg:(4 arg,4 arg,3 arg)\\" + arg_named_arguments1: \\"arg1: 1 arg, arg2: 2 arg\\" + arg_named_arguments2: \\"arg1: 1 arg, arg2: 2 arg\\"" `; exports[`Jinja (new api) render data-model.yml.jinja: data-model.yml.jinja 1`] = ` @@ -252,7 +254,7 @@ dump: exports[`Jinja (new api) render template_error_python.jinja: template_error_python.jinja 1`] = ` [Error: could not render block: Call error: Python error: Exception: Random Exception Traceback (most recent call last): - File "jinja-instance.py", line 116, in throw_exception + File "jinja-instance.py", line 120, in throw_exception ------------------------- template_error_python.jinja ------------------------- 3 | 3 diff --git a/packages/cubejs-backend-native/test/jinja.test.ts b/packages/cubejs-backend-native/test/jinja.test.ts index 1b6aaa69b633b..d1a4e589b50a6 100644 --- a/packages/cubejs-backend-native/test/jinja.test.ts +++ b/packages/cubejs-backend-native/test/jinja.test.ts @@ -92,6 +92,7 @@ suite('Python model', () => { load_data_sync: expect.any(Object), arg_bool: expect.any(Object), arg_kwargs: expect.any(Object), + arg_named_arguments: expect.any(Object), arg_sum_integers: expect.any(Object), arg_str: expect.any(Object), arg_null: expect.any(Object), @@ -127,6 +128,7 @@ darwinSuite('Scope Python model', () => { load_data_sync: expect.any(Object), arg_bool: expect.any(Object), arg_kwargs: expect.any(Object), + arg_named_arguments: expect.any(Object), arg_sum_integers: expect.any(Object), arg_str: expect.any(Object), arg_null: expect.any(Object), diff --git a/packages/cubejs-backend-native/test/templates/arguments-test.yml.jinja b/packages/cubejs-backend-native/test/templates/arguments-test.yml.jinja index e955fc955e42f..cbe1673cb74f9 100644 --- a/packages/cubejs-backend-native/test/templates/arguments-test.yml.jinja +++ b/packages/cubejs-backend-native/test/templates/arguments-test.yml.jinja @@ -18,3 +18,5 @@ test: arg_kwargs1: {{ arg_kwargs("first value", "second value", three="3 arg") }} arg_kwargs2: {{ arg_kwargs("first value", "second value", three="3 arg", four="4 arg") }} arg_kwargs3: {{ arg_kwargs("first value", "second value", three="3 arg", four="4 arg", five="4 arg") }} + arg_named_arguments1: {{ arg_named_arguments(arg2="2 arg", arg1="1 arg") }} + arg_named_arguments2: {{ arg_named_arguments(arg1="1 arg", arg2="2 arg") }} diff --git a/packages/cubejs-backend-native/test/templates/jinja-instance.py b/packages/cubejs-backend-native/test/templates/jinja-instance.py index 33504cbde0f38..7b19d6df04a9d 100644 --- a/packages/cubejs-backend-native/test/templates/jinja-instance.py +++ b/packages/cubejs-backend-native/test/templates/jinja-instance.py @@ -39,6 +39,10 @@ def arg_kwargs(arg1, arg2, **kwargs): return "arg1: " + arg1 + ", arg2: " + arg2 + ", kwarg:(" + kwargs_str + ")" +@template.function +def arg_named_arguments(arg1, arg2): + return "arg1: " + arg1 + ", arg2: " + arg2 + @template.function def arg_seq(a): return a diff --git a/packages/cubejs-backend-native/test/templates/scoped-utils.py b/packages/cubejs-backend-native/test/templates/scoped-utils.py index e5b9c9c99d0fb..e0f5b648a3a2a 100644 --- a/packages/cubejs-backend-native/test/templates/scoped-utils.py +++ b/packages/cubejs-backend-native/test/templates/scoped-utils.py @@ -27,12 +27,13 @@ def arg_sum_map(obj): @context_func def arg_kwargs(**kwargs): - result = "" + kwargs_str = ",".join(kwargs.values()) - for arg in kwargs.values(): - result += arg + return "arg1: " + arg1 + ", arg2: " + arg2 + ", kwarg:(" + kwargs_str + ")" - return result +@context_func +def arg_named_arguments(arg1, arg2): + return "arg1: " + arg1 + ", arg2: " + arg2 @context_func def arg_seq(a):