From a524f0f29573a93c4cff5722cf0c0455c25c0da1 Mon Sep 17 00:00:00 2001 From: inertia <amartin75@gmail.com> Date: Fri, 2 Jul 2021 10:32:21 -0700 Subject: [PATCH] #82 verifying curl examples --- Rakefile | 17 +++++++++++- _data/apidefinitions/condenser_api.yml | 37 +++++++------------------- _includes/api-template.html | 4 +++ 3 files changed, 30 insertions(+), 28 deletions(-) diff --git a/Rakefile b/Rakefile index b2d0fe17..2aa34373 100644 --- a/Rakefile +++ b/Rakefile @@ -179,7 +179,10 @@ namespace :test do blockchain_version = version['blockchain_version'] hive_rev = version['hive_revision'][0..5] fc_rev = version['fc_revision'][0..5] - puts "node: #{url}; blockchain_version: #{blockchain_version}; hive_rev: #{hive_rev}; fc_rev: #{fc_rev}" + chain_id = version['chain_id'] + mainnet = chain_id == 'beeab0de00000000000000000000000000000000000000000000000000000000' + + puts "node: #{url}; blockchain_version: #{blockchain_version}; hive_rev: #{hive_rev}; fc_rev: #{fc_rev}; mainnet: #{mainnet}" apis.each do |api| file_name = "_data/apidefinitions/#{api}.yml" @@ -199,6 +202,18 @@ namespace :test do end method['curl_examples'].each_with_index do |curl_example, index| + unless mainnet + # Replace key prefix, e.g.: + # STM5jZtLoV8YbxCxr4imnbWn61zMB24wwonpnVhfXRmv7j6fk3dTH + # becomes: + # TST5jZtLoV8YbxCxr4imnbWn61zMB24wwonpnVhfXRmv7j6fk3dTH + curl_example = curl_example.gsub(/"STM([^"]{50})"/) do |_| + match = Regexp.last_match + + "\"TST#{match[1]}\"" + end + end + response = `curl -s -w \"HTTP_CODE:%{http_code}\" --data '#{curl_example}' #{url}` response = response.split('HTTP_CODE:') json = response[0] diff --git a/_data/apidefinitions/condenser_api.yml b/_data/apidefinitions/condenser_api.yml index 7d5f74f0..c04b61fc 100644 --- a/_data/apidefinitions/condenser_api.yml +++ b/_data/apidefinitions/condenser_api.yml @@ -58,12 +58,11 @@ curl_examples: - '{"jsonrpc":"2.0", "method":"condenser_api.broadcast_transaction", "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["vote",{"voter":"hiveio","author":"alice","permlink":"a-post-by-alice","weight":10000}]],"extensions":[],"signatures":[]}], "id":1}' - - '{"jsonrpc":"2.0", "method":"condenser_api.broadcast_transaction", "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["pow",{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":"100.000 - HIVE","maximum_block_size":131072,"hbd_interest_rate":1000}}]],"extensions":[],"signatures":[]}], + - '{"jsonrpc":"2.0", "method":"condenser_api.broadcast_transaction", "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["pow",{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":{"amount":"100000","precision":3,"nai":"@@000000021"},"maximum_block_size":131072,"hbd_interest_rate":1000}}]],"extensions":[],"signatures":[]}], "id":1}' expected_curl_responses: - missing required posting authority - - Asset has to treated as object. + - transaction tapos exception client_docs: - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#broadcast-api)" - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#broadcast-transaction)" @@ -87,12 +86,11 @@ "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["vote",{"voter":"hiveio","author":"alice","permlink":"a-post-by-alice","weight":10000}]],"extensions":[],"signatures":[]}], "id":1}' - '{"jsonrpc":"2.0", "method":"condenser_api.broadcast_transaction_synchronous", - "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["pow",{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":"100.000 - HIVE","maximum_block_size":131072,"hbd_interest_rate":1000}}]],"extensions":[],"signatures":[]}], + "params":[{"ref_block_num":1097,"ref_block_prefix":2181793527,"expiration":"2016-03-24T18:00:21","operations":[["pow",{"worker_account":"cloop3","block_id":"00000449f7860b82b4fbe2f317c670e9f01d6d9a","nonce":3899,"work":{"worker":"STM7P5TDnA87Pj9T4mf6YHrhzjC1KbPZpNxLWCcVcHxNYXakpoT4F","input":"ae8e7c677119d22385f8c48026fee7aad7bba693bf788d7f27047f40b47738c0","signature":"1f38fe9a3f9989f84bd94aa5bbc88beaf09b67f825aa4450cf5105d111149ba6db560b582c7dbb026c7fc9c2eb5051815a72b17f6896ed59d3851d9a0f9883ca7a","work":"000e7b209d58f2e64b36e9bf12b999c6c7af168cc3fc41eb7f8a4bf796c174c3"},"props":{"account_creation_fee":{"amount":"10000","precision":3,"nai":"@@000000021"},"maximum_block_size":131072,"hbd_interest_rate":1000}}]],"extensions":[],"signatures":[]}], "id":1}' expected_curl_responses: - missing required posting authority - - Asset has to treated as object. + - transaction tapos exception client_docs: - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#broadcast-api)" - "[beem](https://beem.readthedocs.io/en/latest/beem.transactionbuilder.html)" @@ -217,26 +215,11 @@ - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-account-reputations)" - "[hive-ruby](https://www.rubydoc.info/gems/hive-ruby/Hive/Api)" - api_method: condenser_api.get_account_votes + disabled: true purpose: | - Returns all votes by an account. Parameters: `account:string` - - | `account` (string) | | - |-------------------|-| - | `"hiveio"` | Queries for votes by "hiveio". | - | `"alice"` | Queries for votes by "alice". | - parameter_json: - - '' - expected_response_json: - - authorperm: '' - weight: '' - rshares: '' - percent: - time: '2016-04-29T22:27:42' - curl_examples: - - '{"jsonrpc":"2.0", "method":"condenser_api.get_account_votes", "params":["hiveio"], - "id":1}' - - '{"jsonrpc":"2.0", "method":"condenser_api.get_account_votes", "params":["alice"], - "id":1}' + No longer supported. Use: [database_api.list_votes]({{ '/apidefinitions/#database_api.list_votes' | relative_url }}) + + <p> </p><p> </p><p> </p><p> </p><p> </p> client_docs: - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-account-votes)" - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-account-votes)" @@ -409,8 +392,8 @@ - '{"jsonrpc":"2.0", "method":"condenser_api.get_active_votes", "params":["alice", "a-post-by-alice"], "id":1}' expected_curl_responses: - - - - unknown key:unknown key + - Invalid parameters + - Invalid parameters client_docs: - "[hive-js](https://gitlab.syncad.com/hive/hive-js/tree/master/doc#get-active-votes)" - "[beem](https://beem.readthedocs.io/en/latest/apidefinitions.html#get-active-votes)" diff --git a/_includes/api-template.html b/_includes/api-template.html index 00a613fc..ad5a68aa 100644 --- a/_includes/api-template.html +++ b/_includes/api-template.html @@ -34,14 +34,18 @@ Methods: </ul> <h4 id="{{ method.api_method | slug }}">{{method.api_method}} <a href="#{{ method.api_method | slug}}"><i class="fas fa-link fa-xs"></i></a></h4> {{ method.purpose | liquify | markdownify }} +{% if method.parameter_json %} <h5 id="{{ method.api_method | slug }}-parameter_json">Query Parameters JSON <a href="#{{ method.api_method | slug}}-parameter_json"><i class="fas fa-link fa-sm"></i></a></h5> ```json {{method.parameter_json | neat_json}} ``` +{% endif %} +{% if method.parameter_json %} <h5 id="{{ method.api_method | slug }}-expected_response_json">Expected Response JSON <a href="#{{ method.api_method | slug}}-expected_response_json"><i class="fas fa-link fa-sm"></i></a></h5> ```json {{method.expected_response_json | neat_json}} ``` +{% endif %} {% if method.curl_examples %} <h5 id="{{ method.api_method | slug }}-curl-examples">Example <code>curl</code> <a href="#{{ method.api_method | slug}}-curl-examples"><i class="fas fa-link fa-sm"></i></a></h5> {% for curl in method.curl_examples %} -- GitLab