From 69c20ced702e987a05db198ca03b97b8aa6326e1 Mon Sep 17 00:00:00 2001 From: kevin Date: Tue, 2 Jan 2024 20:52:39 -0600 Subject: [PATCH] added redshift tests --- integration_tests/profiles.yml | 2 +- integration_tests/seeds/colnames_with_spaces.csv | 2 +- .../accepted_values_colnames_with_spaces.sql | 6 +++--- .../generate_range_tests/range_colnames_with_spaces.sql | 2 +- .../uniqueness_colnames_with_spaces.sql | 4 ++-- macros/helpers/columns.sql | 2 +- .../get_accepted_values_test_suggestions.sql | 5 +++++ 7 files changed, 14 insertions(+), 9 deletions(-) diff --git a/integration_tests/profiles.yml b/integration_tests/profiles.yml index 27607cb..8254738 100644 --- a/integration_tests/profiles.yml +++ b/integration_tests/profiles.yml @@ -43,7 +43,7 @@ integration_tests: type: redshift host: dbt-testgen.117819748843.us-east-1.redshift-serverless.amazonaws.com user: dbt_testgen - password: "{{ env_var('REDSHIFT_PASSWORD') }}" + password: mw*gXe9JMvp!0v%E #"{{ env_var('REDSHIFT_PASSWORD') }}" dbname: dbt_testgen schema: dbt_testgen port: 5439 \ No newline at end of file diff --git a/integration_tests/seeds/colnames_with_spaces.csv b/integration_tests/seeds/colnames_with_spaces.csv index 184ec9d..c2d85c7 100644 --- a/integration_tests/seeds/colnames_with_spaces.csv +++ b/integration_tests/seeds/colnames_with_spaces.csv @@ -1,4 +1,4 @@ -First Name,Age (Years),Current City +first name,age (years),current city John,25,New York Alice,30,San Francisco Bob,22,Chicago \ No newline at end of file diff --git a/integration_tests/tests/generate_accepted_values_tests/accepted_values_colnames_with_spaces.sql b/integration_tests/tests/generate_accepted_values_tests/accepted_values_colnames_with_spaces.sql index ddf6481..10bedde 100644 --- a/integration_tests/tests/generate_accepted_values_tests/accepted_values_colnames_with_spaces.sql +++ b/integration_tests/tests/generate_accepted_values_tests/accepted_values_colnames_with_spaces.sql @@ -11,7 +11,7 @@ models: - name: colnames_with_spaces columns: - - name: First Name + - name: first name description: Accepted values test generated by dbt-testgen tests: - accepted_values: @@ -19,7 +19,7 @@ models: - Alice - Bob - John - - name: Age (Years) + - name: age (years) description: Accepted values test generated by dbt-testgen tests: - accepted_values: @@ -27,7 +27,7 @@ models: - '22' - '25' - '30' - - name: Current City + - name: current city description: Accepted values test generated by dbt-testgen tests: - accepted_values: diff --git a/integration_tests/tests/generate_range_tests/range_colnames_with_spaces.sql b/integration_tests/tests/generate_range_tests/range_colnames_with_spaces.sql index 2045bb5..2f7b32f 100644 --- a/integration_tests/tests/generate_range_tests/range_colnames_with_spaces.sql +++ b/integration_tests/tests/generate_range_tests/range_colnames_with_spaces.sql @@ -11,7 +11,7 @@ models: - name: colnames_with_spaces columns: - - name: Age (Years) + - name: age (years) description: Numeric range test generated by dbt-testgen tests: - dbt_utils.accepted_range: diff --git a/integration_tests/tests/generate_uniqueness_tests/uniqueness_colnames_with_spaces.sql b/integration_tests/tests/generate_uniqueness_tests/uniqueness_colnames_with_spaces.sql index 45f3a86..39d95e7 100644 --- a/integration_tests/tests/generate_uniqueness_tests/uniqueness_colnames_with_spaces.sql +++ b/integration_tests/tests/generate_uniqueness_tests/uniqueness_colnames_with_spaces.sql @@ -13,13 +13,13 @@ models: - name: colnames_with_spaces columns: - - name: First Name + - name: first name description: Uniqueness test generated by dbt-testgen tests: - unique - not_null quote: true - - name: Age (Years) + - name: age (years) description: Uniqueness test generated by dbt-testgen tests: - unique diff --git a/macros/helpers/columns.sql b/macros/helpers/columns.sql index 52bbe2e..90210f6 100644 --- a/macros/helpers/columns.sql +++ b/macros/helpers/columns.sql @@ -1,4 +1,4 @@ - {% macro exclude_column_types(columns, exclude_types) %} +{% macro exclude_column_types(columns, exclude_types) %} {% set filtered_columns = [] %} {% for col in columns %} {% if col.is_string() and "string" not in exclude_types %} diff --git a/macros/test_generation/get_accepted_values_test_suggestions.sql b/macros/test_generation/get_accepted_values_test_suggestions.sql index 8850abd..9874852 100644 --- a/macros/test_generation/get_accepted_values_test_suggestions.sql +++ b/macros/test_generation/get_accepted_values_test_suggestions.sql @@ -6,6 +6,11 @@ {{ return("array_agg(" ~ adapter.quote(colname) ~ "::VARCHAR)") }} {% endmacro %} +{% macro redshift__array_agg(colname) %} + {{ return("split_to_array(listagg(" ~ adapter.quote(colname) ~ "::VARCHAR, '|'), '|') ") }} +{% endmacro %} + + {% macro get_accepted_values_test_suggestions( table_relation,