From 1880f4e21370fe946eec81d1481152a03a52f635 Mon Sep 17 00:00:00 2001 From: WHYTEWYLL Date: Wed, 5 Jul 2023 15:14:02 +0200 Subject: [PATCH] fix:macros test --- macros/tests/sequence_gaps.sql | 55 +++++++++---------- macros/tests/tx_block_count.sql | 14 +++++ macros/tests/tx_gaps.sql | 4 +- models/descriptions/contract_address.md | 5 ++ models/descriptions/event_index.md | 5 ++ models/descriptions/event_removed.md | 5 ++ models/descriptions/id_events.md | 5 ++ models/descriptions/logs_data.md | 5 ++ models/descriptions/logs_table_doc.md | 5 ++ models/descriptions/nft_origin_sig.md | 5 ++ models/descriptions/topics.md | 5 ++ models/gold/core__fact_contracts.sql | 11 ++++ models/gold/core__fact_logs.yml | 10 ++-- models/silver/silver__relevant_contracts.sql | 2 +- .../test_silver__transactions_full.yml | 4 -- 15 files changed, 99 insertions(+), 41 deletions(-) create mode 100644 macros/tests/tx_block_count.sql create mode 100644 models/descriptions/contract_address.md create mode 100644 models/descriptions/event_index.md create mode 100644 models/descriptions/event_removed.md create mode 100644 models/descriptions/id_events.md create mode 100644 models/descriptions/logs_data.md create mode 100644 models/descriptions/logs_table_doc.md create mode 100644 models/descriptions/nft_origin_sig.md create mode 100644 models/descriptions/topics.md create mode 100644 models/gold/core__fact_contracts.sql diff --git a/macros/tests/sequence_gaps.sql b/macros/tests/sequence_gaps.sql index 84a9aa9..b34e739 100644 --- a/macros/tests/sequence_gaps.sql +++ b/macros/tests/sequence_gaps.sql @@ -1,37 +1,34 @@ -{% macro sequence_gaps( - table, - partition_by, - 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 ( - {{ "PARTITION BY " ~ partition_sql if partition_sql }} - ORDER BY - {{ column }} ASC - ) AS {{ previous_column }} - FROM - {{ table }} - WHERE - block_timestamp::date <= current_date - 1 - ) +{% test sequence_gaps( + model, + partition_by, + column_name +) %} +{%- set partition_sql = partition_by | join(", ") -%} +{%- set previous_column = "prev_" ~ column_name -%} +WITH source AS ( + SELECT + {{ partition_sql + "," if partition_sql }} + {{ column_name }}, + LAG( + {{ column_name }}, + 1 + ) over ( + {{ "PARTITION BY " ~ partition_sql if partition_sql }} + ORDER BY + {{ column_name }} ASC + ) AS {{ previous_column }} + FROM + {{ model }} +) SELECT {{ partition_sql + "," if partition_sql }} {{ previous_column }}, - {{ column }}, - {{ column }} - {{ previous_column }} + {{ column_name }}, + {{ column_name }} - {{ previous_column }} - 1 AS gap FROM source WHERE - {{ column }} - {{ previous_column }} <> 1 + {{ column_name }} - {{ previous_column }} <> 1 ORDER BY - gap DESC -{% endmacro %} + gap DESC {% endtest %} \ No newline at end of file diff --git a/macros/tests/tx_block_count.sql b/macros/tests/tx_block_count.sql new file mode 100644 index 0000000..fac6ce1 --- /dev/null +++ b/macros/tests/tx_block_count.sql @@ -0,0 +1,14 @@ +{% test tx_block_count( + model, + column_name +) %} + +SELECT + {{ column_name }}, + COUNT(DISTINCT block_number) AS num_blocks +FROM + {{ model }} +GROUP BY {{ column_name }} +HAVING num_blocks > 1 + +{% endtest %} \ No newline at end of file diff --git a/macros/tests/tx_gaps.sql b/macros/tests/tx_gaps.sql index 82b449f..399c578 100644 --- a/macros/tests/tx_gaps.sql +++ b/macros/tests/tx_gaps.sql @@ -1,4 +1,4 @@ -{% macro tx_gaps( +{% test tx_gaps( model ) %} WITH block_base AS ( @@ -30,4 +30,4 @@ FROM ON block_base.block_id = model_name.block_id WHERE tx_count <> model_tx_count -{% endmacro %} +{% endtest %} diff --git a/models/descriptions/contract_address.md b/models/descriptions/contract_address.md new file mode 100644 index 0000000..6531d14 --- /dev/null +++ b/models/descriptions/contract_address.md @@ -0,0 +1,5 @@ +{% docs logs_contract_address %} + +The address interacted with for a given event. + +{% enddocs %} diff --git a/models/descriptions/event_index.md b/models/descriptions/event_index.md new file mode 100644 index 0000000..6a21d59 --- /dev/null +++ b/models/descriptions/event_index.md @@ -0,0 +1,5 @@ +{% docs event_index %} + +Event number within a transaction. + +{% enddocs %} diff --git a/models/descriptions/event_removed.md b/models/descriptions/event_removed.md new file mode 100644 index 0000000..2a8ecd3 --- /dev/null +++ b/models/descriptions/event_removed.md @@ -0,0 +1,5 @@ +{% docs event_removed %} + +Whether the event has been removed from the transaction. + +{% enddocs %} diff --git a/models/descriptions/id_events.md b/models/descriptions/id_events.md new file mode 100644 index 0000000..b729076 --- /dev/null +++ b/models/descriptions/id_events.md @@ -0,0 +1,5 @@ +{% docs id_events %} + +This is the primary key for this table. This is a concatenation of the transaction hash and the event index at which the event occurred. + +{% enddocs %} diff --git a/models/descriptions/logs_data.md b/models/descriptions/logs_data.md new file mode 100644 index 0000000..2d11a53 --- /dev/null +++ b/models/descriptions/logs_data.md @@ -0,0 +1,5 @@ +{% docs logs_data %} + +The un-decoded event data. + +{% enddocs %} diff --git a/models/descriptions/logs_table_doc.md b/models/descriptions/logs_table_doc.md new file mode 100644 index 0000000..934df8b --- /dev/null +++ b/models/descriptions/logs_table_doc.md @@ -0,0 +1,5 @@ +{% docs logs_table_doc %} + +This table contains log level data for the Aurora Blockchain. This table can be used to analyze trends at a log level, for example gas fees vs. total transactions over time. For more information, please see Aurora scan Resources. + +{% enddocs %} diff --git a/models/descriptions/nft_origin_sig.md b/models/descriptions/nft_origin_sig.md new file mode 100644 index 0000000..b562365 --- /dev/null +++ b/models/descriptions/nft_origin_sig.md @@ -0,0 +1,5 @@ +{% docs nft_origin_sig %} + +The function signature of this transaction. + +{% enddocs %} diff --git a/models/descriptions/topics.md b/models/descriptions/topics.md new file mode 100644 index 0000000..94744e5 --- /dev/null +++ b/models/descriptions/topics.md @@ -0,0 +1,5 @@ +{% docs topics %} + +The un-decoded event input topics. + +{% enddocs %} diff --git a/models/gold/core__fact_contracts.sql b/models/gold/core__fact_contracts.sql new file mode 100644 index 0000000..a509e5d --- /dev/null +++ b/models/gold/core__fact_contracts.sql @@ -0,0 +1,11 @@ +{{ config( + materialized = 'view', + persist_docs ={ "relation": true, + "columns": true }, + tags = ['core'] +) }} + +SELECT +* +FROM + {{ ref('silver__relevant_contracts') }} diff --git a/models/gold/core__fact_logs.yml b/models/gold/core__fact_logs.yml index 7c6be1b..81d46fe 100644 --- a/models/gold/core__fact_logs.yml +++ b/models/gold/core__fact_logs.yml @@ -1,6 +1,6 @@ version: 2 models: - - name: core__fact_event_logs + - name: core__fact_logs description: '{{ doc("logs_table_doc") }}' columns: @@ -9,7 +9,7 @@ models: - name: BLOCK_TIMESTAMP description: '{{ doc("block_timestamp") }}' - name: TX_HASH - description: '{{ doc("logs_tx_hash") }}' + description: '{{ doc("tx_hash") }}' - name: EVENT_INDEX description: '{{ doc("event_index") }}' - name: CONTRACT_ADDRESS @@ -21,12 +21,12 @@ models: - name: EVENT_REMOVED description: '{{ doc("event_removed") }}' - name: _LOG_ID - description: '{{ doc("log_id_events") }}' + description: '{{ doc("id_events") }}' - name: TX_STATUS description: '{{ doc("tx_status") }}' - name: ORIGIN_FUNCTION_SIGNATURE description: '{{ doc("nft_origin_sig") }}' - name: ORIGIN_FROM_ADDRESS - description: '{{ doc("origin_from") }}' + description: "The from address at the transaction level." - name: ORIGIN_TO_ADDRESS - description: '{{ doc("origin_to") }}' + description: "The to address at the transaction level." diff --git a/models/silver/silver__relevant_contracts.sql b/models/silver/silver__relevant_contracts.sql index db9783f..a1c13f8 100644 --- a/models/silver/silver__relevant_contracts.sql +++ b/models/silver/silver__relevant_contracts.sql @@ -5,7 +5,7 @@ SELECT contract_address, - 'ethereum' AS blockchain, + 'Aurora' AS blockchain, COUNT(*) AS events, MAX(block_number) AS latest_block FROM diff --git a/models/silver/test/transactions/test_silver__transactions_full.yml b/models/silver/test/transactions/test_silver__transactions_full.yml index 17574c5..987eafd 100644 --- a/models/silver/test/transactions/test_silver__transactions_full.yml +++ b/models/silver/test/transactions/test_silver__transactions_full.yml @@ -108,10 +108,6 @@ models: column_type_list: - NUMBER - FLOAT - - name: EFFECTIVE_GAS_PRICE - tests: - - not_null: - where: NOT IS_PENDING - name: ORIGIN_FUNCTION_SIGNATURE tests: - not_null