dbt autofix upgrade

This commit is contained in:
mattromano 2025-12-08 14:26:47 -08:00
parent 76595532dd
commit 3430f650ad
50 changed files with 1953 additions and 1739 deletions

View File

@ -17,8 +17,6 @@ test-paths: ["tests"]
seed-paths: ["data"]
macro-paths: ["macros"]
snapshot-paths: ["snapshots"]
target-path: "target" # directory which will store compiled SQL files
clean-targets: # directories to be removed by `dbt clean`
- "target"
- "dbt_modules"
@ -60,8 +58,8 @@ vars:
UPDATE_UDFS_AND_SPS: false
DROP_UDFS_AND_SPS: false
UPDATE_SNOWFLAKE_TAGS: true
STREAMLINE_INVOKE_STREAMS: False
STREAMLINE_USE_DEV_FOR_EXTERNAL_TABLES: False
STREAMLINE_INVOKE_STREAMS: false
STREAMLINE_USE_DEV_FOR_EXTERNAL_TABLES: false
STUDIO_TEST_USER_ID: '{{ env_var("STUDIO_TEST_USER_ID", "98d15c30-9fa5-43cd-9c69-3d4c0bb269f5") }}'
API_INTEGRATION: '{{ var("config")[target.name]["API_INTEGRATION"] }}'
@ -92,3 +90,5 @@ vars:
ROLES:
- DATA_READER
MAX_BATCH_ROWS: 10
flags:
require_generic_test_arguments_property: true

View File

@ -6,6 +6,7 @@ models:
tests:
- test_udf:
name: test___utils_udf_introspect
args: "'hello'"
assertions:
- result = 'hello'
arguments:
args: "'hello'"
assertions:
- result = 'hello'

View File

@ -6,423 +6,454 @@ models:
tests:
- test_udf:
name: test__live_udf_api_batched_post_data_object
args: |
'GET',
'https://httpbin.org/get',
{'Content-Type': 'application/json'},
{'param1': 'value1', 'param2': 'value2'},
''
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.args is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.args:param1 = 'value1' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.args:param2 = 'value2' ELSE true END
arguments:
args: |
'GET',
'https://httpbin.org/get',
{'Content-Type': 'application/json'},
{'param1': 'value1', 'param2': 'value2'},
''
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.args is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.args:param1 = 'value1' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.args:param2 = 'value2' ELSE true END
- test_udf:
name: test__live_udf_api_batched_post_jsonrpc_ethereum_batch
args: |
'POST',
'https://ethereum-rpc.publicnode.com',
{'Content-Type': 'application/json'},
[
{'jsonrpc': '2.0', 'id': 1, 'method': 'eth_blockNumber', 'params': []},
{'jsonrpc': '2.0', 'id': 2, 'method': 'eth_chainId', 'params': []}
],
''
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data[0]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:result is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:id = 2 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:result = '0x1' ELSE true END
arguments:
args: |
'POST',
'https://ethereum-rpc.publicnode.com',
{'Content-Type': 'application/json'},
[
{'jsonrpc': '2.0', 'id': 1, 'method': 'eth_blockNumber', 'params': []},
{'jsonrpc': '2.0', 'id': 2, 'method': 'eth_chainId', 'params': []}
],
''
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data[0]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:result is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:id = 2 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:result = '0x1' ELSE true END
- test_udf:
name: test__live_udf_api_batched_post_jsonrpc_solana
args: |
'POST',
'https://api.mainnet-beta.solana.com',
{'Content-Type': 'application/json'},
{
'jsonrpc': '2.0',
'id': 1,
'method': 'getVersion'
},
''
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.result is not null ELSE true END
arguments:
args: |
'POST',
'https://api.mainnet-beta.solana.com',
{'Content-Type': 'application/json'},
{
'jsonrpc': '2.0',
'id': 1,
'method': 'getVersion'
},
''
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.result is not null ELSE true END
- name: udf_api
tests:
- test_udf:
name: test__live_udf_api_post_data_object
args: |
'https://httpbin.org/post', {'foo': 'bar'}
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.json is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json = OBJECT_CONSTRUCT('foo', 'bar') ELSE true END
arguments:
args: |
'https://httpbin.org/post', {'foo': 'bar'}
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.json is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json = OBJECT_CONSTRUCT('foo', 'bar') ELSE true END
- test_udf:
name: test__live_udf_api_post_data_array
args: |
'https://httpbin.org/post', ['foo', 'bar']
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.json is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json = ARRAY_CONSTRUCT('foo', 'bar') ELSE true END
arguments:
args: |
'https://httpbin.org/post', ['foo', 'bar']
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.json is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json = ARRAY_CONSTRUCT('foo', 'bar') ELSE true END
- test_udf:
name: test__live_udf_api_post_data_string
args: |
'https://httpbin.org/post', 'foo'::VARIANT
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.json is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json = 'foo' ELSE true END
arguments:
args: |
'https://httpbin.org/post', 'foo'::VARIANT
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.json is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json = 'foo' ELSE true END
- test_udf:
name: test__live_udf_api_get_method
args: |
'https://httpbin.org/get'
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.url = 'https://httpbin.org/get' ELSE true END
arguments:
args: |
'https://httpbin.org/get'
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.url = 'https://httpbin.org/get' ELSE true END
- test_udf:
name: test__live_udf_api_get_with_params
args: |
'GET', 'https://httpbin.org/get', {'Content-Type': 'application/json'}, {'param1': 'value1', 'param2': 'value2'}
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.args is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.args:param1 = 'value1' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.args:param2 = 'value2' ELSE true END
arguments:
args: |
'GET', 'https://httpbin.org/get', {'Content-Type': 'application/json'}, {'param1': 'value1', 'param2': 'value2'}
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.args is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.args:param1 = 'value1' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.args:param2 = 'value2' ELSE true END
- test_udf:
name: test__live_udf_api_post_batch_jsonrpc
args: |
'https://httpbin.org/post', {
'jsonrpc': '2.0',
'id': 1,
'method': 'batch',
'params': [
{'id': 1, 'method': 'method1', 'params': {'param1': 'value1'}},
{'id': 2, 'method': 'method2', 'params': {'param2': 'value2'}}
]
}
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.json:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json:id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json:method = 'batch' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json:params is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json:params[0]:id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json:params[1]:id = 2 ELSE true END
arguments:
args: |
'https://httpbin.org/post', {
'jsonrpc': '2.0',
'id': 1,
'method': 'batch',
'params': [
{'id': 1, 'method': 'method1', 'params': {'param1': 'value1'}},
{'id': 2, 'method': 'method2', 'params': {'param2': 'value2'}}
]
}
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.json:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json:id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json:method = 'batch' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json:params is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json:params[0]:id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json:params[1]:id = 2 ELSE true END
- test_udf:
name: test__live_udf_api_post_jsonrpc_solana
args: |
'POST',
'https://api.mainnet-beta.solana.com',
{'Content-Type': 'application/json'},
{
'jsonrpc': '2.0',
'id': 1,
'method': 'getVersion'
},
''
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.result is not null ELSE true END
arguments:
args: |
'POST',
'https://api.mainnet-beta.solana.com',
{'Content-Type': 'application/json'},
{
'jsonrpc': '2.0',
'id': 1,
'method': 'getVersion'
},
''
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.result is not null ELSE true END
- test_udf:
name: test__live_udf_api_post_jsonrpc_solana_batch
args: |
'POST',
'https://api.mainnet-beta.solana.com',
{'Content-Type': 'application/json'},
[
{'jsonrpc': '2.0', 'id': 1, 'method': 'getVersion'},
{'jsonrpc': '2.0', 'id': 2, 'method': 'getVersion'}
],
''
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data[0]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:result is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:id = 2 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:result is not null ELSE true END
arguments:
args: |
'POST',
'https://api.mainnet-beta.solana.com',
{'Content-Type': 'application/json'},
[
{'jsonrpc': '2.0', 'id': 1, 'method': 'getVersion'},
{'jsonrpc': '2.0', 'id': 2, 'method': 'getVersion'}
],
''
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data[0]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:result is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:id = 2 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:result is not null ELSE true END
- test_udf:
name: test__live_udf_api_post_jsonrpc_ethereum_batch
args: |
'POST',
'https://ethereum-rpc.publicnode.com',
{'Content-Type': 'application/json'},
[
{'jsonrpc': '2.0', 'id': 1, 'method': 'eth_blockNumber', 'params': []},
{'jsonrpc': '2.0', 'id': 2, 'method': 'eth_chainId', 'params': []}
],
''
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data[0]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:result is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:id = 2 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:result = '0x1' ELSE true END
arguments:
args: |
'POST',
'https://ethereum-rpc.publicnode.com',
{'Content-Type': 'application/json'},
[
{'jsonrpc': '2.0', 'id': 1, 'method': 'eth_blockNumber', 'params': []},
{'jsonrpc': '2.0', 'id': 2, 'method': 'eth_chainId', 'params': []}
],
''
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data[0]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:result is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:id = 2 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:result = '0x1' ELSE true END
- name: udf_api_v2
tests:
# Convenience overloads (always sync)
- test_udf:
name: test__live_udf_api_v2_post_data_object_sync
args: |
'https://httpbin.org/post', {'foo': 'bar'}
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.json is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json = OBJECT_CONSTRUCT('foo', 'bar') ELSE true END
arguments:
args: |
'https://httpbin.org/post', {'foo': 'bar'}
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.json is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json = OBJECT_CONSTRUCT('foo', 'bar') ELSE true END
- test_udf:
name: test__live_udf_api_v2_post_data_array_sync
args: |
'https://httpbin.org/post', ['foo', 'bar']
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.json is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json = ARRAY_CONSTRUCT('foo', 'bar') ELSE true END
arguments:
args: |
'https://httpbin.org/post', ['foo', 'bar']
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.json is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json = ARRAY_CONSTRUCT('foo', 'bar') ELSE true END
- test_udf:
name: test__live_udf_api_v2_post_data_string_sync
args: |
'https://httpbin.org/post', 'foo'::VARIANT
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.json is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json = 'foo' ELSE true END
arguments:
args: |
'https://httpbin.org/post', 'foo'::VARIANT
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.json is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json = 'foo' ELSE true END
- test_udf:
name: test__live_udf_api_v2_get_method_sync
args: |
'https://httpbin.org/get'
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.url = 'https://httpbin.org/get' ELSE true END
arguments:
args: |
'https://httpbin.org/get'
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.url = 'https://httpbin.org/get' ELSE true END
- test_udf:
name: test__live_udf_api_v2_post_batch_jsonrpc_sync
args: |
'https://httpbin.org/post', {
'jsonrpc': '2.0',
'id': 1,
'method': 'batch',
'params': [
{'id': 1, 'method': 'method1', 'params': {'param1': 'value1'}},
{'id': 2, 'method': 'method2', 'params': {'param2': 'value2'}}
]
}
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.json:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json:id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json:method = 'batch' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json:params is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json:params[0]:id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json:params[1]:id = 2 ELSE true END
arguments:
args: |
'https://httpbin.org/post', {
'jsonrpc': '2.0',
'id': 1,
'method': 'batch',
'params': [
{'id': 1, 'method': 'method1', 'params': {'param1': 'value1'}},
{'id': 2, 'method': 'method2', 'params': {'param2': 'value2'}}
]
}
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.json:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json:id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json:method = 'batch' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json:params is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json:params[0]:id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.json:params[1]:id = 2 ELSE true END
# Full signature tests - SYNC mode
- test_udf:
name: test__live_udf_api_v2_get_with_params_sync
args: |
'GET', 'https://httpbin.org/get', {'Content-Type': 'application/json'}, {'param1': 'value1', 'param2': 'value2'}, FALSE
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.args is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.args:param1 = 'value1' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.args:param2 = 'value2' ELSE true END
arguments:
args: |
'GET', 'https://httpbin.org/get', {'Content-Type': 'application/json'}, {'param1': 'value1', 'param2': 'value2'}, FALSE
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.args is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.args:param1 = 'value1' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.args:param2 = 'value2' ELSE true END
- test_udf:
name: test__live_udf_api_v2_post_jsonrpc_solana_sync
args: |
'POST',
'https://api.mainnet-beta.solana.com',
{'Content-Type': 'application/json'},
{
'jsonrpc': '2.0',
'id': 1,
'method': 'getVersion'
},
FALSE
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.result is not null ELSE true END
arguments:
args: |
'POST',
'https://api.mainnet-beta.solana.com',
{'Content-Type': 'application/json'},
{
'jsonrpc': '2.0',
'id': 1,
'method': 'getVersion'
},
FALSE
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.result is not null ELSE true END
- test_udf:
name: test__live_udf_api_v2_post_jsonrpc_solana_batch_sync
args: |
'POST',
'https://api.mainnet-beta.solana.com',
{'Content-Type': 'application/json'},
[
{'jsonrpc': '2.0', 'id': 1, 'method': 'getVersion'},
{'jsonrpc': '2.0', 'id': 2, 'method': 'getVersion'}
],
FALSE
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data[0]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:result is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:id = 2 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:result is not null ELSE true END
arguments:
args: |
'POST',
'https://api.mainnet-beta.solana.com',
{'Content-Type': 'application/json'},
[
{'jsonrpc': '2.0', 'id': 1, 'method': 'getVersion'},
{'jsonrpc': '2.0', 'id': 2, 'method': 'getVersion'}
],
FALSE
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data[0]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:result is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:id = 2 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:result is not null ELSE true END
- test_udf:
name: test__live_udf_api_v2_post_jsonrpc_ethereum_batch_sync
args: |
'POST',
'https://ethereum-rpc.publicnode.com',
{'Content-Type': 'application/json'},
[
{'jsonrpc': '2.0', 'id': 1, 'method': 'eth_blockNumber', 'params': []},
{'jsonrpc': '2.0', 'id': 2, 'method': 'eth_chainId', 'params': []}
],
FALSE
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data[0]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:result is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:id = 2 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:result = '0x1' ELSE true END
arguments:
args: |
'POST',
'https://ethereum-rpc.publicnode.com',
{'Content-Type': 'application/json'},
[
{'jsonrpc': '2.0', 'id': 1, 'method': 'eth_blockNumber', 'params': []},
{'jsonrpc': '2.0', 'id': 2, 'method': 'eth_chainId', 'params': []}
],
FALSE
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data[0]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:result is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:id = 2 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:result = '0x1' ELSE true END
# Full signature tests - ASYNC mode
- test_udf:
name: test__live_udf_api_v2_get_with_params_async
args: |
'GET', 'https://httpbin.org/get', {'Content-Type': 'application/json'}, {'param1': 'value1', 'param2': 'value2'}, TRUE
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.args is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.args:param1 = 'value1' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.args:param2 = 'value2' ELSE true END
arguments:
args: |
'GET', 'https://httpbin.org/get', {'Content-Type': 'application/json'}, {'param1': 'value1', 'param2': 'value2'}, TRUE
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.args is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.args:param1 = 'value1' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.args:param2 = 'value2' ELSE true END
- test_udf:
name: test__live_udf_api_v2_post_jsonrpc_solana_async
args: |
'POST',
'https://api.mainnet-beta.solana.com',
{'Content-Type': 'application/json'},
{
'jsonrpc': '2.0',
'id': 1,
'method': 'getVersion'
},
TRUE
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.result is not null ELSE true END
arguments:
args: |
'POST',
'https://api.mainnet-beta.solana.com',
{'Content-Type': 'application/json'},
{
'jsonrpc': '2.0',
'id': 1,
'method': 'getVersion'
},
TRUE
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.result is not null ELSE true END
- test_udf:
name: test__live_udf_api_v2_post_jsonrpc_solana_batch_async
args: |
'POST',
'https://api.mainnet-beta.solana.com',
{'Content-Type': 'application/json'},
[
{'jsonrpc': '2.0', 'id': 1, 'method': 'getVersion'},
{'jsonrpc': '2.0', 'id': 2, 'method': 'getVersion'}
],
TRUE
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data[0]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:result is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:id = 2 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:result is not null ELSE true END
arguments:
args: |
'POST',
'https://api.mainnet-beta.solana.com',
{'Content-Type': 'application/json'},
[
{'jsonrpc': '2.0', 'id': 1, 'method': 'getVersion'},
{'jsonrpc': '2.0', 'id': 2, 'method': 'getVersion'}
],
TRUE
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data[0]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:result is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:id = 2 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:result is not null ELSE true END
- test_udf:
name: test__live_udf_api_v2_post_jsonrpc_ethereum_batch_async
args: |
'POST',
'https://ethereum-rpc.publicnode.com',
{'Content-Type': 'application/json'},
[
{'jsonrpc': '2.0', 'id': 1, 'method': 'eth_blockNumber', 'params': []},
{'jsonrpc': '2.0', 'id': 2, 'method': 'eth_chainId', 'params': []}
],
TRUE
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data[0]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:result is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:id = 2 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:result = '0x1' ELSE true END
arguments:
args: |
'POST',
'https://ethereum-rpc.publicnode.com',
{'Content-Type': 'application/json'},
[
{'jsonrpc': '2.0', 'id': 1, 'method': 'eth_blockNumber', 'params': []},
{'jsonrpc': '2.0', 'id': 2, 'method': 'eth_chainId', 'params': []}
],
TRUE
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data[0]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[0]:result is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:id = 2 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data[1]:result = '0x1' ELSE true END
# Explicit is_async boolean parameter tests
- test_udf:
name: test__live_udf_api_v2_get_with_headers_is_async_true
args: |
'https://httpbin.org/get', {'Content-Type': 'application/json'}, '', true
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.url = 'https://httpbin.org/get' ELSE true END
arguments:
args: |
'https://httpbin.org/get', {'Content-Type': 'application/json'}, '', true
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.url = 'https://httpbin.org/get' ELSE true END
- test_udf:
name: test__live_udf_api_v2_get_with_headers_is_async_false
args: |
'https://httpbin.org/get', {'Content-Type': 'application/json'}, '', false
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.url = 'https://httpbin.org/get' ELSE true END
arguments:
args: |
'https://httpbin.org/get', {'Content-Type': 'application/json'}, '', false
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.url = 'https://httpbin.org/get' ELSE true END
- test_udf:
name: test__live_udf_api_v2_full_signature_is_async_true
args: |
'GET', 'https://httpbin.org/get', {'Content-Type': 'application/json'}, {'param1': 'value1'}, '', true
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.args is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.args:param1 = 'value1' ELSE true END
arguments:
args: |
'GET', 'https://httpbin.org/get', {'Content-Type': 'application/json'}, {'param1': 'value1'}, '', true
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.args is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.args:param1 = 'value1' ELSE true END
- test_udf:
name: test__live_udf_api_v2_full_signature_is_async_false
args: |
'GET', 'https://httpbin.org/get', {'Content-Type': 'application/json'}, {'param1': 'value1'}, '', false
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.args is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.args:param1 = 'value1' ELSE true END
arguments:
args: |
'GET', 'https://httpbin.org/get', {'Content-Type': 'application/json'}, {'param1': 'value1'}, '', false
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.args is not null ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.args:param1 = 'value1' ELSE true END
- test_udf:
name: test__live_udf_api_v2_post_jsonrpc_is_async_true
args: |
'POST',
'https://api.mainnet-beta.solana.com',
{'Content-Type': 'application/json'},
{
'jsonrpc': '2.0',
'id': 1,
'method': 'getVersion'
},
'',
true
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.result is not null ELSE true END
arguments:
args: |
'POST',
'https://api.mainnet-beta.solana.com',
{'Content-Type': 'application/json'},
{
'jsonrpc': '2.0',
'id': 1,
'method': 'getVersion'
},
'',
true
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.result is not null ELSE true END
- test_udf:
name: test__live_udf_api_v2_post_jsonrpc_is_async_false
args: |
'POST',
'https://api.mainnet-beta.solana.com',
{'Content-Type': 'application/json'},
{
'jsonrpc': '2.0',
'id': 1,
'method': 'getVersion'
},
'',
false
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.result is not null ELSE true END
arguments:
args: |
'POST',
'https://api.mainnet-beta.solana.com',
{'Content-Type': 'application/json'},
{
'jsonrpc': '2.0',
'id': 1,
'method': 'getVersion'
},
'',
false
assertions:
- result:status_code IN (200, 502, 503)
- CASE WHEN result:status_code = 200 THEN result:data.jsonrpc = '2.0' ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.id = 1 ELSE true END
- CASE WHEN result:status_code = 200 THEN result:data.result is not null ELSE true END

