mirror of
https://github.com/FlipsideCrypto/movement-models.git
synced 2026-02-06 11:46:43 +00:00
updating testing and refactoring transactions
This commit is contained in:
parent
05585ff7dd
commit
6fddc417d2
@ -14,23 +14,23 @@ SELECT
|
|||||||
A.block_timestamp,
|
A.block_timestamp,
|
||||||
A.version,
|
A.version,
|
||||||
A.tx_hash,
|
A.tx_hash,
|
||||||
A.data :success :: BOOLEAN AS success,
|
A.success,
|
||||||
A.tx_type,
|
A.tx_type,
|
||||||
A.data :sender :: STRING AS sender,
|
A.sender,
|
||||||
A.data :signature :: STRING AS signature,
|
A.signature,
|
||||||
A.data :payload AS payload,
|
A.payload,
|
||||||
A.data :payload :function :: STRING AS payload_function,
|
A.payload_function,
|
||||||
A.data :changes AS changes,
|
A.changes,
|
||||||
A.data :events AS events,
|
A.events,
|
||||||
A.data: gas_unit_price :: bigint AS gas_unit_price,
|
A.gas_unit_price,
|
||||||
A.data :gas_used :: INT AS gas_used,
|
A.gas_used,
|
||||||
A.data :max_gas_amount :: bigint AS max_gas_amount,
|
A.max_gas_amount,
|
||||||
A.data :expiration_timestamp_secs :: bigint AS expiration_timestamp_secs,
|
A.expiration_timestamp_secs,
|
||||||
A.data :vm_status :: STRING AS vm_status,
|
A.vm_status,
|
||||||
A.data :state_change_hash :: STRING AS state_change_hash,
|
A.state_change_hash,
|
||||||
A.data :accumulator_root_hash :: STRING AS accumulator_root_hash,
|
A.accumulator_root_hash,
|
||||||
A.data :event_root_hash :: STRING AS event_root_hash,
|
A.event_root_hash,
|
||||||
A.data :state_checkpoint_hash :: STRING AS state_checkpoint_hash,
|
A.state_checkpoint_hash,
|
||||||
{{ dbt_utils.generate_surrogate_key(
|
{{ dbt_utils.generate_surrogate_key(
|
||||||
['tx_hash']
|
['tx_hash']
|
||||||
) }} AS fact_transactions_id,
|
) }} AS fact_transactions_id,
|
||||||
|
|||||||
@ -2,33 +2,94 @@ version: 2
|
|||||||
models:
|
models:
|
||||||
- name: stats__ez_core_metrics_hourly
|
- name: stats__ez_core_metrics_hourly
|
||||||
description: '{{ doc("ez_core_metrics_hourly_table_doc") }}'
|
description: '{{ doc("ez_core_metrics_hourly_table_doc") }}'
|
||||||
|
tests:
|
||||||
|
- dbt_utils.unique_combination_of_columns:
|
||||||
|
combination_of_columns:
|
||||||
|
- BLOCK_TIMESTAMP_HOUR
|
||||||
|
- dbt_utils.expression_is_true:
|
||||||
|
expression: "block_number_max >= block_number_min"
|
||||||
|
where: modified_timestamp > current_date - {{ var('test_days_threshold', 3) }}
|
||||||
|
- dbt_utils.expression_is_true:
|
||||||
|
expression: "transaction_count = transaction_count_success + transaction_count_failed"
|
||||||
|
where: modified_timestamp > current_date - {{ var('test_days_threshold', 3) }}
|
||||||
|
- dbt_utils.expression_is_true:
|
||||||
|
expression: "block_count <= transaction_count"
|
||||||
|
where: modified_timestamp > current_date - {{ var('test_days_threshold', 3) }}
|
||||||
|
- dbt_utils.expression_is_true:
|
||||||
|
expression: "total_fees_native >= 0"
|
||||||
|
where: modified_timestamp > current_date - {{ var('test_days_threshold', 3) }}
|
||||||
|
- dbt_utils.expression_is_true:
|
||||||
|
expression: "total_fees_usd >= 0"
|
||||||
|
where: modified_timestamp > current_date - {{ var('test_days_threshold', 3) }}
|
||||||
|
|
||||||
columns:
|
columns:
|
||||||
- name: BLOCK_TIMESTAMP_HOUR
|
- name: BLOCK_TIMESTAMP_HOUR
|
||||||
description: '{{ doc("block_timestamp_hour") }}'
|
description: '{{ doc("block_timestamp_hour") }}'
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
|
- dbt_expectations.expect_column_values_to_be_in_type_list:
|
||||||
|
column_type_list:
|
||||||
|
- TIMESTAMP_LTZ
|
||||||
|
- TIMESTAMP_NTZ
|
||||||
- name: BLOCK_NUMBER_MIN
|
- name: BLOCK_NUMBER_MIN
|
||||||
description: '{{ doc("block_number_min") }}'
|
description: '{{ doc("block_number_min") }}'
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
- name: BLOCK_NUMBER_MAX
|
- name: BLOCK_NUMBER_MAX
|
||||||
description: '{{ doc("block_number_max") }}'
|
description: '{{ doc("block_number_max") }}'
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
- name: BLOCK_COUNT
|
- name: BLOCK_COUNT
|
||||||
description: '{{ doc("block_count") }}'
|
description: '{{ doc("block_count") }}'
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
- name: TRANSACTION_COUNT
|
- name: TRANSACTION_COUNT
|
||||||
description: '{{ doc("transaction_count") }}'
|
description: '{{ doc("transaction_count") }}'
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
- name: TRANSACTION_COUNT_SUCCESS
|
- name: TRANSACTION_COUNT_SUCCESS
|
||||||
description: '{{ doc("transaction_count_success") }}'
|
description: '{{ doc("transaction_count_success") }}'
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
- name: TRANSACTION_COUNT_FAILED
|
- name: TRANSACTION_COUNT_FAILED
|
||||||
description: '{{ doc("transaction_count_failed") }}'
|
description: '{{ doc("transaction_count_failed") }}'
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
- name: UNIQUE_SENDER_COUNT
|
- name: UNIQUE_SENDER_COUNT
|
||||||
description: '{{ doc("unique_sender_count") }}'
|
description: '{{ doc("unique_sender_count") }}'
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
- name: UNIQUE_PAYLOAD_FUNCTION_COUNT
|
- name: UNIQUE_PAYLOAD_FUNCTION_COUNT
|
||||||
description: '{{ doc("unique_payload_function_count") }}'
|
description: '{{ doc("unique_payload_function_count") }}'
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
- name: TOTAL_FEES_NATIVE
|
- name: TOTAL_FEES_NATIVE
|
||||||
description: '{{ doc("total_fees_native") }}'
|
description: '{{ doc("total_fees_native") }}'
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
|
- dbt_expectations.expect_column_values_to_be_in_type_list:
|
||||||
|
column_type_list:
|
||||||
|
- DECIMAL(38,8)
|
||||||
- name: TOTAL_FEES_USD
|
- name: TOTAL_FEES_USD
|
||||||
description: '{{ doc("total_fees_usd") }}'
|
description: '{{ doc("total_fees_usd") }}'
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
|
- dbt_expectations.expect_column_values_to_be_in_type_list:
|
||||||
|
column_type_list:
|
||||||
|
- DECIMAL(38,8)
|
||||||
- name: EZ_CORE_METRICS_HOURLY_ID
|
- name: EZ_CORE_METRICS_HOURLY_ID
|
||||||
description: '{{ doc("pk") }}'
|
description: '{{ doc("pk") }}'
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
|
- unique
|
||||||
- name: INSERTED_TIMESTAMP
|
- name: INSERTED_TIMESTAMP
|
||||||
description: '{{ doc("inserted_timestamp") }}'
|
description: '{{ doc("inserted_timestamp") }}'
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
|
- dbt_expectations.expect_row_values_to_have_recent_data:
|
||||||
|
datepart: day
|
||||||
|
interval: 1
|
||||||
- name: MODIFIED_TIMESTAMP
|
- name: MODIFIED_TIMESTAMP
|
||||||
description: '{{ doc("modified_timestamp") }}'
|
description: '{{ doc("modified_timestamp") }}'
|
||||||
|
tests:
|
||||||
|
- not_null
|
||||||
@ -1,39 +1,25 @@
|
|||||||
version: 2
|
version: 2
|
||||||
models:
|
models:
|
||||||
- name: silver__blocks
|
- name: silver__blocks
|
||||||
|
|
||||||
tests:
|
tests:
|
||||||
- dbt_constraints.primary_key:
|
- sequence_gaps:
|
||||||
column_name: BLOCKS_ID
|
column: block_number
|
||||||
|
|
||||||
columns:
|
columns:
|
||||||
- name: block_number
|
- name: block_number
|
||||||
tests:
|
tests:
|
||||||
- not_null
|
- not_null:
|
||||||
- name: BLOCK_TIMESTAMP_NUM
|
where: modified_timestamp > current_date - {{ var('test_days_threshold', 3) }}
|
||||||
|
- name: block_hash
|
||||||
|
- name: block_timestamp_num
|
||||||
|
- name: block_timestamp
|
||||||
tests:
|
tests:
|
||||||
- not_null
|
- not_null:
|
||||||
- name: BLOCK_TIMESTAMP
|
where: modified_timestamp > current_date - {{ var('test_days_threshold', 3) }}
|
||||||
tests:
|
- name: first_version
|
||||||
- not_null
|
- name: last_version
|
||||||
- name: BLOCK_HASH
|
- name: tx_count_from_transactions_array
|
||||||
tests:
|
- name: tx_count_from_versions
|
||||||
- not_null
|
- name: blocks_id
|
||||||
- name: FIRST_VERSION
|
- name: inserted_timestamp
|
||||||
tests:
|
- name: modified_timestamp
|
||||||
- not_null
|
- name: _invocation_id
|
||||||
- name: LAST_VERSION
|
|
||||||
tests:
|
|
||||||
- not_null
|
|
||||||
- name: TX_COUNT_FROM_TRANSACTIONS_ARRAY
|
|
||||||
tests:
|
|
||||||
- not_null
|
|
||||||
- name: TX_COUNT_FROM_VERSIONS
|
|
||||||
tests:
|
|
||||||
- not_null
|
|
||||||
- name: BLOCKS_ID
|
|
||||||
tests:
|
|
||||||
- not_null
|
|
||||||
- name: INSERTED_TIMESTAMP
|
|
||||||
- name: MODIFIED_TIMESTAMP
|
|
||||||
- name: _INVOCATION_ID
|
|
||||||
|
|||||||
@ -1,26 +1,34 @@
|
|||||||
version: 2
|
version: 2
|
||||||
models:
|
models:
|
||||||
- name: silver__changes
|
- name: silver__changes
|
||||||
|
tests:
|
||||||
|
- dbt_utils.expression_is_true:
|
||||||
|
expression: "b.value:type IS NOT NULL"
|
||||||
|
where: modified_timestamp > current_date - {{ var('test_days_threshold', 3) }}
|
||||||
|
- dbt_utils.expression_is_true:
|
||||||
|
expression: "b.value:data: 'type' IS NOT NULL"
|
||||||
|
where: modified_timestamp > current_date - {{ var('test_days_threshold', 3) }}
|
||||||
columns:
|
columns:
|
||||||
- name: block_number
|
- name: block_number
|
||||||
- name: BLOCK_TIMESTAMP
|
- name: block_timestamp
|
||||||
- name: TX_HASH
|
- name: tx_hash
|
||||||
- name: VERSION
|
- name: version
|
||||||
- name: SUCCESS
|
- name: success
|
||||||
- name: TX_TYPE
|
- name: tx_type
|
||||||
- name: CHANGE_INDEX
|
- name: payload_function
|
||||||
- name: CHANGE_DATA
|
- name: change_index
|
||||||
- name: CHANGE_TYPE
|
- name: change_data
|
||||||
- name: ADDRESS
|
- name: change_type
|
||||||
- name: HANDLE
|
- name: address
|
||||||
- name: INNER_CHANGE_TYPE
|
- name: handle
|
||||||
- name: CHANGE_ADDRESS
|
- name: inner_change_type
|
||||||
- name: CHANGE_MODULE
|
- name: change_address
|
||||||
- name: CHANGE_RESOURCE
|
- name: change_module
|
||||||
- name: KEY
|
- name: change_resource
|
||||||
- name: VALUE
|
- name: key
|
||||||
- name: STATE_KEY_HASH
|
- name: value
|
||||||
- name: CHANGES_ID
|
- name: state_key_hash
|
||||||
- name: INSERTED_TIMESTAMP
|
- name: changes_id
|
||||||
- name: MODIFIED_TIMESTAMP
|
- name: inserted_timestamp
|
||||||
|
- name: modified_timestamp
|
||||||
|
- name: _invocation_id
|
||||||
@ -1,23 +1,31 @@
|
|||||||
version: 2
|
version: 2
|
||||||
models:
|
models:
|
||||||
- name: silver__events
|
- name: silver__events
|
||||||
|
tests:
|
||||||
|
- dbt_utils.expression_is_true:
|
||||||
|
expression: "b.value:type IS NOT NULL"
|
||||||
|
where: modified_timestamp > current_date - {{ var('test_days_threshold', 3) }}
|
||||||
|
- dbt_utils.expression_is_true:
|
||||||
|
expression: "b.value:guid:account_address IS NOT NULL AND b.value:guid:creation_number IS NOT NULL"
|
||||||
|
where: modified_timestamp > current_date - {{ var('test_days_threshold', 3) }}
|
||||||
columns:
|
columns:
|
||||||
- name: block_number
|
- name: block_number
|
||||||
- name: BLOCK_TIMESTAMP
|
- name: block_timestamp
|
||||||
- name: TX_HASH
|
- name: tx_hash
|
||||||
- name: VERSION
|
- name: version
|
||||||
- name: SUCCESS
|
- name: success
|
||||||
- name: TX_TYPE
|
- name: tx_type
|
||||||
- name: EVENT_INDEX
|
- name: payload_function
|
||||||
- name: EVENT_TYPE
|
- name: event_index
|
||||||
- name: EVENT_ADDRESS
|
- name: event_type
|
||||||
- name: EVENT_MODULE
|
- name: event_address
|
||||||
- name: EVENT_RESOURCE
|
- name: event_module
|
||||||
- name: EVENT_DATA
|
- name: event_resource
|
||||||
- name: ACCOUNT_ADDRESS
|
- name: event_data
|
||||||
- name: CREATION_NUMBER
|
- name: account_address
|
||||||
- name: SEQUENCE_NUMBER
|
- name: creation_number
|
||||||
- name: EVENTS_ID
|
- name: sequence_number
|
||||||
- name: INSERTED_TIMESTAMP
|
- name: events_id
|
||||||
- name: MODIFIED_TIMESTAMP
|
- name: inserted_timestamp
|
||||||
|
- name: modified_timestamp
|
||||||
|
- name: _invocation_id
|
||||||
|
|||||||
@ -86,15 +86,58 @@ combo AS (
|
|||||||
file_last_updated
|
file_last_updated
|
||||||
FROM
|
FROM
|
||||||
from_transactions A
|
from_transactions A
|
||||||
|
),
|
||||||
|
transformed AS (
|
||||||
|
SELECT
|
||||||
|
COALESCE(
|
||||||
|
block_timestamp,
|
||||||
|
'1970-01-01 00:00:00.000'
|
||||||
|
) AS block_timestamp,
|
||||||
|
tx_hash,
|
||||||
|
version,
|
||||||
|
tx_type,
|
||||||
|
DATA :success :: BOOLEAN AS success,
|
||||||
|
DATA :sender :: STRING AS sender,
|
||||||
|
DATA :signature :: STRING AS signature,
|
||||||
|
DATA :payload AS payload,
|
||||||
|
DATA :payload :function :: STRING AS payload_function,
|
||||||
|
DATA :changes AS changes,
|
||||||
|
DATA :events AS events,
|
||||||
|
DATA :gas_unit_price :: bigint AS gas_unit_price,
|
||||||
|
DATA :gas_used :: INT AS gas_used,
|
||||||
|
DATA :max_gas_amount :: bigint AS max_gas_amount,
|
||||||
|
DATA :expiration_timestamp_secs :: bigint AS expiration_timestamp_secs,
|
||||||
|
DATA :vm_status :: STRING AS vm_status,
|
||||||
|
DATA :state_change_hash :: STRING AS state_change_hash,
|
||||||
|
DATA :accumulator_root_hash :: STRING AS accumulator_root_hash,
|
||||||
|
DATA :event_root_hash :: STRING AS event_root_hash,
|
||||||
|
DATA :state_checkpoint_hash :: STRING AS state_checkpoint_hash,
|
||||||
|
DATA,
|
||||||
|
file_last_updated
|
||||||
|
FROM
|
||||||
|
combo
|
||||||
)
|
)
|
||||||
SELECT
|
SELECT
|
||||||
COALESCE(
|
block_timestamp,
|
||||||
block_timestamp,
|
|
||||||
'1970-01-01 00:00:00.000'
|
|
||||||
) AS block_timestamp,
|
|
||||||
tx_hash,
|
tx_hash,
|
||||||
version,
|
version,
|
||||||
tx_type,
|
tx_type,
|
||||||
|
success,
|
||||||
|
sender,
|
||||||
|
signature,
|
||||||
|
payload,
|
||||||
|
payload_function,
|
||||||
|
changes,
|
||||||
|
events,
|
||||||
|
gas_unit_price,
|
||||||
|
gas_used,
|
||||||
|
max_gas_amount,
|
||||||
|
expiration_timestamp_secs,
|
||||||
|
vm_status,
|
||||||
|
state_change_hash,
|
||||||
|
accumulator_root_hash,
|
||||||
|
event_root_hash,
|
||||||
|
state_checkpoint_hash,
|
||||||
DATA,
|
DATA,
|
||||||
{{ dbt_utils.generate_surrogate_key(
|
{{ dbt_utils.generate_surrogate_key(
|
||||||
['tx_hash']
|
['tx_hash']
|
||||||
@ -103,6 +146,6 @@ SELECT
|
|||||||
SYSDATE() AS modified_timestamp,
|
SYSDATE() AS modified_timestamp,
|
||||||
'{{ invocation_id }}' AS _invocation_id
|
'{{ invocation_id }}' AS _invocation_id
|
||||||
FROM
|
FROM
|
||||||
combo qualify(ROW_NUMBER() over (PARTITION BY tx_hash
|
transformed qualify(ROW_NUMBER() over (PARTITION BY tx_hash
|
||||||
ORDER BY
|
ORDER BY
|
||||||
file_last_updated DESC)) = 1
|
file_last_updated DESC)) = 1
|
||||||
|
|||||||
@ -1,37 +1,47 @@
|
|||||||
version: 2
|
version: 2
|
||||||
models:
|
models:
|
||||||
- name: silver__transactions
|
- name: silver__transactions
|
||||||
|
|
||||||
tests:
|
tests:
|
||||||
- dbt_constraints.primary_key:
|
- dbt_utils.expression_is_true:
|
||||||
column_name: TRANSACTIONS_ID
|
expression: "b.value:timestamp IS NOT NULL"
|
||||||
|
where: modified_timestamp > current_date - {{ var('test_days_threshold', 3) }}
|
||||||
|
- dbt_utils.expression_is_true:
|
||||||
|
expression: "b.value:hash IS NOT NULL"
|
||||||
|
where: modified_timestamp > current_date - {{ var('test_days_threshold', 3) }}
|
||||||
|
- dbt_utils.expression_is_true:
|
||||||
|
expression: "b.value:version IS NOT NULL"
|
||||||
|
where: modified_timestamp > current_date - {{ var('test_days_threshold', 3) }}
|
||||||
|
- dbt_utils.expression_is_true:
|
||||||
|
expression: "b.value:type IS NOT NULL"
|
||||||
|
where: modified_timestamp > current_date - {{ var('test_days_threshold', 3) }}
|
||||||
|
|
||||||
columns:
|
columns:
|
||||||
- name: BLOCK_TIMESTAMP
|
- name: block_timestamp
|
||||||
|
- name: tx_hash
|
||||||
tests:
|
tests:
|
||||||
- not_null
|
- unique:
|
||||||
- name: TX_HASH
|
where: modified_timestamp > current_date - {{ var('test_days_threshold', 3) }}
|
||||||
tests:
|
- name: version
|
||||||
- not_null
|
- name: tx_type
|
||||||
- name: VERSION
|
- name: success
|
||||||
tests:
|
- name: sender
|
||||||
- not_null
|
- name: signature
|
||||||
- name: TX_TYPE
|
- name: payload
|
||||||
tests:
|
- name: payload_function
|
||||||
- not_null
|
- name: changes
|
||||||
- name: TRANSACTIONS_ID
|
- name: events
|
||||||
tests:
|
- name: gas_unit_price
|
||||||
- not_null
|
- name: gas_used
|
||||||
- name: INSERTED_TIMESTAMP
|
- name: max_gas_amount
|
||||||
tests:
|
- name: expiration_timestamp_secs
|
||||||
- not_null
|
- name: vm_status
|
||||||
- name: MODIFIED_TIMESTAMP
|
- name: state_change_hash
|
||||||
tests:
|
- name: accumulator_root_hash
|
||||||
- not_null
|
- name: event_root_hash
|
||||||
|
- name: state_checkpoint_hash
|
||||||
- name: _INVOCATION_ID
|
- name: data
|
||||||
tests:
|
- name: transactions_id
|
||||||
- name: not_null_silver__transactions_INVOCATION_ID
|
- name: inserted_timestamp
|
||||||
test_name: not_null
|
- name: modified_timestamp
|
||||||
|
- name: _invocation_id
|
||||||
|
|
||||||
@ -5,64 +5,47 @@ models:
|
|||||||
- dbt_utils.unique_combination_of_columns:
|
- dbt_utils.unique_combination_of_columns:
|
||||||
combination_of_columns:
|
combination_of_columns:
|
||||||
- BLOCK_TIMESTAMP_HOUR
|
- BLOCK_TIMESTAMP_HOUR
|
||||||
|
- dbt_utils.expression_is_true:
|
||||||
|
expression: "block_number_max >= block_number_min"
|
||||||
|
where: modified_timestamp > current_date - {{ var('test_days_threshold', 3) }}
|
||||||
|
- dbt_utils.expression_is_true:
|
||||||
|
expression: "transaction_count = transaction_count_success + transaction_count_failed"
|
||||||
|
where: modified_timestamp > current_date - {{ var('test_days_threshold', 3) }}
|
||||||
|
- dbt_utils.expression_is_true:
|
||||||
|
expression: "block_count <= transaction_count"
|
||||||
|
where: modified_timestamp > current_date - {{ var('test_days_threshold', 3) }}
|
||||||
|
- dbt_utils.expression_is_true:
|
||||||
|
expression: "total_fees >= 0"
|
||||||
|
where: modified_timestamp > current_date - {{ var('test_days_threshold', 3) }}
|
||||||
|
|
||||||
columns:
|
columns:
|
||||||
- name: BLOCK_TIMESTAMP_HOUR
|
- name: BLOCK_TIMESTAMP_HOUR
|
||||||
tests:
|
tests:
|
||||||
- not_null
|
- not_null
|
||||||
- dbt_expectations.expect_column_values_to_be_in_type_list:
|
|
||||||
column_type_list:
|
|
||||||
- TIMESTAMP_LTZ
|
|
||||||
- TIMESTAMP_NTZ
|
|
||||||
- name: block_number_MIN
|
- name: block_number_MIN
|
||||||
tests:
|
tests:
|
||||||
- not_null
|
- not_null
|
||||||
- dbt_expectations.expect_column_values_to_be_in_type_list:
|
|
||||||
column_type_list:
|
|
||||||
- NUMBER
|
|
||||||
- FLOAT
|
|
||||||
- name: block_number_MAX
|
- name: block_number_MAX
|
||||||
tests:
|
tests:
|
||||||
- not_null
|
- not_null
|
||||||
- dbt_expectations.expect_column_values_to_be_in_type_list:
|
|
||||||
column_type_list:
|
|
||||||
- NUMBER
|
|
||||||
- FLOAT
|
|
||||||
- name: BLOCK_COUNT
|
- name: BLOCK_COUNT
|
||||||
tests:
|
tests:
|
||||||
- not_null
|
- not_null
|
||||||
- dbt_expectations.expect_column_values_to_be_in_type_list:
|
|
||||||
column_type_list:
|
|
||||||
- NUMBER
|
|
||||||
- FLOAT
|
|
||||||
- name: TRANSACTION_COUNT
|
- name: TRANSACTION_COUNT
|
||||||
tests:
|
tests:
|
||||||
- not_null
|
- not_null
|
||||||
- dbt_expectations.expect_column_values_to_be_in_type_list:
|
|
||||||
column_type_list:
|
|
||||||
- NUMBER
|
|
||||||
- FLOAT
|
|
||||||
- name: TRANSACTION_COUNT_SUCCESS
|
- name: TRANSACTION_COUNT_SUCCESS
|
||||||
tests:
|
tests:
|
||||||
- not_null
|
- not_null
|
||||||
- dbt_expectations.expect_column_values_to_be_in_type_list:
|
|
||||||
column_type_list:
|
|
||||||
- NUMBER
|
|
||||||
- FLOAT
|
|
||||||
- name: TRANSACTION_COUNT_FAILED
|
- name: TRANSACTION_COUNT_FAILED
|
||||||
tests:
|
tests:
|
||||||
- not_null
|
- not_null
|
||||||
- dbt_expectations.expect_column_values_to_be_in_type_list:
|
|
||||||
column_type_list:
|
|
||||||
- NUMBER
|
|
||||||
- FLOAT
|
|
||||||
- name: TOTAL_FEES
|
- name: TOTAL_FEES
|
||||||
tests:
|
tests:
|
||||||
- not_null
|
- not_null
|
||||||
- dbt_expectations.expect_column_values_to_be_in_type_list:
|
- dbt_expectations.expect_column_values_to_be_in_type_list:
|
||||||
column_type_list:
|
column_type_list:
|
||||||
- DECIMAL
|
- DECIMAL
|
||||||
- FLOAT
|
|
||||||
- NUMBER
|
|
||||||
- name: _INSERTED_TIMESTAMP
|
- name: _INSERTED_TIMESTAMP
|
||||||
tests:
|
tests:
|
||||||
- dbt_expectations.expect_row_values_to_have_recent_data:
|
- dbt_expectations.expect_row_values_to_have_recent_data:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user