Skip to content

Commit

Permalink
Adding
Browse files Browse the repository at this point in the history
  • Loading branch information
Sachin-Thakur committed Dec 20, 2023
1 parent 51923e1 commit 607f5f6
Showing 1 changed file with 102 additions and 0 deletions.
102 changes: 102 additions & 0 deletions tests/functional/adapter/utils/test_date_spine.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,97 @@
actual: intervals
expected: expected
"""
models__test_date_spine_sql = """
with generated_dates as (
{% if target.type == 'postgres' %}
{{ date_spine("day", "'2023-09-01'::date", "'2023-09-10'::date") }}
{% elif target.type == 'bigquery' or target.type == 'redshift' %}
select cast(date_day as date) as date_day
from ({{ date_spine("day", "'2023-09-01'", "'2023-09-10'") }})
{% else %}
{{ date_spine("day", "'2023-09-01'", "'2023-09-10'") }}
{% endif %}
), expected_dates as (
{% if target.type == 'vertica' %}
select '2023-09-01'::date as expected
union all
select '2023-09-02'::date as expected
union all
select '2023-09-03'::date as expected
union all
select '2023-09-04'::date as expected
union all
select '2023-09-05'::date as expected
union all
select '2023-09-06'::date as expected
union all
select '2023-09-07'::date as expected
union all
select '2023-09-08'::date as expected
union all
select '2023-09-09'::date as expected
{% elif target.type == 'bigquery' or target.type == 'redshift' %}
select cast('2023-09-01' as date) as expected
union all
select cast('2023-09-02' as date) as expected
union all
select cast('2023-09-03' as date) as expected
union all
select cast('2023-09-04' as date) as expected
union all
select cast('2023-09-05' as date) as expected
union all
select cast('2023-09-06' as date) as expected
union all
select cast('2023-09-07' as date) as expected
union all
select cast('2023-09-08' as date) as expected
union all
select cast('2023-09-09' as date) as expected
{% else %}
select '2023-09-01' as expected
union all
select '2023-09-02' as expected
union all
select '2023-09-03' as expected
union all
select '2023-09-04' as expected
union all
select '2023-09-05' as expected
union all
select '2023-09-06' as expected
union all
select '2023-09-07' as expected
union all
select '2023-09-08' as expected
union all
select '2023-09-09' as expected
{% endif %}
), joined as (
select
generated_dates.date_day,
expected_dates.expected
from generated_dates
left join expected_dates on generated_dates.date_day = expected_dates.expected
)
SELECT * from joined
"""

models__test_date_spine_yml = """
version: 2
models:
- name: test_date_spine
tests:
- assert_equal:
actual: date_day
expected: expected
"""



class BaseGetIntervalsBetween(BaseUtils):
Expand All @@ -50,6 +141,17 @@ def models(self):



class BaseDateSpine(BaseUtils):
@pytest.fixture(scope="class")
def models(self):
return {
"test_date_spine.yml": models__test_date_spine_yml,
"test_date_spine.sql": self.interpolate_macro_namespace(
models__test_date_spine_sql, "date_spine"
),
}


class TestDateSpine(BaseDateSpine):
pass

Expand Down

0 comments on commit 607f5f6

Please sign in to comment.