View File

@ -6,264 +6,300 @@ models:
tests:
- test_udf:
name: test__utils_udf_json_rpc_call
args: "'foo', [], 1"
assertions:
- >
result = {
'jsonrpc': '2.0',
'method': 'foo',
'params': [],
'id': '1'
}
arguments:
args: "'foo', [], 1"
assertions:
- >
result = {
'jsonrpc': '2.0',
'method': 'foo',
'params': [],
'id': '1'
}
- name: udf_urlencode
tests:
- test_udf:
name: test__utils_udf_urlencode_dict_true_1
args: >
{'a':'b'}, TRUE
assertions:
- result = 'a=b'
arguments:
args: >
{'a':'b'}, TRUE
assertions:
- result = 'a=b'
- test_udf:
name: test__utils_udf_urlencode_dict_true_2
args: >
{'a':'a', 'b':'b'}, TRUE
assertions:
- result = 'a=a&b=b'
arguments:
args: >
{'a':'a', 'b':'b'}, TRUE
assertions:
- result = 'a=a&b=b'
- test_udf:
name: test__utils_udf_urlencode_dict_true_space
args: >
arguments:
args: >
{'space': 'abc 123'}, TRUE
assertions:
- result = 'space=abc+123'
assertions:
- result = 'space=abc+123'
- test_udf:
name: test__utils_udf_urlencode_dict_true_special
args: >
arguments:
args: >
{'special!': ' !@#$,+"'}, TRUE
assertions:
- result = 'special%21=+%21%40%23%24%2C%2B%22'
assertions:
- result = 'special%21=+%21%40%23%24%2C%2B%22'
- test_udf:
name: test__utils_udf_urlencode_dict_true_array
args: >
arguments:
args: >
{'array': [0, 1, 2]}, TRUE
assertions:
- result = 'array=0&array=1&array=2'
assertions:
- result = 'array=0&array=1&array=2'
- test_udf:
name: test__utils_udf_urlencode_dict_false_1
args: >
{'a':'b'}, FALSE
assertions:
- result = 'a=b'
arguments:
args: >
{'a':'b'}, FALSE
assertions:
- result = 'a=b'
- test_udf:
name: test__utils_udf_urlencode_dict_false_2
args: >
{'a':'b', 'b':'b'}, FALSE
assertions:
- result = 'a=b&b=b'
arguments:
args: >
{'a':'b', 'b':'b'}, FALSE
assertions:
- result = 'a=b&b=b'
- test_udf:
name: test__utils_udf_urlencode_dict_false_space
args: >
arguments:
args: >
{'space': 'abc 123'}, FALSE
assertions:
- result = 'space=abc+123'
assertions:
- result = 'space=abc+123'
- test_udf:
name: test__utils_udf_urlencode_dict_false_special
args: >
arguments:
args: >
{'special!': ' !@#$,+"'}, FALSE
assertions:
- result = 'special%21=+%21%40%23%24%2C%2B%22'
assertions:
- result = 'special%21=+%21%40%23%24%2C%2B%22'
- test_udf:
name: test__utils_udf_urlencode_dict_false_array
args: >
arguments:
args: >
{'array': [0, 1, 2]}, FALSE
assertions:
- result = 'array=%5B0%2C+1%2C+2%5D'
assertions:
- result = 'array=%5B0%2C+1%2C+2%5D'
- test_udf:
name: test__utils_udf_urlencode_dict_1
args: >
{'a':'b'}
assertions:
- result = 'a=b'
arguments:
args: >
{'a':'b'}
assertions:
- result = 'a=b'
- test_udf:
name: test__utils_udf_urlencode_dict_2
args: >
{'a':'b', 'b':'b'}
assertions:
- result = 'a=b&b=b'
arguments:
args: >
{'a':'b', 'b':'b'}
assertions:
- result = 'a=b&b=b'
- test_udf:
name: test__utils_udf_urlencode_dict_space
args: >
arguments:
args: >
{'space': 'abc 123'}
assertions:
- result = 'space=abc+123'
assertions:
- result = 'space=abc+123'
- test_udf:
name: test__utils_udf_urlencode_dict_special
args: >
arguments:
args: >
{'special!': ' !@#$,+"'}
assertions:
- result = 'special%21=+%21%40%23%24%2C%2B%22'
assertions:
- result = 'special%21=+%21%40%23%24%2C%2B%22'
- test_udf:
name: test__utils_udf_urlencode_dict_array
args: >
arguments:
args: >
{'array': [0, 1, 2]}
assertions:
- result = 'array=%5B0%2C+1%2C+2%5D'
assertions:
- result = 'array=%5B0%2C+1%2C+2%5D'
# write tests but use arrays of arrays instead of dictionaries
- test_udf:
name: test__utils_udf_urlencode_array_true_1
args: >
[['a', 'b']], TRUE
assertions:
- result = 'a=b'
arguments:
args: >
[['a', 'b']], TRUE
assertions:
- result = 'a=b'
- test_udf:
name: test__utils_udf_urlencode_array_true_2
args: >
[['a', 'a'], ['b', 'b']], TRUE
assertions:
- result = 'a=a&b=b'
arguments:
args: >
[['a', 'a'], ['b', 'b']], TRUE
assertions:
- result = 'a=a&b=b'
- test_udf:
name: test__utils_udf_urlencode_array_true_space
args: >
arguments:
args: >
[['space', 'abc 123']], TRUE
assertions:
- result = 'space=abc+123'
assertions:
- result = 'space=abc+123'
- test_udf:
name: test__utils_udf_urlencode_array_true_special
args: >
arguments:
args: >
[['special!', ' !@#$,+"']], TRUE
assertions:
- result = 'special%21=+%21%40%23%24%2C%2B%22'
assertions:
- result = 'special%21=+%21%40%23%24%2C%2B%22'
- test_udf:
name: test__utils_udf_urlencode_array_true_array
args: >
arguments:
args: >
[['array', [0, 1, 2]]], TRUE
assertions:
- result = 'array=0&array=1&array=2'
assertions:
- result = 'array=0&array=1&array=2'
- test_udf:
name: test__utils_udf_urlencode_array_false_1
args: >
[['a', 'b']], FALSE
assertions:
- result = 'a=b'
arguments:
args: >
[['a', 'b']], FALSE
assertions:
- result = 'a=b'
- test_udf:
name: test__utils_udf_urlencode_array_false_2
args: >
[['a', 'a'], ['b', 'b']], FALSE
assertions:
- result = 'a=a&b=b'
arguments:
args: >
[['a', 'a'], ['b', 'b']], FALSE
assertions:
- result = 'a=a&b=b'
- test_udf:
name: test__utils_udf_urlencode_array_false_space
args: >
arguments:
args: >
[['space', 'abc 123']], FALSE
assertions:
- result = 'space=abc+123'
assertions:
- result = 'space=abc+123'
- test_udf:
name: test__utils_udf_urlencode_array_false_special
args: >
arguments:
args: >
[['special!', ' !@#$,+"']], FALSE
assertions:
- result = 'special%21=+%21%40%23%24%2C%2B%22'
assertions:
- result = 'special%21=+%21%40%23%24%2C%2B%22'
- test_udf:
name: test__utils_udf_urlencode_array_false_array
args: >
arguments:
args: >
[['array', [0, 1, 2]]], FALSE
assertions:
- result = 'array=%5B0%2C+1%2C+2%5D'
assertions:
- result = 'array=%5B0%2C+1%2C+2%5D'
- test_udf:
name: test__utils_udf_urlencode_array_1
args: >
[['a', 'b']]
assertions:
- result = 'a=b'
arguments:
args: >
[['a', 'b']]
assertions:
- result = 'a=b'
- test_udf:
name: test__utils_udf_urlencode_array_2
args: >
[['a', 'a'], ['b', 'b']]
assertions:
- result = 'a=a&b=b'
arguments:
args: >
[['a', 'a'], ['b', 'b']]
assertions:
- result = 'a=a&b=b'
- test_udf:
name: test__utils_udf_urlencode_array_space
args: >
arguments:
args: >
[['space', 'abc 123']]
assertions:
- result = 'space=abc+123'
assertions:
- result = 'space=abc+123'
- test_udf:
name: test__utils_udf_urlencode_array_special
args: >
arguments:
args: >
[['special!', ' !@#$,+"']]
assertions:
- result = 'special%21=+%21%40%23%24%2C%2B%22'
assertions:
- result = 'special%21=+%21%40%23%24%2C%2B%22'
- test_udf:
name: test__utils_udf_urlencode_array_array
args: >
arguments:
args: >
[['array', [0, 1, 2]]]
assertions:
- result = 'array=%5B0%2C+1%2C+2%5D'
assertions:
- result = 'array=%5B0%2C+1%2C+2%5D'
- name: udf_int_to_binary
tests:
- test_udf:
name: test__utils_udf_int_to_binary
args: 123456789
assertions:
- result = '111010110111100110100010101'
arguments:
args: 123456789
assertions:
- result = '111010110111100110100010101'
- name: udf_int_to_binary
tests:
- test_udf:
name: test__utils_udf_int_to_binary_large_number
args: "'123456789123456789123456789123456789123456789'"
assertions:
- result = '101100010010011011011100101001111010001001110011010111111101111101010111011001001101000001111110001010100001011011010000100000001000101111100010101'
arguments:
args: "'123456789123456789123456789123456789123456789'"
assertions:
- result = '101100010010011011011100101001111010001001110011010111111101111101010111011001001101000001111110001010100001011011010000100000001000101111100010101'
- name: udf_binary_to_int
tests:
- test_udf:
name: test__utils_udf_binary_to_int
args: '111010110111100110100010101'
assertions:
- result = '123456789'
arguments:
args: '111010110111100110100010101'
assertions:
- result = '123456789'
- name: udf_binary_to_int
tests:
- test_udf:
name: test__utils_udf_binary_to_int_large_number
args: "'110110110100110110100101110101100110100000101111100010101'"
assertions:
- result = '123456789123456789'
arguments:
args: "'110110110100110110100101110101100110100000101111100010101'"
assertions:
- result = '123456789123456789'
- name: udf_evm_decode_log
tests:
- test_udf:
name: test__utils_udf_evm_decode_log
args: >
{
'anonymous': false,
'inputs': [
{
'indexed': false,
'name': 'nonce',
'type': 'uint256'
}
],
'name': 'NonceChanged',
'type': 'event'
}::variant,
{
'address': '0x55032650b14df07b85bf18a3a3ec8e0af2e028d5',
'data': '0x000000000000000000000000000000000000000000000000000000000000279c',
'topics': [
'0x7220970e1f1f12864ecccd8942690a837c7a8dd45d158cb891eb45a8a69134aa'
]
}::variant
assertions:
- >
result = [
{
'address': '0x55032650b14df07b85bF18A3a3eC8E0Af2e028d5',
'data': [
{
'decoded': true,
'name': 'nonce',
'type': 'uint256',
'value': 10140
}
],
'decoded': true,
'name': 'NonceChanged'
}
]
arguments:
args: >
{
'anonymous': false,
'inputs': [
{
'indexed': false,
'name': 'nonce',
'type': 'uint256'
}
],
'name': 'NonceChanged',
'type': 'event'
}::variant,
{
'address': '0x55032650b14df07b85bf18a3a3ec8e0af2e028d5',
'data': '0x000000000000000000000000000000000000000000000000000000000000279c',
'topics': [
'0x7220970e1f1f12864ecccd8942690a837c7a8dd45d158cb891eb45a8a69134aa'
]
}::variant
assertions:
- >-
result = [
{
'address': '0x55032650b14df07b85bF18A3a3eC8E0Af2e028d5',
'data': [
{
'decoded': true,
'name': 'nonce',
'type': 'uint256',
'value': 10140
}
],
'decoded': true,
'name': 'NonceChanged'
}
]

