mirror of
https://github.com/FlipsideCrypto/thorchain-models.git
synced 2026-02-06 13:37:10 +00:00
incremental logic and bespoke tests
This commit is contained in:
parent
5d229f31dd
commit
a231c818ef
42
macros/tests/sequence_distinct_gaps_dim_block_id.sql
Normal file
42
macros/tests/sequence_distinct_gaps_dim_block_id.sql
Normal file
@ -0,0 +1,42 @@
|
||||
{% macro sequence_distinct_gaps_dim_block_id(
|
||||
table,
|
||||
column
|
||||
) %}
|
||||
{%- set partition_sql = partition_by | join(", ") -%}
|
||||
{%- set previous_column = "prev_" ~ column -%}
|
||||
WITH source AS (
|
||||
SELECT
|
||||
{{ partition_sql + "," if partition_sql }}
|
||||
{{ column }},
|
||||
LAG(
|
||||
{{ column }},
|
||||
1
|
||||
) over (
|
||||
ORDER BY
|
||||
{{ column }} ASC
|
||||
) AS {{ previous_column }}
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
DISTINCT {{ column }}
|
||||
FROM
|
||||
{{ table }} A
|
||||
JOIN {{ ref('core__dim_block') }}
|
||||
b
|
||||
ON A.dim_block_id = b.dim_block_id
|
||||
WHERE
|
||||
A.dim_block_id <> '-1'
|
||||
)
|
||||
)
|
||||
SELECT
|
||||
{{ previous_column }},
|
||||
{{ column }},
|
||||
{{ column }} - {{ previous_column }}
|
||||
- 1 AS gap
|
||||
FROM
|
||||
source
|
||||
WHERE
|
||||
{{ column }} - {{ previous_column }} <> 1
|
||||
ORDER BY
|
||||
gap DESC
|
||||
{% endmacro %}
|
||||
@ -37,7 +37,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
UNION ALL
|
||||
SELECT
|
||||
|
||||
@ -25,6 +25,14 @@ WHERE
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
OR add_asgard_addr IN (
|
||||
SELECT
|
||||
add_asgard_addr
|
||||
FROM
|
||||
{{ this }}
|
||||
WHERE
|
||||
dim_block_id = '-1'
|
||||
)
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -34,6 +34,14 @@ WHERE
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
OR tx_id IN (
|
||||
SELECT
|
||||
tx_id
|
||||
FROM
|
||||
{{ this }}
|
||||
WHERE
|
||||
dim_block_id = '-1'
|
||||
)
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -28,6 +28,14 @@ WHERE
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
OR tx_id IN (
|
||||
SELECT
|
||||
tx_id
|
||||
FROM
|
||||
{{ this }}
|
||||
WHERE
|
||||
dim_block_id = '-1'
|
||||
)
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -27,6 +27,14 @@ WHERE
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
OR pool_name IN (
|
||||
SELECT
|
||||
pool_name
|
||||
FROM
|
||||
{{ this }}
|
||||
WHERE
|
||||
dim_block_id = '-1'
|
||||
)
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -42,6 +42,14 @@ WHERE
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
OR tx_id IN (
|
||||
SELECT
|
||||
tx_id
|
||||
FROM
|
||||
{{ this }}
|
||||
WHERE
|
||||
dim_block_id = '-1'
|
||||
)
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -32,6 +32,14 @@ WHERE
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
OR tx_id IN (
|
||||
SELECT
|
||||
tx_id
|
||||
FROM
|
||||
{{ this }}
|
||||
WHERE
|
||||
dim_block_id = '-1'
|
||||
)
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -28,6 +28,14 @@ WHERE
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
OR asset IN (
|
||||
SELECT
|
||||
asset
|
||||
FROM
|
||||
{{ this }}
|
||||
WHERE
|
||||
dim_block_id = '-1'
|
||||
)
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -28,6 +28,14 @@ WHERE
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
OR tx_id IN (
|
||||
SELECT
|
||||
tx_id
|
||||
FROM
|
||||
{{ this }}
|
||||
WHERE
|
||||
dim_block_id = '-1'
|
||||
)
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -28,6 +28,14 @@ WHERE
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
OR asset IN (
|
||||
SELECT
|
||||
asset
|
||||
FROM
|
||||
{{ this }}
|
||||
WHERE
|
||||
dim_block_id = '-1'
|
||||
)
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -25,6 +25,14 @@ WHERE
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
OR add_asgard_address IN (
|
||||
SELECT
|
||||
add_asgard_address
|
||||
FROM
|
||||
{{ this }}
|
||||
WHERE
|
||||
dim_block_id = '-1'
|
||||
)
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -40,7 +40,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -25,6 +25,14 @@ WHERE
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
OR node_address IN (
|
||||
SELECT
|
||||
node_address
|
||||
FROM
|
||||
{{ this }}
|
||||
WHERE
|
||||
dim_block_id = '-1'
|
||||
)
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -31,7 +31,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -32,7 +32,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -30,6 +30,14 @@ WHERE
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
OR asset IN (
|
||||
SELECT
|
||||
asset
|
||||
FROM
|
||||
{{ this }}
|
||||
WHERE
|
||||
dim_block_id = '-1'
|
||||
)
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -30,7 +30,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -29,7 +29,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -26,6 +26,14 @@ WHERE
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
OR asset IN (
|
||||
SELECT
|
||||
asset
|
||||
FROM
|
||||
{{ this }}
|
||||
WHERE
|
||||
dim_block_id = '-1'
|
||||
)
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -34,7 +34,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -32,7 +32,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -25,7 +25,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -24,7 +24,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -25,7 +25,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -25,7 +25,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -27,7 +27,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -25,7 +25,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -26,7 +26,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -26,7 +26,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -33,7 +33,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -47,7 +47,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -29,7 +29,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -34,7 +34,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -26,7 +26,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -27,7 +27,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -28,7 +28,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -38,7 +38,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -25,7 +25,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -31,7 +31,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -26,7 +26,7 @@ WHERE
|
||||
)
|
||||
FROM
|
||||
{{ this }}
|
||||
) - INTERVAL '4 HOURS'
|
||||
) - INTERVAL '48 HOURS'
|
||||
{% endif %}
|
||||
)
|
||||
SELECT
|
||||
|
||||
@ -27,7 +27,4 @@ models:
|
||||
- name: LIQUIDITY_EARNINGS
|
||||
tests:
|
||||
- not_null
|
||||
- name: AVG_NODE_COUNT
|
||||
tests:
|
||||
- not_null:
|
||||
where: DAY < CURRENT_DATE - 2
|
||||
- name: AVG_NODE_COUNT
|
||||
@ -0,0 +1 @@
|
||||
{{ sequence_distinct_gaps_dim_block_id (ref("core__fact_block_pool_depths"), "block_id") }}
|
||||
1
tests/core__fact_block_rewards__day-assert_no_gap.sql
Normal file
1
tests/core__fact_block_rewards__day-assert_no_gap.sql
Normal file
@ -0,0 +1 @@
|
||||
{{ date_gaps(ref("core__fact_block_rewards"), [], "day", dict(start_date = "cast('2021-07-22' as date)", end_date = "cast('2021-08-11' as date)")) }}
|
||||
1
tests/core__fact_daily_earnings__day-assert_no_gaps.sql
Normal file
1
tests/core__fact_daily_earnings__day-assert_no_gaps.sql
Normal file
@ -0,0 +1 @@
|
||||
{{ date_gaps(ref("core__fact_daily_earnings"), [], "day", dict(start_date = "cast('2021-07-22' as date)", end_date = "cast('2021-08-11' as date)")) }}
|
||||
@ -0,0 +1 @@
|
||||
{{ date_gaps(ref("core__fact_daily_pool_stats"), [], "day", dict(start_date = "cast('2021-07-22' as date)", end_date = "cast('2021-08-11' as date)")) }}
|
||||
1
tests/core__fact_daily_tvl__day-assert_no_gaps.sql
Normal file
1
tests/core__fact_daily_tvl__day-assert_no_gaps.sql
Normal file
@ -0,0 +1 @@
|
||||
{{ date_gaps(ref("core__fact_daily_tvl"), [], "day", dict(start_date = "cast('2021-07-22' as date)", end_date = "cast('2021-08-11' as date)")) }}
|
||||
@ -0,0 +1 @@
|
||||
{{ sequence_distinct_gaps_dim_block_id(ref("corte__fact_pool_block_balances"), "block_id") }}
|
||||
1
tests/core__fact_pool_block_fees__day-assert_no_gap.sql
Normal file
1
tests/core__fact_pool_block_fees__day-assert_no_gap.sql
Normal file
@ -0,0 +1 @@
|
||||
{{ date_gaps(ref("core__fact_pool_block_fees"), [], "day", dict(start_date = "cast('2021-07-22' as date)", end_date = "cast('2021-08-11' as date)")) }}
|
||||
@ -0,0 +1 @@
|
||||
{{ date_gaps(ref("core__fact_pool_block_statistics"), [], "day", dict(start_date = "cast('2021-07-22' as date)", end_date = "cast('2021-08-11' as date)")) }}
|
||||
1
tests/core__fact_prices__block_id-assert_no_gaps.sql
Normal file
1
tests/core__fact_prices__block_id-assert_no_gaps.sql
Normal file
@ -0,0 +1 @@
|
||||
{{ sequence_distinct_gaps_dim_block_id(ref("core__fact_prices"), "block_id") }}
|
||||
@ -0,0 +1 @@
|
||||
{{ all_ids_exist(ref("core__fact_swap_events"), "tx_id", ref("core__fact_swaps"), "tx_id") }}
|
||||
@ -0,0 +1,5 @@
|
||||
{{ config(
|
||||
warn_if = "> 10",
|
||||
severity = "warn"
|
||||
) }}
|
||||
{{ sequence_distinct_gaps_dim_block_id(ref("core__fact_total_block_rewards"), "block_id") }}
|
||||
@ -0,0 +1 @@
|
||||
{{ date_gaps(ref("core__fact_total_value_locked"), [], "day", dict(start_date = "cast('2021-07-22' as date)", end_date = "cast('2021-08-11' as date)"), dict(start_date = "cast('2021-11-12' as date)", end_date = "cast('2021-11-18' as date)")) }}
|
||||
Loading…
Reference in New Issue
Block a user