mirror of
https://github.com/FlipsideCrypto/livequery-models.git
synced 2026-02-06 10:56:46 +00:00
dbt autofix upgrade
This commit is contained in:
parent
76595532dd
commit
3430f650ad
@ -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
|
||||
@ -6,6 +6,7 @@ models:
|
||||
tests:
|
||||
- test_udf:
|
||||
name: test___utils_udf_introspect
|
||||
args: "'hello'"
|
||||
assertions:
|
||||
- result = 'hello'
|
||||
arguments:
|
||||
args: "'hello'"
|
||||
assertions:
|
||||
- result = 'hello'
|
||||
@ -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
|
||||
@ -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'
|
||||
}
|
||||
]
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
@ -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"]
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user