View File

@ -6,161 +6,177 @@ models:
tests:
- test_udf:
name: test_alchemy_nfts__get_nfts_status_200
args: >
'eth-mainnet', {'owner': '0x4a9318F375937B56045E5a548e7E66AEA61Dd610'}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', {'owner': '0x4a9318F375937B56045E5a548e7E66AEA61Dd610'}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_owners_for_token
tests:
- test_udf:
name: test_alchemy_nfts__get_owners_for_token_status_200
args: >
'eth-mainnet', {'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330', 'tokenId': 44}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', {'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330', 'tokenId': 44}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_owners_for_collection
tests:
- test_udf:
name: test_alchemy_nfts__get_owners_for_collection_status_200
args: >
'eth-mainnet', {'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330', 'withTokenBalances': True}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', {'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330', 'withTokenBalances': True}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: is_holder_of_collection
tests:
- test_udf:
name: test_alchemy_nfts__is_holder_of_collection_status_200
args: >
'eth-mainnet', {'wallet': '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', 'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330'}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', {'wallet': '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', 'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330'}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_contracts_for_owner
tests:
- test_udf:
name: test_alchemy_nfts__get_contracts_for_owner_status_200
args: >
'eth-mainnet', {'owner': 'vitalik.eth', 'pageSize': 100, 'page': 1}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', {'owner': 'vitalik.eth', 'pageSize': 100, 'page': 1}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_nft_metadata
tests:
- test_udf:
name: test_alchemy_nfts__get_nft_metadata_status_200
args: >
'eth-mainnet', {'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330', 'tokenId': 44}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', {'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330', 'tokenId': 44}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_nft_metadata_batch
tests:
- test_udf:
name: test_alchemy_nfts__get_nft_metadata_batch_status_200
args: >
'eth-mainnet', {'tokens': [{'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330', 'tokenId': 44}, {'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330', 'tokenId': 43}]}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', {'tokens': [{'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330', 'tokenId': 44}, {'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330', 'tokenId': 43}]}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_contract_metadata
tests:
- test_udf:
name: test_alchemy_nfts__get_contract_metadata_status_200
args: >
'eth-mainnet', {'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330'}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', {'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330'}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_contract_metadata_batch
tests:
- test_udf:
name: test_alchemy_nfts__get_contract_metadata_batch_status_200
args: >
'eth-mainnet', {'contractAddresses': ['0xe785E82358879F061BC3dcAC6f0444462D4b5330', '0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d']}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', {'contractAddresses': ['0xe785E82358879F061BC3dcAC6f0444462D4b5330', '0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d']}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: invalidate_contract
tests:
- test_udf:
name: test_alchemy_nfts__invalidate_contract_status_200
args: >
'eth-mainnet', {'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330'}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', {'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330'}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: reingest_contract
tests:
- test_udf:
name: test_alchemy_nfts__reingest_contract_status_200
args: >
'eth-mainnet', {'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330'}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', {'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330'}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: search_contract_metadata
tests:
- test_udf:
name: test_alchemy_nfts__search_contract_metadata_status_200
args: >
'eth-mainnet', {'query': 'bored'}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', {'query': 'bored'}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_nfts_for_collection
tests:
- test_udf:
name: test_alchemy_nfts__get_nfts_for_collection_status_200
args: >
'eth-mainnet', {'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330', 'withMetadata': True}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', {'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330', 'withMetadata': True}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_spam_contracts
tests:
- test_udf:
name: test_alchemy_nfts__get_spam_contracts_status_200
args: >
'eth-mainnet', {}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', {}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: is_spam_contract
tests:
- test_udf:
name: test_alchemy_nfts__is_spam_contract_status_200
args: >
'eth-mainnet', {'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330'}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', {'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330'}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: is_airdrop
tests:
- test_udf:
name: test_alchemy_nfts__is_airdrop_status_200
args: >
'eth-mainnet', {'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330', 'tokenId': 44}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', {'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330', 'tokenId': 44}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: report_spam
tests:
@ -169,47 +185,52 @@ models:
# we don't want to run this test in CI
enabled: false
name: test_alchemy_nfts__report_spam_status_200
args: null
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args:
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_floor_price
tests:
- test_udf:
name: test_alchemy_nfts__get_floor_price_status_200
args: >
'eth-mainnet', {'contractAddress': '0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d'}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', {'contractAddress': '0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d'}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_nft_sales
tests:
- test_udf:
name: test_alchemy_nfts__get_nft_sales_status_200
args: >
'eth-mainnet', {'fromBlock': 0, 'toBlock': 'latest', 'order': 'asc', 'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330', 'tokenId': 44}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', {'fromBlock': 0, 'toBlock': 'latest', 'order': 'asc', 'contractAddress': '0xe785E82358879F061BC3dcAC6f0444462D4b5330', 'tokenId': 44}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: compute_rarity
tests:
- test_udf:
name: test_alchemy_nfts__compute_rarity_status_200
args: >
'eth-mainnet', {'tokenId': 3603, 'contractAddress': '0xb6a37b5d14d502c3ab0ae6f3a0e058bc9517786e'}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', {'tokenId': 3603, 'contractAddress': '0xb6a37b5d14d502c3ab0ae6f3a0e058bc9517786e'}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: summarize_nft_attributes
tests:
- test_udf:
name: test_alchemy_nfts__summarize_nft_attributes_status_200
args: >
'eth-mainnet', {'contractAddress': '0xb6a37b5d14d502c3ab0ae6f3a0e058bc9517786e'}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', {'contractAddress': '0xb6a37b5d14d502c3ab0ae6f3a0e058bc9517786e'}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,30 +6,32 @@ models:
tests:
- test_udf:
name: test_alchemy_tokens__get_token_allowance_status_200
args: >
'eth-mainnet', [{'contract': '0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270', 'owner': '0xf1a726210550c306a9964b251cbcd3fa5ecb275d', 'spender': '0xdef1c0ded9bec7f1a1670819833240f027b25eff'}]
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', [{'contract': '0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270', 'owner': '0xf1a726210550c306a9964b251cbcd3fa5ecb275d', 'spender': '0xdef1c0ded9bec7f1a1670819833240f027b25eff'}]
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_token_balances
tests:
- test_udf:
name: test_alchemy_tokens__get_token_balances_status_200
args: >
'eth-mainnet', ['0x95222290DD7278Aa3Ddd389Cc1E1d165CC4BAfe5', 'erc20']
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', ['0x95222290DD7278Aa3Ddd389Cc1E1d165CC4BAfe5', 'erc20']
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_token_metadata
tests:
- test_udf:
name: test_alchemy_tokens__get_token_metadata_status_200
args: >
'eth-mainnet', ['0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48']
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', ['0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48']
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,9 +6,9 @@ models:
tests:
- test_udf:
name: test_alchemy_transfers__get_asset_transfers_status_200
args: >
'eth-mainnet', [{'fromBlock': '0x0', 'toBlock': 'latest', 'toAddress': '0x5c43B1eD97e52d009611D89b74fA829FE4ac56b1', 'category': ['external'], 'withMetadata': True, 'excludeZeroValue': True}]
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'eth-mainnet', [{'fromBlock': '0x0', 'toBlock': 'latest', 'toAddress': '0x5c43B1eD97e52d009611D89b74fA829FE4ac56b1', 'category': ['external'], 'withMetadata': True, 'excludeZeroValue': True}]
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,30 +6,31 @@ models:
tests:
- test_udf:
name: test_allday__graphql_status_200
args: >
{
'query': '{
searchPlays(input: {filters: {byFlowIDs: ["1666"]}}){
plays {
id
flowID
metadata {
description
playerID
playTypeV2
classification
week
season
playerFullName
playerPosition
playerDraftTeam
gameDate
teamName
}
}
}',
'variables': '{}'
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'query': '{
searchPlays(input: {filters: {byFlowIDs: ["1666"]}}){
plays {
id
flowID
metadata {
description
playerID
playTypeV2
classification
week
season
playerFullName
playerPosition
playerDraftTeam
gameDate
teamName
}
}
}',
'variables': '{}'
}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,9 +6,10 @@ models:
tests:
- test_udf:
name: test_apilayer__get_status_200
args: >
'/odds/sports'
, {'all': 'true'}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'/odds/sports'
, {'all': 'true'}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,34 +6,34 @@ models:
tests:
- test_udf:
name: test_bitquery__graphql_status_200
args: >
{
'query': '{
ethereum( network: bsc ) {
dexTrades(
options: {limit: 1}
baseCurrency: {is: "0x6679eB24F59dFe111864AEc72B443d1Da666B360"}
quoteCurrency: {is: "0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c"}
) {
buyAmount
buyAmountInUsd: buyAmount(in: USD)
buyCurrency {
symbol
address
arguments:
args: >
{
'query': '{
ethereum( network: bsc ) {
dexTrades(
options: {limit: 1}
baseCurrency: {is: "0x6679eB24F59dFe111864AEc72B443d1Da666B360"}
quoteCurrency: {is: "0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c"}
) {
buyAmount
buyAmountInUsd: buyAmount(in: USD)
buyCurrency {
symbol
address
}
sellAmount
sellCurrency {
symbol
address
}
tradeAmount(in: USD)
}
sellAmount
sellCurrency {
symbol
address
}
tradeAmount(in: USD)
}
}
}',
'variables': '{}'
}
assertions:
- result:status_code = 200
- result:error IS NULL
}',
'variables': '{}'
}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,26 +6,28 @@ models:
tests:
- test_udf:
name: test_blockpour_utils__get_status_200
args: >
'/v1/tokens/1/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', {
'blockNumber': 17767007
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'/v1/tokens/1/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', {
'blockNumber': 17767007
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: post
tests:
- test_udf:
name: test_blockpour_utils__post_status_200
args: >
'/v1/model/run', {
'slug': 'price.quote',
'version': '1.0',
'chainId': 1,
'blockNumber': 17767016,
'input': {}
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'/v1/model/run', {
'slug': 'price.quote',
'version': '1.0',
'chainId': 1,
'blockNumber': 17767016,
'input': {}
}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,14 +6,14 @@ models:
tests:
- test_udf:
name: test_chainbase_utils__get_status_200
args: >
'/v1/nft/metadata'
, {
'chain_id': 1,
'contract_address': '0xed5af388653567af2f388e6224dc7c4b3241c544',
'token_id': 1
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'/v1/nft/metadata'
, {
'chain_id': 1,
'contract_address': '0xed5af388653567af2f388e6224dc7c4b3241c544',
'token_id': 1
}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,101 +6,109 @@ models:
tests:
- test_udf:
name: test_claude__post_messages_only_one_message
args: >
[{'role': 'user', 'content': 'Hello, how are you?'}]
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
[{'role': 'user', 'content': 'Hello, how are you?'}]
assertions:
- result:status_code = 200
- result:error IS NULL
- test_udf:
name: test_claude__post_messages_with_model
args: >
'claude-3-5-sonnet-20241022',
[{'role': 'user', 'content': 'Hello, how are you?'}],
1024
assertions:
- result:status_code = 200
arguments:
args: >
'claude-3-5-sonnet-20241022',
[{'role': 'user', 'content': 'Hello, how are you?'}],
1024
assertions:
- result:status_code = 200
- test_udf:
name: test_claude__post_messages_with_all_params
args: >
'claude-3-5-sonnet-20241022',
[{'role': 'user', 'content': 'Hello, how are you?'}],
1024,
0.5,
10,
0.95,
'You are a helpful assistant.'
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'claude-3-5-sonnet-20241022',
[{'role': 'user', 'content': 'Hello, how are you?'}],
1024,
0.5,
10,
0.95,
'You are a helpful assistant.'
assertions:
- result:status_code = 200
- result:error IS NULL
- name: count_message_tokens
tests:
- test_udf:
name: test_claude__count_message_tokens
args: >
'claude-3-5-sonnet-20241022',
[{'role': 'user', 'content': 'Hello, how are you?'}]
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'claude-3-5-sonnet-20241022',
[{'role': 'user', 'content': 'Hello, how are you?'}]
assertions:
- result:status_code = 200
- result:error IS NULL
- name: list_models
tests:
- test_udf:
name: test_claude__list_models
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_model
tests:
- test_udf:
name: test_claude__get_model
args: >
'claude-3-5-sonnet-20241022'
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'claude-3-5-sonnet-20241022'
assertions:
- result:status_code = 200
- result:error IS NULL
- name: post_messages_batch
tests:
- test_udf:
name: test_claude__post_messages_batch
args: >
{
'requests': [
{
'custom_id': 'test_1',
'params': {
'model': 'claude-3-5-sonnet-20241022',
'max_tokens': 100,
'messages': [{'role': 'user', 'content': 'Say hello'}]
arguments:
args: >
{
'requests': [
{
'custom_id': 'test_1',
'params': {
'model': 'claude-3-5-sonnet-20241022',
'max_tokens': 100,
'messages': [{'role': 'user', 'content': 'Say hello'}]
}
},
{
'custom_id': 'test_2',
'params': {
'model': 'claude-3-5-sonnet-20241022',
'max_tokens': 100,
'messages': [{'role': 'user', 'content': 'Say goodbye'}]
}
}
},
{
'custom_id': 'test_2',
'params': {
'model': 'claude-3-5-sonnet-20241022',
'max_tokens': 100,
'messages': [{'role': 'user', 'content': 'Say goodbye'}]
}
}
]
}
assertions:
- result:status_code = 200
- result:error IS NULL
- result:data:id IS NOT NULL
- result:data:type = 'message_batch'
]
}
assertions:
- result:status_code = 200
- result:error IS NULL
- result:data:id IS NOT NULL
- result:data:type = 'message_batch'
- name: list_message_batches
tests:
- test_udf:
name: test_claude__list_message_batches
assertions:
- result:status_code = 200
- result:error IS NULL
- result:data IS NOT NULL
arguments:
assertions:
- result:status_code = 200
- result:error IS NULL
- result:data IS NOT NULL
# Skip pagination tests that require valid batch IDs
- name: list_message_batches_with_before
@ -109,11 +117,12 @@ models:
config:
enabled: false
name: test_claude__list_message_batches_with_before_disabled
args: >
null,
5
assertions:
- result:status_code = 200
arguments:
args: >
null,
5
assertions:
- result:status_code = 200
- name: list_message_batches_with_after
tests:
@ -121,11 +130,12 @@ models:
config:
enabled: false
name: test_claude__list_message_batches_with_after_disabled
args: >
null,
5
assertions:
- result:status_code = 200
arguments:
args: >
null,
5
assertions:
- result:status_code = 200
# Skip individual batch access tests that require valid batch IDs
- name: get_message_batch
@ -134,10 +144,11 @@ models:
config:
enabled: false
name: test_claude__get_message_batch_disabled
args: >
'msgbatch_test'
assertions:
- result:status_code = 404
arguments:
args: >
'msgbatch_test'
assertions:
- result:status_code = 404
- name: get_message_batch_results
tests:
@ -145,7 +156,8 @@ models:
config:
enabled: false
name: test_claude__get_message_batch_results_disabled
args: >
'msgbatch_test'
assertions:
- result:status_code = 404
arguments:
args: >
'msgbatch_test'
assertions:
- result:status_code = 404

View File

@ -6,13 +6,14 @@ models:
tests:
- test_udf:
name: test_claude_utils__post_api_status_200
args: >
'/v1/messages'
, {
'model': 'claude-3-5-sonnet-20241022',
'max_tokens': 1024,
'messages': [{'role': 'user', 'content': 'Hello, how are you?'}]
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'/v1/messages'
, {
'model': 'claude-3-5-sonnet-20241022',
'max_tokens': 1024,
'messages': [{'role': 'user', 'content': 'Hello, how are you?'}]
}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,9 +6,10 @@ models:
tests:
- test_udf:
name: test_cmc__get_status_200
args: >
'/v2/cryptocurrency/ohlcv/historical'
, {'interval': 'hourly', 'time_period': 'hourly', 'time_start': DATE_PART('EPOCH_SECOND', DATEADD('hour', -2, CURRENT_TIMESTAMP())), 'time_end': DATE_PART('EPOCH_SECOND', DATEADD('hour', -1, CURRENT_TIMESTAMP())), 'id': '15478,15479'}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'/v2/cryptocurrency/ohlcv/historical'
, {'interval': 'hourly', 'time_period': 'hourly', 'time_start': DATE_PART('EPOCH_SECOND', DATEADD('hour', -2, CURRENT_TIMESTAMP())), 'time_end': DATE_PART('EPOCH_SECOND', DATEADD('hour', -1, CURRENT_TIMESTAMP())), 'id': '15478,15479'}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,9 +6,10 @@ models:
tests:
- test_udf:
name: test_coingecko__get_status_200
args: >
'/api/v3/simple/price'
, {'ids': '0x', 'vs_currencies': 'btc,usd,eth'}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'/api/v3/simple/price'
, {'ids': '0x', 'vs_currencies': 'btc,usd,eth'}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,9 +6,10 @@ models:
tests:
- test_udf:
name: test_covalent__get_status_200
args: >
'/v1/1/block_v2/5000000/'
, {}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'/v1/1/block_v2/5000000/'
, {}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,11 +6,12 @@ models:
tests:
- test_udf:
name: test_credmark_utils__get_status_200
args: >
'/v1/tokens/1/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
, {
'blockNumber': 17767007
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'/v1/tokens/1/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48'
, {
'blockNumber': 17767007
}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,8 +6,8 @@ models:
tests:
- test_udf:
name: test_dapplooker__get_chart_status_202
args: >
'a68cc6dd-1bc1-40ca-aaf8-b5155785f0b4'
assertions:
- result:status_code between 200 and 299
arguments:
args: >
'a68cc6dd-1bc1-40ca-aaf8-b5155785f0b4'
assertions:
- result:status_code between 200 and 299

View File

@ -6,9 +6,10 @@ models:
tests:
- test_udf:
name: test_dappradar__get_status_200
args: >
'/v2/defi/chains'
, {}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'/v2/defi/chains'
, {}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,9 +6,10 @@ models:
tests:
- test_udf:
name: test_deepnftvalue__get_status_200
args: >
'/v1/collections'
, {'limit': 5}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'/v1/collections'
, {'limit': 5}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,9 +6,10 @@ models:
tests:
- test_udf:
name: test_defillama__get_status_200
args: >
'/categories'
, {}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'/categories'
, {}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,9 +6,10 @@ models:
tests:
- test_udf:
name: test_espn__get_status_200
args: >
'http://site.api.espn.com/apis/site/v2/sports/football/college-football/scoreboard'
, {}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'http://site.api.espn.com/apis/site/v2/sports/football/college-football/scoreboard'
, {}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,14 +6,15 @@ models:
tests:
- test_udf:
name: test_footprint_utils__get_status_200_v2_protocol_info
args: >
'/v3/protocol/getProtocolStatsHistory'
, {
'chain': 'Polygon',
'protocol_slug': 'planet-ix',
'start_time': '2023-07-01',
'end_time': '2023-07-25'
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'/v3/protocol/getProtocolStatsHistory'
, {
'chain': 'Polygon',
'protocol_slug': 'planet-ix',
'start_time': '2023-07-01',
'end_time': '2023-07-25'
}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,11 +6,12 @@ models:
tests:
- test_udf:
name: test_fred__get_series_status_200
args: >
{
'series_id': 'CORESTICKM679SFRBATL',
'file_type': 'json'
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'series_id': 'CORESTICKM679SFRBATL',
'file_type': 'json'
}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,268 +6,293 @@ models:
tests:
- test_udf_without_context:
name: test_github_actions__workflows_with_query
args: >
'FlipsideCrypto',
'admin-models',
{'per_page': 5}
assertions:
- result:workflows IS NOT NULL
- result:total_count IS NOT NULL
arguments:
args: >
'FlipsideCrypto',
'admin-models',
{'per_page': 5}
assertions:
- result:workflows IS NOT NULL
- result:total_count IS NOT NULL
- test_udf_without_context:
name: test_github_actions__workflows_simple
args: >
'FlipsideCrypto',
'admin-models'
assertions:
- result:workflows IS NOT NULL
- result:total_count IS NOT NULL
arguments:
args: >
'FlipsideCrypto',
'admin-models'
assertions:
- result:workflows IS NOT NULL
- result:total_count IS NOT NULL
- name: runs
tests:
- test_udf_without_context:
name: test_github_actions__runs_with_query
args: >
'FlipsideCrypto',
'admin-models',
{'per_page': 10, 'status': 'completed'}
assertions:
- result:workflow_runs IS NOT NULL
- result:total_count IS NOT NULL
arguments:
args: >
'FlipsideCrypto',
'admin-models',
{'per_page': 10, 'status': 'completed'}
assertions:
- result:workflow_runs IS NOT NULL
- result:total_count IS NOT NULL
- test_udf_without_context:
name: test_github_actions__runs_simple
args: >
'FlipsideCrypto',
'admin-models'
assertions:
- result:workflow_runs IS NOT NULL
- result:total_count IS NOT NULL
arguments:
args: >
'FlipsideCrypto',
'admin-models'
assertions:
- result:workflow_runs IS NOT NULL
- result:total_count IS NOT NULL
- name: workflow_runs
tests:
- test_udf_without_context:
name: test_github_actions__workflow_runs_with_query
args: >
'FlipsideCrypto',
'admin-models',
'dbt_run_dev_refresh.yml',
{'per_page': 5}
assertions:
- result:workflow_runs IS NOT NULL
- result:total_count IS NOT NULL
arguments:
args: >
'FlipsideCrypto',
'admin-models',
'dbt_run_dev_refresh.yml',
{'per_page': 5}
assertions:
- result:workflow_runs IS NOT NULL
- result:total_count IS NOT NULL
- test_udf_without_context:
name: test_github_actions__workflow_runs_simple
args: >
'FlipsideCrypto',
'admin-models',
'dbt_run_dev_refresh.yml'
assertions:
- result:workflow_runs IS NOT NULL
- result:total_count IS NOT NULL
arguments:
args: >
'FlipsideCrypto',
'admin-models',
'dbt_run_dev_refresh.yml'
assertions:
- result:workflow_runs IS NOT NULL
- result:total_count IS NOT NULL
- name: workflow_dispatches
tests:
- test_udf_without_context:
name: test_github_actions__workflow_dispatches_with_body
args: >
'FlipsideCrypto',
'admin-models',
'test-workflow.yml',
{'ref': 'main', 'inputs': {'debug': 'true'}}
assertions:
- result IS NOT NULL
arguments:
args: >
'FlipsideCrypto',
'admin-models',
'test-workflow.yml',
{'ref': 'main', 'inputs': {'debug': 'true'}}
assertions:
- result IS NOT NULL
- test_udf_without_context:
name: test_github_actions__workflow_dispatches_simple
args: >
'FlipsideCrypto',
'admin-models',
'test-workflow.yml'
assertions:
- result IS NOT NULL
arguments:
args: >
'FlipsideCrypto',
'admin-models',
'test-workflow.yml'
assertions:
- result IS NOT NULL
- name: workflow_enable
tests:
- test_udf_without_context:
name: test_github_actions__workflow_enable
args: >
'FlipsideCrypto',
'admin-models',
'test-workflow.yml'
assertions:
- result IS NOT NULL
arguments:
args: >
'FlipsideCrypto',
'admin-models',
'test-workflow.yml'
assertions:
- result IS NOT NULL
- name: workflow_disable
tests:
- test_udf_without_context:
name: test_github_actions__workflow_disable
args: >
'FlipsideCrypto',
'admin-models',
'test-workflow.yml'
assertions:
- result IS NOT NULL
arguments:
args: >
'FlipsideCrypto',
'admin-models',
'test-workflow.yml'
assertions:
- result IS NOT NULL
- name: workflow_run_logs
tests:
- test_udf_without_context:
name: test_github_actions__workflow_run_logs
args: >
'FlipsideCrypto',
'admin-models',
'12345678'
assertions:
- result IS NULL
arguments:
args: >
'FlipsideCrypto',
'admin-models',
'12345678'
assertions:
- result IS NULL
- name: job_logs
tests:
- test_udf_without_context:
name: test_github_actions__job_logs
args: >
'FlipsideCrypto',
'admin-models',
'87654321'
assertions:
- result IS NULL
arguments:
args: >
'FlipsideCrypto',
'admin-models',
'87654321'
assertions:
- result IS NULL
- name: workflow_run_jobs
tests:
- test_udf_without_context:
name: test_github_actions__workflow_run_jobs_with_query
args: >
'FlipsideCrypto',
'admin-models',
'12345678',
{'filter': 'latest'}
assertions:
- result:jobs IS NULL
- result:total_count IS NULL
arguments:
args: >
'FlipsideCrypto',
'admin-models',
'12345678',
{'filter': 'latest'}
assertions:
- result:jobs IS NULL
- result:total_count IS NULL
- test_udf_without_context:
name: test_github_actions__workflow_run_jobs_simple
args: >
'FlipsideCrypto',
'admin-models',
'12345678'
assertions:
- result:jobs IS NULL
- result:total_count IS NULL
arguments:
args: >
'FlipsideCrypto',
'admin-models',
'12345678'
assertions:
- result:jobs IS NULL
- result:total_count IS NULL
# Table Function Tests
- name: tf_workflows
tests:
- test_udtf:
name: test_github_actions__tf_workflows_with_query
args: >
'FlipsideCrypto',
'admin-models',
{'per_page': 3}
assertions:
- row_count >= 0
arguments:
args: >
'FlipsideCrypto',
'admin-models',
{'per_page': 3}
assertions:
- row_count >= 0
- test_udtf:
name: test_github_actions__tf_workflows_simple
args: >
'FlipsideCrypto',
'admin-models'
assertions:
- row_count >= 0
arguments:
args: >
'FlipsideCrypto',
'admin-models'
assertions:
- row_count >= 0
- name: tf_runs
tests:
- test_udtf:
name: test_github_actions__tf_runs_with_query
args: >
'FlipsideCrypto',
'admin-models',
{'per_page': 5, 'status': 'completed'}
assertions:
- row_count >= 0
arguments:
args: >
'FlipsideCrypto',
'admin-models',
{'per_page': 5, 'status': 'completed'}
assertions:
- row_count >= 0
- test_udtf:
name: test_github_actions__tf_runs_simple
args: >
'FlipsideCrypto',
'admin-models'
assertions:
- row_count >= 0
arguments:
args: >
'FlipsideCrypto',
'admin-models'
assertions:
- row_count >= 0
- name: tf_workflow_runs
tests:
- test_udtf:
name: test_github_actions__tf_workflow_runs_with_query
args: >
'FlipsideCrypto',
'admin-models',
'dbt_run_dev_refresh.yml',
{'per_page': 3}
assertions:
- row_count >= 0
arguments:
args: >
'FlipsideCrypto',
'admin-models',
'dbt_run_dev_refresh.yml',
{'per_page': 3}
assertions:
- row_count >= 0
- test_udtf:
name: test_github_actions__tf_workflow_runs_simple
args: >
'FlipsideCrypto',
'admin-models',
'dbt_run_dev_refresh.yml'
assertions:
- row_count >= 0
arguments:
args: >
'FlipsideCrypto',
'admin-models',
'dbt_run_dev_refresh.yml'
assertions:
- row_count >= 0
- name: tf_workflow_run_jobs
tests:
- test_udtf:
name: test_github_actions__tf_workflow_run_jobs_with_query
args: >
'FlipsideCrypto',
'admin-models',
'12345678',
{'filter': 'latest'}
assertions:
- row_count >= 0
arguments:
args: >
'FlipsideCrypto',
'admin-models',
'12345678',
{'filter': 'latest'}
assertions:
- row_count >= 0
- test_udtf:
name: test_github_actions__tf_workflow_run_jobs_simple
args: >
'FlipsideCrypto',
'admin-models',
'12345678'
assertions:
- row_count >= 0
arguments:
args: >
'FlipsideCrypto',
'admin-models',
'12345678'
assertions:
- row_count >= 0
- name: tf_failed_jobs_with_logs
tests:
- test_udtf:
name: test_github_actions__tf_failed_jobs_with_logs
args: >
'FlipsideCrypto',
'admin-models',
'12345678'
assertions:
- row_count >= 0
arguments:
args: >
'FlipsideCrypto',
'admin-models',
'12345678'
assertions:
- row_count >= 0
- name: tf_failure_analysis_with_ai
tests:
- test_udtf:
name: test_github_actions__tf_failure_analysis_with_ai_cortex
args: >
'FlipsideCrypto',
'admin-models',
'12345678',
'cortex',
'mistral-large',
''
assertions:
- row_count >= 0
arguments:
args: >
'FlipsideCrypto',
'admin-models',
'12345678',
'cortex',
'mistral-large',
''
assertions:
- row_count >= 0
- test_udtf:
name: test_github_actions__tf_failure_analysis_with_ai_custom_prompt
args: >
'FlipsideCrypto',
'admin-models',
'12345678',
'cortex',
'mistral-7b',
'Analyze these failures and provide concise recommendations:'
assertions:
- row_count >= 0
arguments:
args: >
'FlipsideCrypto',
'admin-models',
'12345678',
'cortex',
'mistral-7b',
'Analyze these failures and provide concise recommendations:'
assertions:
- row_count >= 0
- test_udtf:
name: test_github_actions__tf_failure_analysis_with_ai_default
args: >
'FlipsideCrypto',
'admin-models',
'12345678'
assertions:
- row_count >= 0
arguments:
args: >
'FlipsideCrypto',
'admin-models',
'12345678'
assertions:
- row_count >= 0

View File

@ -6,40 +6,44 @@ models:
tests:
- test_udf_without_context:
name: test_github_utils__octocat_status_200
assertions:
- result:status_code = 200
- result:error IS NULL
- result:data IS NOT NULL
arguments:
assertions:
- result:status_code = 200
- result:error IS NULL
- result:data IS NOT NULL
- name: headers
tests:
- test_udf_without_context:
name: test_github_utils__headers_format
assertions:
- result IS NOT NULL
- LENGTH(result) > 50
- CONTAINS(result, 'Authorization')
- CONTAINS(result, 'X-GitHub-Api-Version')
- CONTAINS(result, 'Accept')
arguments:
assertions:
- result IS NOT NULL
- LENGTH(result) > 50
- CONTAINS(result, 'Authorization')
- CONTAINS(result, 'X-GitHub-Api-Version')
- CONTAINS(result, 'Accept')
- name: post_api
tests:
- test_udf_without_context:
name: test_github_utils__post_invalid_route
args: >
'invalid/test/route',
{'test': 'data'}
assertions:
- result:status_code = 404
- result IS NOT NULL
arguments:
args: >
'invalid/test/route',
{'test': 'data'}
assertions:
- result:status_code = 404
- result IS NOT NULL
- name: put_api
tests:
- test_udf_without_context:
name: test_github_utils__put_invalid_route
args: >
'invalid/test/route',
{'test': 'data'}
assertions:
- result:status_code = 404
- result IS NOT NULL
arguments:
args: >
'invalid/test/route',
{'test': 'data'}
assertions:
- result:status_code = 404
- result IS NOT NULL

View File

@ -6,41 +6,43 @@ models:
tests:
- test_udf:
name: test_helius_apis__token_metadata_status_200
args: >
'mainnet'
, {
'mintAccounts': [
'BAAzgRGWY2v5AJBNZNFd2abiRXAUo56UxywKEjoCZW2',
'8s6kQUZfdm7GSaThAcsmSs56wMinXrbk6SdNVngutrz5'
],
'includeOffChain': true
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'mainnet'
, {
'mintAccounts': [
'BAAzgRGWY2v5AJBNZNFd2abiRXAUo56UxywKEjoCZW2',
'8s6kQUZfdm7GSaThAcsmSs56wMinXrbk6SdNVngutrz5'
],
'includeOffChain': true
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: balances
tests:
- test_udf:
name: test_helius_apis__balances_status_200
args: >
'mainnet'
, '231B38ZpsbtrWbsBEjSXfjVj9JT2XyuNXy4f98V5NXxg'
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'mainnet'
, '231B38ZpsbtrWbsBEjSXfjVj9JT2XyuNXy4f98V5NXxg'
assertions:
- result:status_code = 200
- result:error IS NULL
- name: parse_transactions
tests:
- test_udf:
name: test_helius_apis__parse_transactions_status_200
args: >
'mainnet'
, [
'5u5S6yWN5wJkEDr3hKeqF3Y8nWcyWaZDboEnpfUuAw1zcvbvevs58rEfCpN6VkfxaS4N8RCMkBcyhxBFs3eoL4U4',
'2bWLiRSA8GCh7UNEpiZdgsh2BMxZwKawk8ND4Z3iWrqDZE6JQk69n9WoCU9rKDrgWHw6qV25g8UBMJYddRJRHR9v'
]
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'mainnet'
, [
'5u5S6yWN5wJkEDr3hKeqF3Y8nWcyWaZDboEnpfUuAw1zcvbvevs58rEfCpN6VkfxaS4N8RCMkBcyhxBFs3eoL4U4',
'2bWLiRSA8GCh7UNEpiZdgsh2BMxZwKawk8ND4Z3iWrqDZE6JQk69n9WoCU9rKDrgWHw6qV25g8UBMJYddRJRHR9v'
]
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,117 +6,125 @@ models:
tests:
- test_udf:
name: test_helius_das__get_asset_status_200
args: >
'mainnet'
, {
'id': 'F9Lw3ki3hJ7PF9HQXsBzoY8GyE6sPoEZZdXJBsTTD2rk'
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'mainnet'
, {
'id': 'F9Lw3ki3hJ7PF9HQXsBzoY8GyE6sPoEZZdXJBsTTD2rk'
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_signatures_for_asset
tests:
- test_udf:
name: test_helius_das__get_signatures_for_asset_status_200
args: >
'mainnet'
, {
'id': 'FNt6A9Mfnqbwc1tY7uwAguKQ1JcpBrxmhczDgbdJy5AC',
'page': 1, -- Starts at 1
'limit': 1000 -- Limit 1000 per request.
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'mainnet'
, {
'id': 'FNt6A9Mfnqbwc1tY7uwAguKQ1JcpBrxmhczDgbdJy5AC',
'page': 1, -- Starts at 1
'limit': 1000 -- Limit 1000 per request.
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: search_assets
tests:
- test_udf:
name: test_helius_das__search_assets_status_200
args: >
'mainnet'
, {
'ownerAddress': '2k5AXX4guW9XwRQ1AKCpAuUqgWDpQpwFfpVFh3hnm2Ha',
'compressed': true,
'page': 1, -- Starts at 1
'limit': 1000
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'mainnet'
, {
'ownerAddress': '2k5AXX4guW9XwRQ1AKCpAuUqgWDpQpwFfpVFh3hnm2Ha',
'compressed': true,
'page': 1, -- Starts at 1
'limit': 1000
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_asset_proof
tests:
- test_udf:
name: test_helius_das__get_asset_proof_status_200
args: >
'mainnet'
, {
'id': 'Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss'
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'mainnet'
, {
'id': 'Bu1DEKeawy7txbnCEJE4BU3BKLXaNAKCYcHR4XhndGss'
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_assets_by_owner
tests:
- test_udf:
name: test_helius_das__get_assets_by_owner_status_200
args: >
'mainnet'
, {
'ownerAddress': '86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY',
'page': 1, -- Starts at 1
'limit': 1000
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'mainnet'
, {
'ownerAddress': '86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY',
'page': 1, -- Starts at 1
'limit': 1000
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_assets_by_authority
tests:
- test_udf:
name: test_helius_das__get_assets_by_authority_status_200
args: >
'mainnet'
, {
'authorityAddress': '2RtGg6fsFiiF1EQzHqbd66AhW7R5bWeQGpTbv2UMkCdW',
'page': 1, -- Starts at 1
'limit': 1000
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'mainnet'
, {
'authorityAddress': '2RtGg6fsFiiF1EQzHqbd66AhW7R5bWeQGpTbv2UMkCdW',
'page': 1, -- Starts at 1
'limit': 1000
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_assets_by_creator
tests:
- test_udf:
name: test_helius_das__get_assets_by_creator_status_200
args: >
'mainnet'
, {
'creatorAddress': 'D3XrkNZz6wx6cofot7Zohsf2KSsu2ArngNk8VqU9cTY3',
'onlyVerified': true,
'page': 1, -- Starts at 1
'limit': 1000
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'mainnet'
, {
'creatorAddress': 'D3XrkNZz6wx6cofot7Zohsf2KSsu2ArngNk8VqU9cTY3',
'onlyVerified': true,
'page': 1, -- Starts at 1
'limit': 1000
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_assets_by_group
tests:
- test_udf:
name: test_helius_das__get_assets_by_group_status_200
args: >
'mainnet'
, {
'groupKey': 'collection',
'groupValue': 'J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w',
'page': 1,
'limit': 1000
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'mainnet'
, {
'groupKey': 'collection',
'groupValue': 'J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w',
'page': 1,
'limit': 1000
}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,9 +6,10 @@ models:
tests:
- test_udf:
name: test_nftscan__get_status_200
args: >
'https://restapi.nftscan.com/api/v2/account/own/0xca1257ade6f4fa6c6834fdc42e030be6c0f5a813'
, {'erc_type': 'erc721'}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'https://restapi.nftscan.com/api/v2/account/own/0xca1257ade6f4fa6c6834fdc42e030be6c0f5a813'
, {'erc_type': 'erc721'}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,11 +6,12 @@ models:
tests:
- test_udf:
name: test_opensea__get_collection_stats_status_200
args: >
'/api/v2/collections/cryptopunks/stats'
, {}
assertions:
- result:status_code = 200
- result:error IS NULL
- result:data IS NOT NULL
- result:data:total IS NOT NULL
arguments:
args: >
'/api/v2/collections/cryptopunks/stats'
, {}
assertions:
- result:status_code = 200
- result:error IS NULL
- result:data IS NOT NULL
- result:data:total IS NOT NULL

View File

@ -6,41 +6,42 @@ models:
tests:
- test_udf:
name: test_playgrounds__query_subgraph_status_200_liquidity_pools
args: >
'ELUcwgpm14LKPLrBRuVvPvNKHQ9HvwmtKgKSH6123cr7'
, {
'query': '{
liquidityPools(first: 200, orderBy: totalValueLockedUSD, orderDirection: desc) {
id
totalLiquidity
name
inputTokens {
id
symbol
arguments:
args: >
'ELUcwgpm14LKPLrBRuVvPvNKHQ9HvwmtKgKSH6123cr7'
, {
'query': '{
liquidityPools(first: 200, orderBy: totalValueLockedUSD, orderDirection: desc) {
id
totalLiquidity
name
inputTokens {
id
symbol
}
}
}
}',
'variables': {}
}
assertions:
- result:status_code = 200
- result:error IS NULL
}',
'variables': {}
}
assertions:
- result:status_code = 200
- result:error IS NULL
- test_udf:
name: test_playgrounds__query_subgraph_status_200_total_pool_count
args: >
'ELUcwgpm14LKPLrBRuVvPvNKHQ9HvwmtKgKSH6123cr7'
, {
'query': '{
protocols {
name
totalPoolCount
}
}',
'variables': {}
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'ELUcwgpm14LKPLrBRuVvPvNKHQ9HvwmtKgKSH6123cr7'
, {
'query': '{
protocols {
name
totalPoolCount
}
}',
'variables': {}
}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,84 +6,89 @@ models:
tests:
- test_udf:
name: test_quicknode_ethereum_nfts__fetch_nft_collection_details_status_200
args: >
{
'contracts': [
'0x60E4d786628Fea6478F785A6d7e704777c86a7c6',
'0x7Bd29408f11D2bFC23c34f18275bBf23bB716Bc7'
]
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'contracts': [
'0x60E4d786628Fea6478F785A6d7e704777c86a7c6',
'0x7Bd29408f11D2bFC23c34f18275bBf23bB716Bc7'
]
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: fetch_nfts
tests:
- test_udf:
name: test_quicknode_ethereum_nfts__fetch_nfts_status_200
args: >
{
'wallet': '0x91b51c173a4bdaa1a60e234fc3f705a16d228740',
'omitFields': [
'provenance',
'traits'
],
'page': 1,
'perPage': 10,
'contracts': [
'0x2106c00ac7da0a3430ae667879139e832307aeaa',
'0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D'
]
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'wallet': '0x91b51c173a4bdaa1a60e234fc3f705a16d228740',
'omitFields': [
'provenance',
'traits'
],
'page': 1,
'perPage': 10,
'contracts': [
'0x2106c00ac7da0a3430ae667879139e832307aeaa',
'0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D'
]
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: fetch_nfts_by_collection
tests:
- test_udf:
name: test_quicknode_ethereum_nfts__fetch_nfts_by_collection_status_200
args: >
{
'collection': '0x60E4d786628Fea6478F785A6d7e704777c86a7c6',
'omitFields': [
'imageUrl',
'traits'
],
'page': 1,
'perPage': 10
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'collection': '0x60E4d786628Fea6478F785A6d7e704777c86a7c6',
'omitFields': [
'imageUrl',
'traits'
],
'page': 1,
'perPage': 10
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_transfers_by_nft
tests:
- test_udf:
name: test_quicknode_ethereum_nfts__get_transfers_by_nft_status_200
args: >
{
'collection': '0x60E4d786628Fea6478F785A6d7e704777c86a7c6',
'collectionTokenId': '1',
'page': 1,
'perPage': 10
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'collection': '0x60E4d786628Fea6478F785A6d7e704777c86a7c6',
'collectionTokenId': '1',
'page': 1,
'perPage': 10
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: verify_nfts_owner
tests:
- test_udf:
name: test_quicknode_ethereum_nfts__verify_nfts_owner_status_200
args: >
{
'wallet': '0x91b51c173a4bdaa1a60e234fc3f705a16d228740',
'contracts': [
'0x2106c00ac7da0a3430ae667879139e832307aeaa:3643',
'0xd07dc4262bcdbf85190c01c996b4c06a461d2430:133803'
]
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'wallet': '0x91b51c173a4bdaa1a60e234fc3f705a16d228740',
'contracts': [
'0x2106c00ac7da0a3430ae667879139e832307aeaa:3643',
'0xd07dc4262bcdbf85190c01c996b4c06a461d2430:133803'
]
}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,63 +6,68 @@ models:
tests:
- test_udf:
name: test_quicknode_ethereum_tokens__get_token_metadata_by_contract_address_status_200
args: >
{
'contract': '0x4d224452801ACEd8B2F0aebE155379bb5D594381'
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'contract': '0x4d224452801ACEd8B2F0aebE155379bb5D594381'
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_token_metadata_by_symbol
tests:
- test_udf:
name: test_quicknode_ethereum_tokens__get_token_metadata_by_symbol_status_200
args: >
{
'symbol': 'USDC'
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'symbol': 'USDC'
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_transactions_by_address
tests:
- test_udf:
name: test_quicknode_ethereum_tokens__get_transactions_by_address_status_200
args: >
{
'address': '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
'page': 1,
'perPage': 10
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'address': '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
'page': 1,
'perPage': 10
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_wallet_token_balance
tests:
- test_udf:
name: test_quicknode_ethereum_tokens__get_wallet_token_balance_status_200
args: >
{
'wallet': '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'wallet': '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_wallet_token_transactions
tests:
- test_udf:
name: test_quicknode_ethereum_tokens__get_wallet_token_transactions_status_200
args: >
{
'address': '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
'contract': '0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE',
'page': 1,
'perPage': 10
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'address': '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
'contract': '0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE',
'page': 1,
'perPage': 10
}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,85 +6,89 @@ models:
tests:
- test_udf:
name: test_quicknode_polygon_nfts__fetch_nft_collection_details_status_200
args: >
{
'contracts': [
'0x60E4d786628Fea6478F785A6d7e704777c86a7c6',
'0x7Bd29408f11D2bFC23c34f18275bBf23bB716Bc7'
]
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'contracts': [
'0x60E4d786628Fea6478F785A6d7e704777c86a7c6',
'0x7Bd29408f11D2bFC23c34f18275bBf23bB716Bc7'
]
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: fetch_nfts
tests:
- test_udf:
name: test_quicknode_polygon_nfts__fetch_nfts_status_200
args: >
{
'wallet': '0x91b51c173a4bdaa1a60e234fc3f705a16d228740',
'omitFields': [
'provenance',
'traits'
],
'page': 1,
'perPage': 10,
'contracts': [
'0x2106c00ac7da0a3430ae667879139e832307aeaa',
'0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D'
]
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'wallet': '0x91b51c173a4bdaa1a60e234fc3f705a16d228740',
'omitFields': [
'provenance',
'traits'
],
'page': 1,
'perPage': 10,
'contracts': [
'0x2106c00ac7da0a3430ae667879139e832307aeaa',
'0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D'
]
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: fetch_nfts_by_collection
tests:
- test_udf:
name: test_quicknode_polygon_nfts__fetch_nfts_by_collection_status_200
args: >
{
'collection': '0x60E4d786628Fea6478F785A6d7e704777c86a7c6',
'omitFields': [
'imageUrl',
'traits'
],
'page': 1,
'perPage': 10
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'collection': '0x60E4d786628Fea6478F785A6d7e704777c86a7c6',
'omitFields': [
'imageUrl',
'traits'
],
'page': 1,
'perPage': 10
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_transfers_by_nft
tests:
- test_udf:
name: test_quicknode_polygon_nfts__get_transfers_by_nft_status_200
args: >
{
'collection': '0x60E4d786628Fea6478F785A6d7e704777c86a7c6',
'collectionTokenId': '1',
'page': 1,
'perPage': 10
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'collection': '0x60E4d786628Fea6478F785A6d7e704777c86a7c6',
'collectionTokenId': '1',
'page': 1,
'perPage': 10
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: verify_nfts_owner
tests:
- test_udf:
name: test_quicknode_polygon_nfts__verify_nfts_owner_status_200
args: >
{
'wallet': '0x91b51c173a4bdaa1a60e234fc3f705a16d228740',
'contracts': [
'0x2106c00ac7da0a3430ae667879139e832307aeaa:3643',
'0xd07dc4262bcdbf85190c01c996b4c06a461d2430:133803'
]
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'wallet': '0x91b51c173a4bdaa1a60e234fc3f705a16d228740',
'contracts': [
'0x2106c00ac7da0a3430ae667879139e832307aeaa:3643',
'0xd07dc4262bcdbf85190c01c996b4c06a461d2430:133803'
]
}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,63 +6,68 @@ models:
tests:
- test_udf:
name: test_quicknode_polygon_tokens__get_token_metadata_by_contract_address_status_200
args: >
{
'contract': '0x4d224452801ACEd8B2F0aebE155379bb5D594381'
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'contract': '0x4d224452801ACEd8B2F0aebE155379bb5D594381'
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_token_metadata_by_symbol
tests:
- test_udf:
name: test_quicknode_polygon_tokens__get_token_metadata_by_symbol_status_200
args: >
{
'symbol': 'USDC'
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'symbol': 'USDC'
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_transactions_by_address
tests:
- test_udf:
name: test_quicknode_polygon_tokens__get_transactions_by_address_status_200
args: >
{
'address': '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
'page': 1,
'perPage': 10
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'address': '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
'page': 1,
'perPage': 10
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_wallet_token_balance
tests:
- test_udf:
name: test_quicknode_polygon_tokens__get_wallet_token_balance_status_200
args: >
{
'wallet': '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'wallet': '0xd8da6bf26964af9d7eed9e03e53415d37aa96045'
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: get_wallet_token_transactions
tests:
- test_udf:
name: test_quicknode_polygon_tokens__get_wallet_token_transactions_status_200
args: >
{
'address': '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
'contract': '0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE',
'page': 1,
'perPage': 10
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'address': '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
'contract': '0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE',
'page': 1,
'perPage': 10
}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,31 +6,32 @@ models:
tests:
- test_udf:
name: test_quicknode_solana_nfts__fetch_nfts_status_200
args: >
{
'wallet': 'DcTmx4VLcf5euAB17nynax7g55xuB3XKBDyz1pudMcjW',
'omitFields': [
'provenance',
'traits'
],
'page': 1,
'perPage': 10
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'wallet': 'DcTmx4VLcf5euAB17nynax7g55xuB3XKBDyz1pudMcjW',
'omitFields': [
'provenance',
'traits'
],
'page': 1,
'perPage': 10
}
assertions:
- result:status_code = 200
- result:error IS NULL
- name: fetch_nfts_by_creator
tests:
- test_udf:
name: test_quicknode_solana_nfts__fetch_nfts_by_creator_status_200
args: >
{
'creator': 'DznU28LgherhU2JwC2db3KmAeWPqoF9Yx2aVtNUudW6R',
'page': 1,
'perPage': 3
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'creator': 'DznU28LgherhU2JwC2db3KmAeWPqoF9Yx2aVtNUudW6R',
'page': 1,
'perPage': 3
}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,9 +6,10 @@ models:
tests:
- test_udf:
name: test_reservoir__get_status_200
args: >
'/tokens/floor/v1'
, {'collection': '0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63'}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'/tokens/floor/v1'
, {'collection': '0x8d04a8c79ceb0889bdd12acdf3fa9d207ed3ff63'}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,119 +6,125 @@ models:
tests:
- test_udf:
name: test_slack__webhook_send_simple
args: >
'https://httpbin.org/post',
{'text': 'Hello from Livequery!'}
assertions:
- result:status_code = 200
- result:data.json.text = 'Hello from Livequery!'
- result IS NOT NULL
arguments:
args: >
'https://httpbin.org/post',
{'text': 'Hello from Livequery!'}
assertions:
- result:status_code = 200
- result:data.json.text = 'Hello from Livequery!'
- result IS NOT NULL
- test_udf:
name: test_slack__webhook_send_rich
args: >
'https://httpbin.org/post',
{
'text': 'Pipeline completed!',
'username': 'dbt Bot',
'icon_emoji': ':bar_chart:',
'attachments': [
{
'color': '#36a64f',
'title': 'Success',
'fields': [
{'title': 'Models', 'value': '5', 'short': true},
{'title': 'Failed', 'value': '0', 'short': true}
]
}
]
}
assertions:
- result:status_code = 200
- result:data.json.text = 'Pipeline completed!'
- result:data.json.username = 'dbt Bot'
- result IS NOT NULL
arguments:
args: >
'https://httpbin.org/post',
{
'text': 'Pipeline completed!',
'username': 'dbt Bot',
'icon_emoji': ':bar_chart:',
'attachments': [
{
'color': '#36a64f',
'title': 'Success',
'fields': [
{'title': 'Models', 'value': '5', 'short': true},
{'title': 'Failed', 'value': '0', 'short': true}
]
}
]
}
assertions:
- result:status_code = 200
- result:data.json.text = 'Pipeline completed!'
- result:data.json.username = 'dbt Bot'
- result IS NOT NULL
- name: post_message
tests:
- test_udf:
name: test_slack__post_message_simple
args: >
'C1234567890',
{'text': 'Hello from Livequery!'}
assertions:
- result IS NOT NULL
arguments:
args: >
'C1234567890',
{'text': 'Hello from Livequery!'}
assertions:
- result IS NOT NULL
- test_udf:
name: test_slack__post_message_blocks
args: >
'C1234567890',
{
'text': 'Pipeline completed!',
'blocks': [
{
'type': 'header',
'text': {
'type': 'plain_text',
'text': ':white_check_mark: Pipeline Success'
arguments:
args: >
'C1234567890',
{
'text': 'Pipeline completed!',
'blocks': [
{
'type': 'header',
'text': {
'type': 'plain_text',
'text': ':white_check_mark: Pipeline Success'
}
},
{
'type': 'section',
'fields': [
{'type': 'mrkdwn', 'text': '*Repository:*\nFlipsideCrypto/my-repo'},
{'type': 'mrkdwn', 'text': '*Duration:*\n15m 30s'}
]
}
},
{
'type': 'section',
'fields': [
{'type': 'mrkdwn', 'text': '*Repository:*\nFlipsideCrypto/my-repo'},
{'type': 'mrkdwn', 'text': '*Duration:*\n15m 30s'}
]
}
]
}
assertions:
- result IS NOT NULL
]
}
assertions:
- result IS NOT NULL
- name: post_reply
tests:
- test_udf:
name: test_slack__post_reply_simple
args: >
'C1234567890',
'1234567890.123456',
{'text': 'Thread reply from Livequery!'}
assertions:
- result IS NOT NULL
arguments:
args: >
'C1234567890',
'1234567890.123456',
{'text': 'Thread reply from Livequery!'}
assertions:
- result IS NOT NULL
- name: webhook_send
tests:
- test_udf:
name: test_slack__webhook_send_complex_payload
args: >
'https://httpbin.org/post',
{
'text': 'Complex test message',
'username': 'Test Bot',
'icon_emoji': ':test_tube:',
'blocks': [
{
'type': 'header',
'text': {
'type': 'plain_text',
'text': '🧪 Test Results'
arguments:
args: >
'https://httpbin.org/post',
{
'text': 'Complex test message',
'username': 'Test Bot',
'icon_emoji': ':test_tube:',
'blocks': [
{
'type': 'header',
'text': {
'type': 'plain_text',
'text': '🧪 Test Results'
}
},
{
'type': 'section',
'text': {
'type': 'mrkdwn',
'text': '*All tests passed!* ✅'
}
}
},
{
'type': 'section',
'text': {
'type': 'mrkdwn',
'text': '*All tests passed!* ✅'
],
'attachments': [
{
'color': '#36a64f',
'blocks': []
}
}
],
'attachments': [
{
'color': '#36a64f',
'blocks': []
}
]
}
assertions:
- result:status_code = 200
- result:data.json.text = 'Complex test message'
- result:data.json.username = 'Test Bot'
- result IS NOT NULL
]
}
assertions:
- result:status_code = 200
- result:data.json.text = 'Complex test message'
- result:data.json.username = 'Test Bot'
- result IS NOT NULL

View File

@ -6,120 +6,135 @@ models:
tests:
- test_udf_without_context:
name: test_slack_utils__post_webhook_httpbin
args: >
'https://httpbin.org/post',
{'text': 'Test message from Livequery'}
assertions:
- result:status_code = 200
- result:data.json.text = 'Test message from Livequery'
- result IS NOT NULL
arguments:
args: >
'https://httpbin.org/post',
{'text': 'Test message from Livequery'}
assertions:
- result:status_code = 200
- result:data.json.text = 'Test message from Livequery'
- result IS NOT NULL
- test_udf_without_context:
name: test_slack_utils__post_webhook_invalid_url
args: >
'https://httpbin.org/status/404',
{'text': 'Test message'}
assertions:
- result:status_code = 404
- result IS NOT NULL
arguments:
args: >
'https://httpbin.org/status/404',
{'text': 'Test message'}
assertions:
- result:status_code = 404
- result IS NOT NULL
- test_udf_without_context:
name: test_slack_utils__post_webhook_null_payload
args: >
'https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX',
NULL
assertions:
- result:ok = false
- result:error = 'payload is required'
arguments:
args: >
'https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX',
NULL
assertions:
- result:ok = false
- result:error = 'payload is required'
- name: post_message
tests:
- test_udf_without_context:
name: test_slack_utils__post_message_httpbin
args: >
'C1234567890',
{'text': 'Test message from Livequery'}
assertions:
- result:status_code = 200
- result:data.json.text = 'Test message from Livequery'
- result IS NOT NULL
arguments:
args: >
'C1234567890',
{'text': 'Test message from Livequery'}
assertions:
- result:status_code = 200
- result:data.json.text = 'Test message from Livequery'
- result IS NOT NULL
- test_udf_without_context:
name: test_slack_utils__post_message_auth_error
args: >
'C1234567890',
{'text': 'Test message'}
assertions:
- result:status_code = 200
- result IS NOT NULL
arguments:
args: >
'C1234567890',
{'text': 'Test message'}
assertions:
- result:status_code = 200
- result IS NOT NULL
- name: post_reply
tests:
- test_udf_without_context:
name: test_slack_utils__post_reply_httpbin
args: >
'C1234567890',
'1234567890.123456',
{'text': 'Test reply from Livequery'}
assertions:
- result:status_code = 200
- result:data.json.text = 'Test reply from Livequery'
- result IS NOT NULL
arguments:
args: >
'C1234567890',
'1234567890.123456',
{'text': 'Test reply from Livequery'}
assertions:
- result:status_code = 200
- result:data.json.text = 'Test reply from Livequery'
- result IS NOT NULL
- name: validate_webhook_url
tests:
- test_udf_without_context:
name: test_slack_utils__validate_webhook_url_valid
args: >
'https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX'
assertions:
- result = true
arguments:
args: >
'https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX'
assertions:
- result = true
- test_udf_without_context:
name: test_slack_utils__validate_webhook_url_invalid
args: >
'https://invalid-url.com/webhook'
assertions:
- result = false
arguments:
args: >
'https://invalid-url.com/webhook'
assertions:
- result = false
- name: validate_channel
tests:
- test_udf_without_context:
name: test_slack_utils__validate_channel_id
args: >
'C1234567890'
assertions:
- result = true
arguments:
args: >
'C1234567890'
assertions:
- result = true
- test_udf_without_context:
name: test_slack_utils__validate_channel_name
args: >
'#general'
assertions:
- result = false
arguments:
args: >
'#general'
assertions:
- result = false
- test_udf_without_context:
name: test_slack_utils__validate_channel_dm
args: >
'D1234567890'
assertions:
- result = true
arguments:
args: >
'D1234567890'
assertions:
- result = true
- test_udf_without_context:
name: test_slack_utils__validate_channel_group
args: >
'G1234567890'
assertions:
- result = true
arguments:
args: >
'G1234567890'
assertions:
- result = true
- test_udf_without_context:
name: test_slack_utils__validate_channel_invalid
args: >
'invalid-channel'
assertions:
- result = false
arguments:
args: >
'invalid-channel'
assertions:
- result = false
- test_udf_without_context:
name: test_slack_utils__validate_channel_null
args: >
NULL
assertions:
- result = false
arguments:
args: >
NULL
assertions:
- result = false
- test_udf_without_context:
name: test_slack_utils__validate_channel_empty
args: >
''
assertions:
- result = false
arguments:
args: >
''
assertions:
- result = false

View File

@ -6,17 +6,18 @@ models:
tests:
- test_udf:
name: test_snapshot__query_status_200
args: >
{
'query': '{
space(id: "snapshot.dcl.eth") {
id
name
members
}
}',
'variables': {}
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'query': '{
space(id: "snapshot.dcl.eth") {
id
name
members
}
}',
'variables': {}
}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,9 +6,10 @@ models:
tests:
- test_udf:
name: test_solscan_public_api_get__get_status_200
args: >
'/chaininfo'
, {}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'/chaininfo'
, {}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,18 +6,19 @@ models:
tests:
- test_udf:
name: test_stakingrewards__query_status_200
args: >
{
'query': '{
assets(where: {symbols: ["ETH"]}, limit: 1) {
name
slug
description
symbol
}
}',
'variables': {}
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
{
'query': '{
assets(where: {symbols: ["ETH"]}, limit: 1) {
name
slug
description
symbol
}
}',
'variables': {}
}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,11 +6,12 @@ models:
tests:
- test_udf:
name: test_strangelove__get_status_200
args: >
'https://api.strange.love/cosmoshub/mainnet/rpc/block_by_hash'
, {
'blockHash': '0xD70952032620CC4E2737EB8AC379806359D8E0B17B0488F627997A0B043ABDED'
}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'https://api.strange.love/cosmoshub/mainnet/rpc/block_by_hash'
, {
'blockHash': '0xD70952032620CC4E2737EB8AC379806359D8E0B17B0488F627997A0B043ABDED'
}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,24 +6,25 @@ models:
tests:
- test_udf:
name: test_subquery__graphql_status_200
args: >
'subquery-mainnet',
{
'query': '{
_pois(first: 5) {
nodes {
id
chainBlockHash
hash
parentHash
createdAt
operationHashRoot
nodeId
updatedAt
arguments:
args: >
'subquery-mainnet',
{
'query': '{
_pois(first: 5) {
nodes {
id
chainBlockHash
hash
parentHash
createdAt
operationHashRoot
nodeId
updatedAt
}
}
}
}'
}
assertions:
- result:status_code = 200
- result:error IS NULL
}'
}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -6,18 +6,19 @@ models:
tests:
- test_udf:
name: test_topshot__graphql_status_200
args: >
{
'query': '
query {
getMintedMoment (momentId: 5) {
data {
id
}
}
arguments:
args: >
{
'query': '
query {
getMintedMoment (momentId: 5) {
data {
id
}
}
}
}',
'variables': '{}'
}
}',
'variables': '{}'
}
assertions:
- result:status_code = 200
assertions:
- result:status_code = 200

View File

@ -6,9 +6,10 @@ models:
tests:
- test_udf:
name: test_transpose__get_status_200
args: >
'/ens/ens-records-by-name'
, {'chain_id': 'ethereum','ens_names': 'vitalik.eth'}
assertions:
- result:status_code = 200
- result:error IS NULL
arguments:
args: >
'/ens/ens-records-by-name'
, {'chain_id': 'ethereum','ens_names': 'vitalik.eth'}
assertions:
- result:status_code = 200
- result:error IS NULL

View File

@ -1,8 +1,11 @@
packages:
- package: calogica/dbt_expectations
version: 0.8.5
- package: dbt-labs/dbt_utils
version: 1.0.0
- package: calogica/dbt_date
version: 0.7.2
- name: dbt_expectations
package: calogica/dbt_expectations
version: 0.8.5
- name: dbt_utils
package: dbt-labs/dbt_utils
version: 1.0.0
- name: dbt_date
package: calogica/dbt_date
version: 0.7.2
sha1_hash: beca0ae13045be0399683f2d9a36c07e1674880d

View File

@ -1,6 +1,6 @@
packages:
- package: metaplane/dbt_expectations
version: [">=0.10.0", "<0.11.0"]
- package: calogica/dbt_expectations
version: [">=0.8.0", "<0.9.0"]
- package: dbt-labs/dbt_utils
version: [">=1.0.0", "<1.1.0"]

View File

@ -1 +1,3 @@
dbt-snowflake~=1.5.0
dbt-core>=1.10.5,<1.11.0
dbt-snowflake>=1.10.3,<1.11.0
protobuf>=6.0,<7.0