diff --git a/dbt_project.yml b/dbt_project.yml index a89c318..7c4b072 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/core/_utils.yml b/models/deploy/core/_utils.yml index 80fcb8b..5bedf9e 100644 --- a/models/deploy/core/_utils.yml +++ b/models/deploy/core/_utils.yml @@ -6,6 +6,7 @@ models: tests: - test_udf: name: test___utils_udf_introspect - args: "'hello'" - assertions: - - result = 'hello' \ No newline at end of file + arguments: + args: "'hello'" + assertions: + - result = 'hello' \ No newline at end of file diff --git a/models/deploy/core/live.yml b/models/deploy/core/live.yml index c8fce38..4b17e50 100644 --- a/models/deploy/core/live.yml +++ b/models/deploy/core/live.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/core/utils.yml b/models/deploy/core/utils.yml index 1d46b78..137d06f 100644 --- a/models/deploy/core/utils.yml +++ b/models/deploy/core/utils.yml @@ -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' - } - ] \ No newline at end of file + 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' + } + ] \ No newline at end of file diff --git a/models/deploy/marketplace/alchemy/alchemy_nfts__alchemy_utils.yml b/models/deploy/marketplace/alchemy/alchemy_nfts__alchemy_utils.yml index 3f8e28d..fc747d4 100644 --- a/models/deploy/marketplace/alchemy/alchemy_nfts__alchemy_utils.yml +++ b/models/deploy/marketplace/alchemy/alchemy_nfts__alchemy_utils.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/alchemy/alchemy_tokens__alchemy_utils.yml b/models/deploy/marketplace/alchemy/alchemy_tokens__alchemy_utils.yml index 8ac22a7..caf74fb 100644 --- a/models/deploy/marketplace/alchemy/alchemy_tokens__alchemy_utils.yml +++ b/models/deploy/marketplace/alchemy/alchemy_tokens__alchemy_utils.yml @@ -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 diff --git a/models/deploy/marketplace/alchemy/alchemy_transfers__alchemy_utils.yml b/models/deploy/marketplace/alchemy/alchemy_transfers__alchemy_utils.yml index cdc09ca..3aae2af 100644 --- a/models/deploy/marketplace/alchemy/alchemy_transfers__alchemy_utils.yml +++ b/models/deploy/marketplace/alchemy/alchemy_transfers__alchemy_utils.yml @@ -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 diff --git a/models/deploy/marketplace/allday/allday__.yml b/models/deploy/marketplace/allday/allday__.yml index 3f3fe9d..863ccfc 100644 --- a/models/deploy/marketplace/allday/allday__.yml +++ b/models/deploy/marketplace/allday/allday__.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/apilayer/apilayer__.yml b/models/deploy/marketplace/apilayer/apilayer__.yml index 2b97bed..e53a917 100644 --- a/models/deploy/marketplace/apilayer/apilayer__.yml +++ b/models/deploy/marketplace/apilayer/apilayer__.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/bitquery/bitquery__.yml b/models/deploy/marketplace/bitquery/bitquery__.yml index 42bf63b..67893d7 100644 --- a/models/deploy/marketplace/bitquery/bitquery__.yml +++ b/models/deploy/marketplace/bitquery/bitquery__.yml @@ -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 diff --git a/models/deploy/marketplace/blockpour/blockpour_utils__.yml b/models/deploy/marketplace/blockpour/blockpour_utils__.yml index 79381cc..3f6293b 100644 --- a/models/deploy/marketplace/blockpour/blockpour_utils__.yml +++ b/models/deploy/marketplace/blockpour/blockpour_utils__.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/chainbase/chainbase_utils__.yml b/models/deploy/marketplace/chainbase/chainbase_utils__.yml index ea148dc..b98884c 100644 --- a/models/deploy/marketplace/chainbase/chainbase_utils__.yml +++ b/models/deploy/marketplace/chainbase/chainbase_utils__.yml @@ -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 diff --git a/models/deploy/marketplace/claude/claude__.yml b/models/deploy/marketplace/claude/claude__.yml index d0ef538..9760ecd 100644 --- a/models/deploy/marketplace/claude/claude__.yml +++ b/models/deploy/marketplace/claude/claude__.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/claude/claude_utils__claude_utils.yml b/models/deploy/marketplace/claude/claude_utils__claude_utils.yml index bb7ddc7..9a4ccc1 100644 --- a/models/deploy/marketplace/claude/claude_utils__claude_utils.yml +++ b/models/deploy/marketplace/claude/claude_utils__claude_utils.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/cmc/cmc__.yml b/models/deploy/marketplace/cmc/cmc__.yml index bc8edda..8b1cdb9 100644 --- a/models/deploy/marketplace/cmc/cmc__.yml +++ b/models/deploy/marketplace/cmc/cmc__.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/coingecko/coingecko__.yml b/models/deploy/marketplace/coingecko/coingecko__.yml index c7b833f..b3eea61 100644 --- a/models/deploy/marketplace/coingecko/coingecko__.yml +++ b/models/deploy/marketplace/coingecko/coingecko__.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/covalent/covalent__.yml b/models/deploy/marketplace/covalent/covalent__.yml index d3b3af8..0946e5b 100644 --- a/models/deploy/marketplace/covalent/covalent__.yml +++ b/models/deploy/marketplace/covalent/covalent__.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/credmark/credmark_utils__.yml b/models/deploy/marketplace/credmark/credmark_utils__.yml index f9ba19c..da7af5a 100644 --- a/models/deploy/marketplace/credmark/credmark_utils__.yml +++ b/models/deploy/marketplace/credmark/credmark_utils__.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/dapplooker/dapplooker__.yml b/models/deploy/marketplace/dapplooker/dapplooker__.yml index d2bbe06..e03c07b 100644 --- a/models/deploy/marketplace/dapplooker/dapplooker__.yml +++ b/models/deploy/marketplace/dapplooker/dapplooker__.yml @@ -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 diff --git a/models/deploy/marketplace/dappradar/dappradar__.yml b/models/deploy/marketplace/dappradar/dappradar__.yml index 14ccb8d..9001135 100644 --- a/models/deploy/marketplace/dappradar/dappradar__.yml +++ b/models/deploy/marketplace/dappradar/dappradar__.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/deepnftvalue/deepnftvalue__.yml b/models/deploy/marketplace/deepnftvalue/deepnftvalue__.yml index d6b1a6d..5d74b54 100644 --- a/models/deploy/marketplace/deepnftvalue/deepnftvalue__.yml +++ b/models/deploy/marketplace/deepnftvalue/deepnftvalue__.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/defillama/defillama__.yml b/models/deploy/marketplace/defillama/defillama__.yml index 8068fe5..f166afd 100644 --- a/models/deploy/marketplace/defillama/defillama__.yml +++ b/models/deploy/marketplace/defillama/defillama__.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/espn/espn__.yml b/models/deploy/marketplace/espn/espn__.yml index 3448ab0..076fd9d 100644 --- a/models/deploy/marketplace/espn/espn__.yml +++ b/models/deploy/marketplace/espn/espn__.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/footprint/footprint_utils__footprint_utils.yml b/models/deploy/marketplace/footprint/footprint_utils__footprint_utils.yml index 59ee58e..9d8f581 100644 --- a/models/deploy/marketplace/footprint/footprint_utils__footprint_utils.yml +++ b/models/deploy/marketplace/footprint/footprint_utils__footprint_utils.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/fred/fred__.yml b/models/deploy/marketplace/fred/fred__.yml index 830028b..8bca297 100644 --- a/models/deploy/marketplace/fred/fred__.yml +++ b/models/deploy/marketplace/fred/fred__.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/github/github_actions__github_utils.yml b/models/deploy/marketplace/github/github_actions__github_utils.yml index e82d108..83f79c3 100644 --- a/models/deploy/marketplace/github/github_actions__github_utils.yml +++ b/models/deploy/marketplace/github/github_actions__github_utils.yml @@ -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 diff --git a/models/deploy/marketplace/github/github_utils__github_utils.yml b/models/deploy/marketplace/github/github_utils__github_utils.yml index ac31039..1c94046 100644 --- a/models/deploy/marketplace/github/github_utils__github_utils.yml +++ b/models/deploy/marketplace/github/github_utils__github_utils.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/helius/helius_apis__helius_utils.yml b/models/deploy/marketplace/helius/helius_apis__helius_utils.yml index e84d7ba..5edbe06 100644 --- a/models/deploy/marketplace/helius/helius_apis__helius_utils.yml +++ b/models/deploy/marketplace/helius/helius_apis__helius_utils.yml @@ -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 diff --git a/models/deploy/marketplace/helius/helius_das__helius_utils.yml b/models/deploy/marketplace/helius/helius_das__helius_utils.yml index 29aa7aa..d04c405 100644 --- a/models/deploy/marketplace/helius/helius_das__helius_utils.yml +++ b/models/deploy/marketplace/helius/helius_das__helius_utils.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/nftscan/nftscan__.yml b/models/deploy/marketplace/nftscan/nftscan__.yml index 27e41c4..c243152 100644 --- a/models/deploy/marketplace/nftscan/nftscan__.yml +++ b/models/deploy/marketplace/nftscan/nftscan__.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/opensea/opensea__.yml b/models/deploy/marketplace/opensea/opensea__.yml index 3d8a0e0..b8f346c 100644 --- a/models/deploy/marketplace/opensea/opensea__.yml +++ b/models/deploy/marketplace/opensea/opensea__.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/playgrounds/playgrounds__.yml b/models/deploy/marketplace/playgrounds/playgrounds__.yml index a7d72cc..8252dfd 100644 --- a/models/deploy/marketplace/playgrounds/playgrounds__.yml +++ b/models/deploy/marketplace/playgrounds/playgrounds__.yml @@ -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 diff --git a/models/deploy/marketplace/quicknode/quicknode_ethereum_nfts__quicknode_utils.yml b/models/deploy/marketplace/quicknode/quicknode_ethereum_nfts__quicknode_utils.yml index e3a215a..dca7a2d 100644 --- a/models/deploy/marketplace/quicknode/quicknode_ethereum_nfts__quicknode_utils.yml +++ b/models/deploy/marketplace/quicknode/quicknode_ethereum_nfts__quicknode_utils.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/quicknode/quicknode_ethereum_tokens__quicknode_utils.yml b/models/deploy/marketplace/quicknode/quicknode_ethereum_tokens__quicknode_utils.yml index feb42ad..08f0c81 100644 --- a/models/deploy/marketplace/quicknode/quicknode_ethereum_tokens__quicknode_utils.yml +++ b/models/deploy/marketplace/quicknode/quicknode_ethereum_tokens__quicknode_utils.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/quicknode/quicknode_polygon_nfts__quicknode_utils.yml b/models/deploy/marketplace/quicknode/quicknode_polygon_nfts__quicknode_utils.yml index 47bd7cd..df090e3 100644 --- a/models/deploy/marketplace/quicknode/quicknode_polygon_nfts__quicknode_utils.yml +++ b/models/deploy/marketplace/quicknode/quicknode_polygon_nfts__quicknode_utils.yml @@ -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 diff --git a/models/deploy/marketplace/quicknode/quicknode_polygon_tokens__quicknode_utils.yml b/models/deploy/marketplace/quicknode/quicknode_polygon_tokens__quicknode_utils.yml index d85b28c..093dd2a 100644 --- a/models/deploy/marketplace/quicknode/quicknode_polygon_tokens__quicknode_utils.yml +++ b/models/deploy/marketplace/quicknode/quicknode_polygon_tokens__quicknode_utils.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/quicknode/quicknode_solana_nfts__quicknode_utils.yml b/models/deploy/marketplace/quicknode/quicknode_solana_nfts__quicknode_utils.yml index 68455ec..9288d0b 100644 --- a/models/deploy/marketplace/quicknode/quicknode_solana_nfts__quicknode_utils.yml +++ b/models/deploy/marketplace/quicknode/quicknode_solana_nfts__quicknode_utils.yml @@ -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 diff --git a/models/deploy/marketplace/reservoir/reservoir__.yml b/models/deploy/marketplace/reservoir/reservoir__.yml index 4410ba6..795bc87 100644 --- a/models/deploy/marketplace/reservoir/reservoir__.yml +++ b/models/deploy/marketplace/reservoir/reservoir__.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/slack/slack__.yml b/models/deploy/marketplace/slack/slack__.yml index accdb42..ce0fe4e 100644 --- a/models/deploy/marketplace/slack/slack__.yml +++ b/models/deploy/marketplace/slack/slack__.yml @@ -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 \ No newline at end of file + ] + } + assertions: + - result:status_code = 200 + - result:data.json.text = 'Complex test message' + - result:data.json.username = 'Test Bot' + - result IS NOT NULL \ No newline at end of file diff --git a/models/deploy/marketplace/slack/slack_utils__slack_utils.yml b/models/deploy/marketplace/slack/slack_utils__slack_utils.yml index bde7f64..53bea5a 100644 --- a/models/deploy/marketplace/slack/slack_utils__slack_utils.yml +++ b/models/deploy/marketplace/slack/slack_utils__slack_utils.yml @@ -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 \ No newline at end of file + arguments: + args: > + '' + assertions: + - result = false \ No newline at end of file diff --git a/models/deploy/marketplace/snapshot/snapshot__ .yml b/models/deploy/marketplace/snapshot/snapshot__ .yml index f7e3944..40c1f67 100644 --- a/models/deploy/marketplace/snapshot/snapshot__ .yml +++ b/models/deploy/marketplace/snapshot/snapshot__ .yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/solscan/solscan__.yml b/models/deploy/marketplace/solscan/solscan__.yml index 84b11a4..4b1e0f3 100644 --- a/models/deploy/marketplace/solscan/solscan__.yml +++ b/models/deploy/marketplace/solscan/solscan__.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/stakingrewards/stakingrewards__ .yml b/models/deploy/marketplace/stakingrewards/stakingrewards__ .yml index be8655a..ea1bf35 100644 --- a/models/deploy/marketplace/stakingrewards/stakingrewards__ .yml +++ b/models/deploy/marketplace/stakingrewards/stakingrewards__ .yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/strangelove/strangelove__.yml b/models/deploy/marketplace/strangelove/strangelove__.yml index f768dd8..e628ccb 100644 --- a/models/deploy/marketplace/strangelove/strangelove__.yml +++ b/models/deploy/marketplace/strangelove/strangelove__.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/subquery/subquery__.yml b/models/deploy/marketplace/subquery/subquery__.yml index bbbfd1f..a66520f 100644 --- a/models/deploy/marketplace/subquery/subquery__.yml +++ b/models/deploy/marketplace/subquery/subquery__.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/topshot/topshot__.yml b/models/deploy/marketplace/topshot/topshot__.yml index 1b0c340..ecb6f05 100644 --- a/models/deploy/marketplace/topshot/topshot__.yml +++ b/models/deploy/marketplace/topshot/topshot__.yml @@ -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 \ No newline at end of file diff --git a/models/deploy/marketplace/transpose/transpose__.yml b/models/deploy/marketplace/transpose/transpose__.yml index acbda6b..1e5d3ff 100644 --- a/models/deploy/marketplace/transpose/transpose__.yml +++ b/models/deploy/marketplace/transpose/transpose__.yml @@ -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 \ No newline at end of file diff --git a/package-lock.yml b/package-lock.yml index 84537d9..973333b 100644 --- a/package-lock.yml +++ b/package-lock.yml @@ -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 diff --git a/packages.yml b/packages.yml index b121c4e..6b7cfda 100644 --- a/packages.yml +++ b/packages.yml @@ -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"] \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index f32ca68..eed3d66 100644 --- a/requirements.txt +++ b/requirements.txt @@ -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