Skip to content

Commit f2c9ea9

Browse files
authored
Merge pull request #1870 from elementary-data/athena-integrations
2 parents 028ba6b + dec2dc0 commit f2c9ea9

File tree

6 files changed

+24
-44
lines changed

6 files changed

+24
-44
lines changed

.github/workflows/test-warehouse.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ on:
1414
- databricks
1515
- databricks_catalog
1616
- spark
17+
- athena
1718
elementary-ref:
1819
type: string
1920
required: false

elementary/monitor/dbt_project/macros/create_temp_table.sql

Lines changed: 0 additions & 26 deletions
This file was deleted.

elementary/monitor/dbt_project/macros/get_test_results.sql

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
*,
1212
{{ elementary.edr_datediff(elementary.edr_cast_as_timestamp('detected_at'), elementary.edr_current_timestamp(), 'day') }} as days_diff,
1313
{# When we split test into multiple test results, we want to have the same invocation order for the test results from the same run so we use rank. #}
14-
rank() over (partition by elementary_unique_id order by detected_at desc) as invocations_rank_index
14+
rank() over (partition by elementary_unique_id order by {{elementary.edr_cast_as_timestamp('detected_at')}} desc) as invocations_rank_index
1515
from test_results
1616
)
1717

@@ -22,7 +22,7 @@
2222
test_results.model_unique_id,
2323
test_results.test_unique_id,
2424
test_results.elementary_unique_id,
25-
test_results.detected_at,
25+
{{elementary.edr_cast_as_timestamp('test_results.detected_at')}} as detected_at,
2626
test_results.database_name,
2727
test_results.schema_name,
2828
test_results.table_name,
@@ -59,7 +59,7 @@
5959
{% set test_results = [] %}
6060

6161
{% set elementary_database, elementary_schema = elementary.get_package_database_and_schema() %}
62-
{% set ordered_test_results_relation = elementary_cli.create_temp_table(elementary_database, elementary_schema, 'ordered_test_results', select_test_results) %}
62+
{% set ordered_test_results_relation = elementary.create_temp_table(elementary_database, elementary_schema, 'ordered_test_results', select_test_results) %}
6363

6464
{% set test_results_agate_sql %}
6565
select * from {{ ordered_test_results_relation }}
@@ -73,6 +73,9 @@
7373

7474
{% set test_results_agate = elementary.run_query(test_results_agate_sql) %}
7575
{% set test_result_rows_agate = elementary_cli.get_result_rows_agate(days_back, valid_ids_query) %}
76+
{% if not elementary.has_temp_table_support() %}
77+
{% do elementary.fully_drop_relation(ordered_test_results_relation) %}
78+
{% endif %}
7679
{% set tests = elementary.agate_to_dicts(test_results_agate) %}
7780

7881
{% set filtered_tests = [] %}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
packages:
22
- package: dbt-labs/dbt_utils
33
version: 0.8.6
4-
- package: elementary-data/elementary
5-
version: 0.18.0
6-
sha1_hash: 24666e9f3179ea742d9fb6adce8005b9af3fc466
4+
- git: https://github.com/elementary-data/dbt-data-reliability.git
5+
revision: cc226bf865f922d6c4c5c6d65b2a142540e222f8
6+
sha1_hash: a838112140dab39e15226f415d0b0bcbfbe311ff
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
packages:
22
- package: dbt-labs/dbt_utils
33
version: [">=0.8.0", "<0.9.0"]
4-
- package: elementary-data/elementary
5-
version: 0.18.0
4+
# - package: elementary-data/elementary
5+
# version: 0.18.0
66

77
# NOTE - for unreleased CLI versions we often need to update the package version to a commit hash (please leave this
88
# commented, so it will be easy to access)
9-
# - git: https://github.com/elementary-data/dbt-data-reliability.git
10-
# revision: 0f82a3f6c76706237172184b8bde3058040f5a8e
9+
- git: https://github.com/elementary-data/dbt-data-reliability.git
10+
revision: cc226bf865f922d6c4c5c6d65b2a142540e222f8

tests/tests_with_db/test_dbt_runner.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,7 @@ def test_run(self, custom_dbt_runner: BaseDbtRunner):
2929
result = custom_dbt_runner.run(select="one", vars={"test_marker": test_marker})
3030
assert result is True
3131

32-
invocations = self._run_query(
33-
custom_dbt_runner,
34-
f"""select * from {{{{ ref("dbt_invocations") }}}} where vars ilike '%{test_marker}%'""",
35-
)
32+
invocations = self._get_invocations_by_marker(custom_dbt_runner, test_marker)
3633
assert len(invocations) == 1
3734

3835
invocation = invocations[0]
@@ -47,16 +44,21 @@ def test_test(self, custom_dbt_runner: BaseDbtRunner):
4744
result = custom_dbt_runner.test(select="one", vars={"test_marker": test_marker})
4845
assert result is True
4946

50-
invocations = self._run_query(
51-
custom_dbt_runner,
52-
f"""select * from {{{{ ref("dbt_invocations") }}}} where vars ilike '%{test_marker}%'""",
53-
)
47+
invocations = self._get_invocations_by_marker(custom_dbt_runner, test_marker)
5448
assert len(invocations) == 1
5549

5650
invocation = invocations[0]
5751
assert invocation["command"] == "test"
5852
assert invocation["selected"] == json.dumps(["one"])
5953

54+
def _get_invocations_by_marker(
55+
self, custom_dbt_runner: BaseDbtRunner, test_marker: str
56+
):
57+
return self._run_query(
58+
custom_dbt_runner,
59+
f"""select * from {{{{ ref("dbt_invocations") }}}} where LOWER(vars) LIKE LOWER('%{test_marker}%')""",
60+
)
61+
6062
@staticmethod
6163
def _run_query(dbt_runner: SubprocessDbtRunner, query: str):
6264
return json.loads(

0 commit comments

Comments
 (0)