From 905ec93235b6e0fb31f3dfcaafe0e28a369b1694 Mon Sep 17 00:00:00 2001 From: nicor88 <6278547+nicor88@users.noreply.github.com> Date: Mon, 21 Aug 2023 14:36:30 +0200 Subject: [PATCH] fix split parts --- .../functional/adapter/fixture_split_parts.py | 39 +++++++++++++++++++ tests/functional/adapter/utils/test_utils.py | 11 +++++- 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 tests/functional/adapter/fixture_split_parts.py diff --git a/tests/functional/adapter/fixture_split_parts.py b/tests/functional/adapter/fixture_split_parts.py new file mode 100644 index 00000000..c9ff3d7c --- /dev/null +++ b/tests/functional/adapter/fixture_split_parts.py @@ -0,0 +1,39 @@ +models__test_split_part_sql = """ +with data as ( + + select * from {{ ref('data_split_part') }} + +) + +select + {{ split_part('parts', 'split_on', 1) }} as actual, + result_1 as expected + +from data + +union all + +select + {{ split_part('parts', 'split_on', 2) }} as actual, + result_2 as expected + +from data + +union all + +select + {{ split_part('parts', 'split_on', 3) }} as actual, + result_3 as expected + +from data +""" + +models__test_split_part_yml = """ +version: 2 +models: + - name: test_split_part + tests: + - assert_equal: + actual: actual + expected: expected +""" diff --git a/tests/functional/adapter/utils/test_utils.py b/tests/functional/adapter/utils/test_utils.py index b998b6c7..83f743e9 100644 --- a/tests/functional/adapter/utils/test_utils.py +++ b/tests/functional/adapter/utils/test_utils.py @@ -3,6 +3,10 @@ models__test_datediff_sql, seeds__data_datediff_csv, ) +from tests.functional.adapter.fixture_split_parts import ( + models__test_split_part_sql, + models__test_split_part_yml, +) from dbt.tests.adapter.utils.fixture_datediff import models__test_datediff_yml from dbt.tests.adapter.utils.test_any_value import BaseAnyValue @@ -100,7 +104,12 @@ class TestRight(BaseRight): class TestSplitPart(BaseSplitPart): - pass + @pytest.fixture(scope="class") + def models(self): + return { + "test_split_part.yml": models__test_split_part_yml, + "test_split_part.sql": self.interpolate_macro_namespace(models__test_split_part_sql, "split_part"), + } class TestStringLiteral(BaseStringLiteral):