diff --git a/ApiTests.cmake b/ApiTests.cmake index 84815734e23ad2e87d8e93ab0680415967af4e47..0da731a2679f73b202abec0231960dc749ca12ac 100644 --- a/ApiTests.cmake +++ b/ApiTests.cmake @@ -23,6 +23,22 @@ macro(ADD_API_TEST common_working_dir directory_with_test product api_name test_ set_property(TEST "api/${api_name}/${test_name}" PROPERTY LABELS python_tests ${api_name} ${test_name}) endmacro(ADD_API_TEST) +# @common_working_dir - the root of working directories for all the api test +# @directory_with_test - full path to tests_api repo on the disk +# @product - hived or hivemind +# @api_name - for example database, condenser, etc... +# @blocks_group - prefix of directory with tests for some number of blocks (2mln for directory 2mln_blocks) +macro(ADD_API_PYREST_TEST common_working_dir directory_with_test product api_name blocks_group) + set(directory_for_blocks ${directory_with_test}/${product}/pyrest_tests/${blocks_group}_blocks) + set(api_test_directory ./${api_name}_api) + set(test_script_path ${api_test_directory}/${api_name}_api_test.yaml) + set(test_name "api/pyresttest/${blocks_group}/${api_name}") + message(STATUS "Adding ${test_name} to test list") + set(test_parameters --url=${TEST_NODE} --test=${test_script_path} --import_extensions "validator_ex\;comparator_contain") + add_test(NAME ${test_name} COMMAND pyresttest ${test_parameters} WORKING_DIRECTORY ${directory_for_blocks}) + set_property(TEST ${test_name} PROPERTY LABELS python_tests ${pyresttest} ${api_name} ) +endmacro(ADD_API_PYREST_TEST) + # @directory_with_test - full path to tests_api repo on the disk # @product - hived or hivemind macro(ADD_API_SMOKETEST directory_with_test product) diff --git a/hivemind/pyrest_tests/2mln_blocks/comparator_contain.py b/hivemind/pyrest_tests/2mln_blocks/comparator_contain.py new file mode 120000 index 0000000000000000000000000000000000000000..ed3660cab60c018c7f9e18c753c431ad307439f6 --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/comparator_contain.py @@ -0,0 +1 @@ +../comparator_contain.py \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/comparator_equal.py b/hivemind/pyrest_tests/2mln_blocks/comparator_equal.py new file mode 120000 index 0000000000000000000000000000000000000000..5668d02672d24109db2f8258b7763257a4fed865 --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/comparator_equal.py @@ -0,0 +1 @@ +../comparator_equal.py \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/condenser_api/condenser_api_test.yaml b/hivemind/pyrest_tests/2mln_blocks/condenser_api/condenser_api_test.yaml new file mode 100644 index 0000000000000000000000000000000000000000..fdacc21ec661cfcfaa1b4b4fa216e0ee5f7e33c5 --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/condenser_api/condenser_api_test.yaml @@ -0,0 +1,65 @@ +--- + - config: + - testset: "Condenser API Tests" + - api: &api "condenser_api" + - variable_binds: + - api: *api + - generators: + - test_id: {type: 'number_sequence', start: 1} + + - base_test: &base_test + - generator_binds: + - test_id: test_id + - group: *api + - url: "/" + - method: "POST" + - body: {template: {file: "../templates/request_template.json"}} + - validators: + - extract_test: {jsonpath_mini: "error", test: "not_exists"} + - extract_test: {jsonpath_mini: "result", test: "exists"} + - compare: {jsonpath_mini: "id", comparator: "str_eq", expected: {template: $test_id}} + - json_file_validator: {jsonpath_mini: "result", comparator: "json_compare", expected: {template: '$api/$method'}} + + - test: + - name: "get_following" + - variable_binds: + - method: "get_following" + - args: '["steemit",null,"blog",10]' + - <<: *base_test + + - test: + - name: "get_follow_count" + - variable_binds: + - method: "get_follow_count" + - args: '["steemit"]' + - <<: *base_test + + - test: + - name: "get_content" + - variable_binds: + - method: "get_content" + - args: '["steemit", "firstpost"]' + - <<: *base_test + + - test: + - name: "get_replies_by_last_update" + - variable_binds: + - method: "get_replies_by_last_update" + - args: '["steemit","firstpost",1]' + - <<: *base_test + + - test: + - name: "get_account_reputations" + - variable_binds: + - method: "get_account_reputations" + - args: '["steemit", 1]' + - <<: *base_test + + - test: + - name: "get_accounts" + - variable_binds: + - method: "get_accounts" + - args: '[["steemit"]]' + - <<: *base_test + + diff --git a/hivemind/pyrest_tests/2mln_blocks/condenser_api/get_account_reputations.pat.json b/hivemind/pyrest_tests/2mln_blocks/condenser_api/get_account_reputations.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..2614c7f5bb82cb0e83f15bc6e3db07c531cf254a --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/condenser_api/get_account_reputations.pat.json @@ -0,0 +1,6 @@ +[ + { + "account": "steemit", + "reputation": 156918229 + } +] \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/condenser_api/get_accounts.pat.json b/hivemind/pyrest_tests/2mln_blocks/condenser_api/get_accounts.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..398e60cd6cab95f9a6726178b462e2305222187b --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/condenser_api/get_accounts.pat.json @@ -0,0 +1,107 @@ +[ + { + "active": { + "account_auths": [], + "key_auths": [ + [ + "STM65wH1LZ7BfSHcK69SShnqCAH5xdoSZpGkUjmzHJ5GCuxEK9V5G", + 1 + ] + ], + "weight_threshold": 1 + }, + "balance": "113089.524 HIVE", + "can_vote": true, + "comment_count": 0, + "created": "2016-03-24T17:00:21", + "curation_rewards": 0, + "delegated_vesting_shares": "0.000000 VESTS", + "downvote_manabar": { + "current_mana": 0, + "last_update_time": 1458838821 + }, + "guest_bloggers": [], + "id": 28, + "json_metadata": "", + "last_account_recovery": "1970-01-01T00:00:00", + "last_account_update": "1970-01-01T00:00:00", + "last_owner_update": "1970-01-01T00:00:00", + "last_post": "2016-03-30T18:30:18", + "last_root_post": "2016-03-30T18:30:18", + "last_vote_time": "1970-01-01T00:00:00", + "lifetime_vote_count": 0, + "market_history": [], + "memo_key": "STM65wH1LZ7BfSHcK69SShnqCAH5xdoSZpGkUjmzHJ5GCuxEK9V5G", + "mined": true, + "name": "steemit", + "next_vesting_withdrawal": "1969-12-31T23:59:59", + "other_history": [], + "owner": { + "account_auths": [], + "key_auths": [ + [ + "STM65wH1LZ7BfSHcK69SShnqCAH5xdoSZpGkUjmzHJ5GCuxEK9V5G", + 1 + ] + ], + "weight_threshold": 1 + }, + "pending_claimed_accounts": 0, + "post_bandwidth": 0, + "post_count": 1, + "post_history": [], + "posting": { + "account_auths": [], + "key_auths": [ + [ + "STM65wH1LZ7BfSHcK69SShnqCAH5xdoSZpGkUjmzHJ5GCuxEK9V5G", + 1 + ] + ], + "weight_threshold": 1 + }, + "posting_json_metadata": "", + "posting_rewards": 0, + "proxied_vsf_votes": [ + 0, + 0, + 0, + 0 + ], + "proxy": "", + "received_vesting_shares": "0.000000 VESTS", + "recovery_account": "steem", + "reputation": 156918229, + "reset_account": "null", + "reward_sbd_balance": "0.000 HBD", + "reward_steem_balance": "0.000 HIVE", + "reward_vesting_balance": "0.000000 VESTS", + "reward_vesting_steem": "0.000 HIVE", + "savings_balance": "0.000 HIVE", + "savings_sbd_balance": "0.000 HBD", + "savings_sbd_last_interest_payment": "1970-01-01T00:00:00", + "savings_sbd_seconds": "0", + "savings_sbd_seconds_last_update": "1970-01-01T00:00:00", + "savings_withdraw_requests": 0, + "sbd_balance": "0.000 HBD", + "sbd_last_interest_payment": "1970-01-01T00:00:00", + "sbd_seconds": "0", + "sbd_seconds_last_update": "1970-01-01T00:00:00", + "tags_usage": [], + "to_withdraw": 0, + "transfer_history": [], + "vesting_balance": "0.000 HIVE", + "vesting_shares": "257910734535.923078 VESTS", + "vesting_withdraw_rate": "0.000000 VESTS", + "vote_history": [], + "voting_manabar": { + "current_mana": 10000, + "last_update_time": 1458838821 + }, + "voting_power": 10000, + "withdraw_routes": 0, + "withdrawn": 0, + "witness_votes": [], + "witnesses_voted_for": 0 + } +] \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/condenser_api/get_content.pat.json b/hivemind/pyrest_tests/2mln_blocks/condenser_api/get_content.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..e58035c3b78626372351be36705d9f51408250f7 --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/condenser_api/get_content.pat.json @@ -0,0 +1,192 @@ +{ + "abs_rshares": "4113352600205", + "active": "2016-04-13T03:48:36", + "active_votes": [ + { + "percent": 100, + "reputation": "41475956887711", + "rshares": 375241, + "time": "2016-04-07T19:15:36", + "voter": "dantheman", + "weight": "32866333630" + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 886132, + "time": "2016-04-06T19:29:03", + "voter": "mr11acdee", + "weight": "876019385955" + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 5100, + "time": "2016-03-30T20:13:00", + "voter": "steemit78", + "weight": "5100000000" + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 1259167, + "time": "2016-04-09T17:34:36", + "voter": "anonymous", + "weight": "312616340416" + }, + { + "percent": 10000, + "reputation": 159370, + "rshares": 318519, + "time": "2016-04-15T10:12:36", + "voter": "hello", + "weight": 3369765102 + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 153384, + "time": "2016-04-15T10:12:30", + "voter": "world", + "weight": 472619298 + }, + { + "percent": -100, + "reputation": "5161053142553", + "rshares": -936400, + "time": "2016-04-16T17:12:54", + "voter": "ned", + "weight": 0 + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 59412, + "time": "2016-04-15T10:12:39", + "voter": "fufubar1", + "weight": 21052793 + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 14997, + "time": "2016-04-15T10:12:33", + "voter": "anonymous1", + "weight": 437001 + }, + { + "percent": 100, + "reputation": "915861737012", + "rshares": 1441, + "time": "2016-04-07T14:55:15", + "voter": "red", + "weight": 3754 + }, + { + "percent": 10000, + "reputation": "2619142738966", + "rshares": 82748, + "time": "2016-04-12T04:45:12", + "voter": "roadscape", + "weight": 83185649 + }, + { + "percent": 100, + "reputation": "20802610986156", + "rshares": 10772, + "time": "2016-04-15T10:43:51", + "voter": "xeroc", + "weight": 124628 + }, + { + "percent": 10000, + "reputation": "17797310583267", + "rshares": "7685088000", + "time": "2016-04-27T08:20:09", + "voter": "markopaasila", + "weight": 26856 + }, + { + "percent": 10000, + "reputation": "5411127797302", + "rshares": 454510724, + "time": "2016-05-25T07:12:27", + "voter": "tshering-tamang", + "weight": 5 + }, + { + "percent": 10000, + "reputation": "1999819075595", + "rshares": 504895891, + "time": "2016-05-24T00:14:42", + "voter": "dedmatvey", + "weight": 7 + }, + { + "percent": 10000, + "reputation": "350976144383", + "rshares": 498863058, + "time": "2016-05-29T05:58:51", + "voter": "joelinux", + "weight": 7 + }, + { + "percent": 10000, + "reputation": "47655473389", + "rshares": 473258270, + "time": "2016-05-24T00:42:18", + "voter": "ned-reddit-login", + "weight": 6 + }, + { + "percent": 10000, + "reputation": "150545890127", + "rshares": 422984262, + "time": "2016-05-24T00:47:03", + "voter": "acidyo", + "weight": 4 + } + ], + "allow_curation_rewards": true, + "allow_replies": true, + "allow_votes": true, + "author": "steemit", + "author_reputation": 156918229, + "author_rewards": 0, + "beneficiaries": [], + "body": "Steemit is a social media platform where anyone can earn STEEM points by posting. The more people who like a post, the more STEEM the poster earns. Anyone can sell their STEEM for cash or vest it to boost their voting power.", + "body_length": 0, + "cashout_time": "2016-04-13T20:13:00", + "category": "meta", + "children": 4, + "children_abs_rshares": "10480611963", + "created": "2016-03-30T18:30:18", + "curator_payout_value": "0.000 HBD", + "depth": 0, + "id": 0, + "json_metadata": "", + "last_payout": "1970-01-01T00:00:00", + "last_update": "2016-03-30T18:30:18", + "max_accepted_payout": "1000000.000 HBD", + "max_cashout_time": "2016-04-13T20:13:00", + "net_rshares": "2240552600205", + "net_votes": 16, + "parent_author": "", + "parent_permlink": "meta", + "pending_payout_value": "5.483 HBD", + "percent_steem_dollars": 10000, + "permlink": "firstpost", + "promoted": "0.000 HBD", + "reblogged_by": [], + "replies": [], + "reward_weight": 10000, + "root_author": "steemit", + "root_permlink": "firstpost", + "root_title": "Welcome to Steem!", + "title": "Welcome to Steem!", + "total_payout_value": "0.000 HBD", + "total_pending_payout_value": "0.000 HBD", + "total_vote_weight": "1230549275111", + "url": "/meta/@steemit/firstpost", + "vote_rshares": "3176952600205" +} \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/condenser_api/get_follow_count.pat.json b/hivemind/pyrest_tests/2mln_blocks/condenser_api/get_follow_count.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..6dedcc9d9e2738987f205bbc98072a452aa64191 --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/condenser_api/get_follow_count.pat.json @@ -0,0 +1,5 @@ +{ + "account": "steemit", + "follower_count": 0, + "following_count": 0 +} \ No newline at end of file diff --git a/hivemind/pyrest_tests/condenser_api/get_following.pat.json b/hivemind/pyrest_tests/2mln_blocks/condenser_api/get_following.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_following.pat.json rename to hivemind/pyrest_tests/2mln_blocks/condenser_api/get_following.pat.json diff --git a/hivemind/pyrest_tests/2mln_blocks/condenser_api/get_replies_by_last_update.pat.json b/hivemind/pyrest_tests/2mln_blocks/condenser_api/get_replies_by_last_update.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..64776743424102668e4a045fcb74be9815eaecb3 --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/condenser_api/get_replies_by_last_update.pat.json @@ -0,0 +1,194 @@ +[ + { + "abs_rshares": "4113352600205", + "active": "2016-04-13T03:48:36", + "active_votes": [ + { + "percent": 100, + "reputation": "41475956887711", + "rshares": 375241, + "time": "2016-04-07T19:15:36", + "voter": "dantheman", + "weight": "32866333630" + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 886132, + "time": "2016-04-06T19:29:03", + "voter": "mr11acdee", + "weight": "876019385955" + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 5100, + "time": "2016-03-30T20:13:00", + "voter": "steemit78", + "weight": "5100000000" + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 1259167, + "time": "2016-04-09T17:34:36", + "voter": "anonymous", + "weight": "312616340416" + }, + { + "percent": 10000, + "reputation": 159370, + "rshares": 318519, + "time": "2016-04-15T10:12:36", + "voter": "hello", + "weight": 3369765102 + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 153384, + "time": "2016-04-15T10:12:30", + "voter": "world", + "weight": 472619298 + }, + { + "percent": -100, + "reputation": "5161053142553", + "rshares": -936400, + "time": "2016-04-16T17:12:54", + "voter": "ned", + "weight": 0 + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 59412, + "time": "2016-04-15T10:12:39", + "voter": "fufubar1", + "weight": 21052793 + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 14997, + "time": "2016-04-15T10:12:33", + "voter": "anonymous1", + "weight": 437001 + }, + { + "percent": 100, + "reputation": "915861737012", + "rshares": 1441, + "time": "2016-04-07T14:55:15", + "voter": "red", + "weight": 3754 + }, + { + "percent": 10000, + "reputation": "2619142738966", + "rshares": 82748, + "time": "2016-04-12T04:45:12", + "voter": "roadscape", + "weight": 83185649 + }, + { + "percent": 100, + "reputation": "20802610986156", + "rshares": 10772, + "time": "2016-04-15T10:43:51", + "voter": "xeroc", + "weight": 124628 + }, + { + "percent": 10000, + "reputation": "17797310583267", + "rshares": "7685088000", + "time": "2016-04-27T08:20:09", + "voter": "markopaasila", + "weight": 26856 + }, + { + "percent": 10000, + "reputation": "5411127797302", + "rshares": 454510724, + "time": "2016-05-25T07:12:27", + "voter": "tshering-tamang", + "weight": 5 + }, + { + "percent": 10000, + "reputation": "1999819075595", + "rshares": 504895891, + "time": "2016-05-24T00:14:42", + "voter": "dedmatvey", + "weight": 7 + }, + { + "percent": 10000, + "reputation": "350976144383", + "rshares": 498863058, + "time": "2016-05-29T05:58:51", + "voter": "joelinux", + "weight": 7 + }, + { + "percent": 10000, + "reputation": "47655473389", + "rshares": 473258270, + "time": "2016-05-24T00:42:18", + "voter": "ned-reddit-login", + "weight": 6 + }, + { + "percent": 10000, + "reputation": "150545890127", + "rshares": 422984262, + "time": "2016-05-24T00:47:03", + "voter": "acidyo", + "weight": 4 + } + ], + "allow_curation_rewards": true, + "allow_replies": true, + "allow_votes": true, + "author": "steemit", + "author_reputation": 156918229, + "author_rewards": 0, + "beneficiaries": [], + "body": "Steemit is a social media platform where anyone can earn STEEM points by posting. The more people who like a post, the more STEEM the poster earns. Anyone can sell their STEEM for cash or vest it to boost their voting power.", + "body_length": 0, + "cashout_time": "2016-04-13T20:13:00", + "category": "meta", + "children": 4, + "children_abs_rshares": "10480611963", + "created": "2016-03-30T18:30:18", + "curator_payout_value": "0.000 HBD", + "depth": 0, + "id": 0, + "json_metadata": "", + "last_payout": "1970-01-01T00:00:00", + "last_update": "2016-03-30T18:30:18", + "max_accepted_payout": "1000000.000 HBD", + "max_cashout_time": "2016-04-13T20:13:00", + "net_rshares": "2240552600205", + "net_votes": 16, + "parent_author": "", + "parent_permlink": "meta", + "pending_payout_value": "5.483 HBD", + "percent_steem_dollars": 10000, + "permlink": "firstpost", + "promoted": "0.000 HBD", + "reblogged_by": [], + "replies": [], + "reward_weight": 10000, + "root_author": "steemit", + "root_permlink": "firstpost", + "root_title": "Welcome to Steem!", + "title": "Welcome to Steem!", + "total_payout_value": "0.000 HBD", + "total_pending_payout_value": "0.000 HBD", + "total_vote_weight": "1230549275111", + "url": "/meta/@steemit/firstpost", + "vote_rshares": "3176952600205" + } +] \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/database_api/database_api_test.yaml b/hivemind/pyrest_tests/2mln_blocks/database_api/database_api_test.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4d257758b31f93663979c60ba9e3a3d1587184c9 --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/database_api/database_api_test.yaml @@ -0,0 +1,29 @@ +--- +- config: + - testset: "Database API Tests" + - api: &api "database_api" + - variable_binds: + - api: *api + - generators: + - test_id: {type: 'number_sequence', start: 1} + +- base_test: &base_test + - generator_binds: + - test_id: test_id + - group: *api + - url: "/" + - method: "POST" + - body: {template: {file: "../templates/request_template.json"}} + - validators: + - extract_test: {jsonpath_mini: "error", test: "not_exists"} + - extract_test: {jsonpath_mini: "result", test: "exists"} + - compare: {jsonpath_mini: "id", comparator: "str_eq", expected: {template: $test_id}} + - json_file_validator: {jsonpath_mini: "result", comparator: "json_compare", expected: {template: '$api/$method'}} + +- test: + - name: "list_comments" + - variable_binds: + - method: "list_comments" + - args: '{"start":["steemit","firstpost","",""], "limit":10, "order":"by_permlink"}' + - <<: *base_test + diff --git a/hivemind/pyrest_tests/2mln_blocks/database_api/list_comments.pat.json b/hivemind/pyrest_tests/2mln_blocks/database_api/list_comments.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..783ffdf6b69ea85439762c9cc44adb91ff39e0a8 --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/database_api/list_comments.pat.json @@ -0,0 +1,494 @@ +{ + "comments": [ + { + "abs_rshares": "4113352600205", + "active": "2016-04-13T03:48:36", + "allow_curation_rewards": true, + "allow_replies": true, + "allow_votes": true, + "author": "steemit", + "author_rewards": 0, + "beneficiaries": [], + "body": "Steemit is a social media platform where anyone can earn STEEM points by posting. The more people who like a post, the more STEEM the poster earns. Anyone can sell their STEEM for cash or vest it to boost their voting power.", + "cashout_time": "2016-04-13T20:13:00", + "category": "meta", + "children": 4, + "children_abs_rshares": "10480611963", + "created": "2016-03-30T18:30:18", + "curator_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "depth": 0, + "id": 0, + "json_metadata": "", + "last_payout": "1970-01-01T00:00:00", + "last_update": "2016-03-30T18:30:18", + "max_accepted_payout": { + "amount": "1000000000", + "nai": "@@000000013", + "precision": 3 + }, + "max_cashout_time": "2016-04-13T20:13:00", + "net_rshares": "2240552600205", + "net_votes": 16, + "parent_author": "", + "parent_permlink": "meta", + "percent_steem_dollars": 10000, + "permlink": "firstpost", + "reward_weight": 10000, + "root_author": "steemit", + "root_permlink": "firstpost", + "title": "Welcome to Steem!", + "total_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "total_vote_weight": "1230549275111", + "vote_rshares": "3176952600205" + }, + { + "abs_rshares": "26689206630", + "active": "2016-04-29T01:50:00", + "allow_curation_rewards": true, + "allow_replies": true, + "allow_votes": true, + "author": "steemit-news", + "author_rewards": 0, + "beneficiaries": [], + "body": "https://bitcoinmagazine.com/articles/bip-simplifies-bitcoin-wallets-for-the-everyday-user-1461856604", + "cashout_time": "2016-04-30T16:05:01", + "category": "bitcoin", + "children": 0, + "children_abs_rshares": "26689206630", + "created": "2016-04-29T01:50:00", + "curator_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "depth": 0, + "id": 839, + "json_metadata": "{}", + "last_payout": "1970-01-01T00:00:00", + "last_update": "2016-04-29T01:50:00", + "max_accepted_payout": { + "amount": "1000000000", + "nai": "@@000000013", + "precision": 3 + }, + "max_cashout_time": "2016-05-13T01:59:24", + "net_rshares": "26689206630", + "net_votes": 3, + "parent_author": "", + "parent_permlink": "bitcoin", + "percent_steem_dollars": 10000, + "permlink": "bip-75-simplifies-bitcoin-wallets-for-the-everyday-user", + "reward_weight": 10000, + "root_author": "steemit-news", + "root_permlink": "bip-75-simplifies-bitcoin-wallets-for-the-everyday-user", + "title": "BIP 75 Simplifies Bitcoin Wallets for the Everyday User", + "total_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "total_vote_weight": "24974902068", + "vote_rshares": "26689206630" + }, + { + "abs_rshares": 711757421, + "active": "2016-04-29T01:45:39", + "allow_curation_rewards": true, + "allow_replies": true, + "allow_votes": true, + "author": "steemit-news", + "author_rewards": 0, + "beneficiaries": [], + "body": "https://www.cryptocoinsnews.com/bitcoin-price-wings-cut-market/", + "cashout_time": "2016-04-30T01:59:21", + "category": "bitcoin", + "children": 0, + "children_abs_rshares": 711757421, + "created": "2016-04-29T01:45:39", + "curator_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "depth": 0, + "id": 836, + "json_metadata": "{}", + "last_payout": "1970-01-01T00:00:00", + "last_update": "2016-04-29T01:45:39", + "max_accepted_payout": { + "amount": "1000000000", + "nai": "@@000000013", + "precision": 3 + }, + "max_cashout_time": "2016-05-13T01:59:21", + "net_rshares": 711757421, + "net_votes": 1, + "parent_author": "", + "parent_permlink": "bitcoin", + "percent_steem_dollars": 10000, + "permlink": "bitcoin-price-wings-cut-by-market", + "reward_weight": 10000, + "root_author": "steemit-news", + "root_permlink": "bitcoin-price-wings-cut-by-market", + "title": "Bitcoin Price Wings Cut By Market", + "total_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "total_vote_weight": 711757421, + "vote_rshares": 711757421 + }, + { + "abs_rshares": 1169030142, + "active": "2016-04-29T01:48:42", + "allow_curation_rewards": true, + "allow_replies": true, + "allow_votes": true, + "author": "steemit-news", + "author_rewards": 0, + "beneficiaries": [], + "body": "https://www.reddit.com/r/Bitcoin/comments/4guuje/coinbase_has_betrayed_you_and_the_free_internet/", + "cashout_time": "2016-04-30T14:19:54", + "category": "crypto-news", + "children": 0, + "children_abs_rshares": 1169030142, + "created": "2016-04-29T01:48:42", + "curator_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "depth": 0, + "id": 838, + "json_metadata": "{}", + "last_payout": "1970-01-01T00:00:00", + "last_update": "2016-04-29T01:48:42", + "max_accepted_payout": { + "amount": "1000000000", + "nai": "@@000000013", + "precision": 3 + }, + "max_cashout_time": "2016-05-13T01:59:24", + "net_rshares": 1169030142, + "net_votes": 3, + "parent_author": "", + "parent_permlink": "crypto-news", + "percent_steem_dollars": 10000, + "permlink": "claim-coinbase-has-betrayed-you-and-the-free-internet", + "reward_weight": 10000, + "root_author": "steemit-news", + "root_permlink": "claim-coinbase-has-betrayed-you-and-the-free-internet", + "title": "Claim : Coinbase has betrayed you and the free internet", + "total_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "total_vote_weight": 739677255, + "vote_rshares": 1169030142 + }, + { + "abs_rshares": 2170182037, + "active": "2016-04-29T01:51:09", + "allow_curation_rewards": true, + "allow_replies": true, + "allow_votes": true, + "author": "steemit-news", + "author_rewards": 0, + "beneficiaries": [], + "body": "http://www.doc.ic.ac.uk/~dm214/dsi_coinobs/Web/Bitcoin/mempool.html", + "cashout_time": "2016-04-30T04:54:15", + "category": "bitcoin", + "children": 0, + "children_abs_rshares": 2170182037, + "created": "2016-04-29T01:51:09", + "curator_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "depth": 0, + "id": 840, + "json_metadata": "{}", + "last_payout": "1970-01-01T00:00:00", + "last_update": "2016-04-29T01:51:09", + "max_accepted_payout": { + "amount": "1000000000", + "nai": "@@000000013", + "precision": 3 + }, + "max_cashout_time": "2016-05-13T01:59:27", + "net_rshares": 2170182037, + "net_votes": 3, + "parent_author": "", + "parent_permlink": "bitcoin", + "percent_steem_dollars": 10000, + "permlink": "ever-wondered-what-a-block-on-the-bitcoin-blockchain-looked-like", + "reward_weight": 10000, + "root_author": "steemit-news", + "root_permlink": "ever-wondered-what-a-block-on-the-bitcoin-blockchain-looked-like", + "title": "Ever wondered what a block on the bitcoin blockchain looked like?", + "total_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "total_vote_weight": 977177927, + "vote_rshares": 2170182037 + }, + { + "abs_rshares": "10544853730", + "active": "2016-04-29T01:57:39", + "allow_curation_rewards": true, + "allow_replies": true, + "allow_votes": true, + "author": "steemit-news", + "author_rewards": 0, + "beneficiaries": [], + "body": "*\"It is clear that crypto-currencies will soon be the defacto standards of the world\u2019s money. The Fed will disappear due simply to the issue of relevancy. An irrelevant institution cannot survive long in the real world.\"*\n\n[- John McAfee](http://www.bealibertarian.com/their-endless-debt-slavery/)", + "cashout_time": "2016-04-30T04:11:10", + "category": "quotes", + "children": 0, + "children_abs_rshares": "10544853730", + "created": "2016-04-29T01:56:39", + "curator_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "depth": 0, + "id": 841, + "json_metadata": "{}", + "last_payout": "1970-01-01T00:00:00", + "last_update": "2016-04-29T01:57:39", + "max_accepted_payout": { + "amount": "1000000000", + "nai": "@@000000013", + "precision": 3 + }, + "max_cashout_time": "2016-05-13T01:59:27", + "net_rshares": "10544853730", + "net_votes": 2, + "parent_author": "", + "parent_permlink": "quotes", + "percent_steem_dollars": 10000, + "permlink": "its-time-to-end-the-federal-reserve--john-mcafee", + "reward_weight": 10000, + "root_author": "steemit-news", + "root_permlink": "its-time-to-end-the-federal-reserve--john-mcafee", + "title": "It's Time To End The Federal Reserve - John McAfee", + "total_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "total_vote_weight": "9285646051", + "vote_rshares": "10544853730" + }, + { + "abs_rshares": 711757421, + "active": "2016-04-29T01:44:21", + "allow_curation_rewards": true, + "allow_replies": true, + "allow_votes": true, + "author": "steemit-news", + "author_rewards": 0, + "beneficiaries": [], + "body": "http://finance.yahoo.com/news/larry-summers-joins-barry-silbert-bitcoin-investment-firm-digital-currency-group-as-senior-advisor-161613775.html", + "cashout_time": "2016-04-30T01:59:21", + "category": "crypto-news", + "children": 0, + "children_abs_rshares": 711757421, + "created": "2016-04-29T01:44:21", + "curator_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "depth": 0, + "id": 835, + "json_metadata": "{}", + "last_payout": "1970-01-01T00:00:00", + "last_update": "2016-04-29T01:44:21", + "max_accepted_payout": { + "amount": "1000000000", + "nai": "@@000000013", + "precision": 3 + }, + "max_cashout_time": "2016-05-13T01:59:21", + "net_rshares": 711757421, + "net_votes": 1, + "parent_author": "", + "parent_permlink": "crypto-news", + "percent_steem_dollars": 10000, + "permlink": "larry-summers-joins-bitcoin-firm-as-a-senior-advisor", + "reward_weight": 10000, + "root_author": "steemit-news", + "root_permlink": "larry-summers-joins-bitcoin-firm-as-a-senior-advisor", + "title": "Larry Summers joins bitcoin firm as a senior advisor", + "total_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "total_vote_weight": 711757421, + "vote_rshares": 711757421 + }, + { + "abs_rshares": "1605079401258", + "active": "2016-04-29T01:35:18", + "allow_curation_rewards": true, + "allow_replies": true, + "allow_votes": true, + "author": "steemit-news", + "author_rewards": 0, + "beneficiaries": [], + "body": "http://www.google.com", + "cashout_time": "2016-04-30T05:58:44", + "category": "spam", + "children": 0, + "children_abs_rshares": "1605079401258", + "created": "2016-04-29T01:17:27", + "curator_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "depth": 0, + "id": 829, + "json_metadata": "{}", + "last_payout": "1970-01-01T00:00:00", + "last_update": "2016-04-29T01:35:18", + "max_accepted_payout": { + "amount": "1000000000", + "nai": "@@000000013", + "precision": 3 + }, + "max_cashout_time": "2016-05-13T05:35:15", + "net_rshares": -1605079401258, + "net_votes": -2, + "parent_author": "", + "parent_permlink": "spam", + "percent_steem_dollars": 10000, + "permlink": "some-texthttpgoogle", + "reward_weight": 10000, + "root_author": "steemit-news", + "root_permlink": "some-texthttpgoogle", + "title": "some text", + "total_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "total_vote_weight": 0, + "vote_rshares": 0 + }, + { + "abs_rshares": 1233240831, + "active": "2016-05-27T16:22:12", + "allow_curation_rewards": true, + "allow_replies": true, + "allow_votes": true, + "author": "steemit-news", + "author_rewards": 0, + "beneficiaries": [], + "body": "The definition of \u201cextremist\u201d is a rather ambiguous issue primarily dependent on opinion rather than fact.\n\n\n*Article by [Brandon Smith](http://www.alt-market.com)*\n\nThat is to say, it is generally the people in power and their propaganda mouthpieces that determine who is an extremist and who is not. There is no set or fair standard.\n\nIf you are a quiet and passive sort of citizen with no political deviations and no thoughts outside of what is considered \u201cmainstream,\u201d then you are probably considered a non-threat to the establishment. If, however, you promote an ideal that is opposed to the establishment agenda and display a potential to actually ACT to fight for that ideal, then you will eventually be labeled an extremist.\n\n**Full Story :** http://www.alt-market.com/articles/2903-the-truth-behind-the-surge-in-conservative-qextremismq\n\n*All proceeds from this article will be donated to the author, Brandon Smith at Alt-Market.com*\n\n#extremism #brandon-smith #conservatives #splc #government", + "cashout_time": "2016-05-28T16:49:43", + "category": "news", + "children": 0, + "children_abs_rshares": 1233240831, + "created": "2016-05-27T16:22:12", + "curator_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "depth": 0, + "id": 11826, + "json_metadata": "{\"tags\":[\"extremism\",\"brandon-smith\",\"conservatives\",\"splc\",\"government\"],\"image\":[\"http://s20.postimg.org/9cgrofu8t/come_and_take_it2.jpg\"],\"links\":[\"http://www.alt-market.com\"]}", + "last_payout": "1970-01-01T00:00:00", + "last_update": "2016-05-27T16:22:12", + "max_accepted_payout": { + "amount": "1000000000", + "nai": "@@000000013", + "precision": 3 + }, + "max_cashout_time": "2016-06-10T16:22:21", + "net_rshares": 1233240831, + "net_votes": 2, + "parent_author": "", + "parent_permlink": "news", + "percent_steem_dollars": 10000, + "permlink": "the-truth-behind-the-surge-in-conservative-extremism", + "reward_weight": 10000, + "root_author": "steemit-news", + "root_permlink": "the-truth-behind-the-surge-in-conservative-extremism", + "title": "The Truth Behind The Surge In Conservative \"Extremism\"", + "total_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "total_vote_weight": 819323620, + "vote_rshares": 1233240831 + }, + { + "abs_rshares": "420193458494", + "active": "2016-05-27T17:42:15", + "allow_curation_rewards": true, + "allow_replies": true, + "allow_votes": true, + "author": "steemit-news", + "author_rewards": 0, + "beneficiaries": [], + "body": "Can you predict who is a murderer just by looking at their face?\n\n\n*Image credit: [futureatlas.com](https://www.flickr.com/photos/87913776@N00/)*\n\n*Article by [Michaela Whitton](http://theantimedia.org/author/michaelaw1/)*\n\n([ANTIMEDIA](http://theantimedia.org/company-spot-terrorist-face-software-dhs/)) Can you predict who is a murderer just by looking at their face? What about a pedophile? A software company now says it can, and it claims it is able to identify terrorists purely by their facial features. Turning the old idiom that \u201cyou can\u2019t judge a book by its cover\u201d on its head, the two-year-old company claims its artificial intelligence algorithms can look at a face and tell if it\u2019s likely to be a terrorist, pedophile, and, wait for it\u2026 professional poker player.\n\nThe bold claims are made by Israeli start-up [Faception](http://www.faception.com/#%21hls-and-public-safety/jr7rc), which boasts its breakthrough computer-vision and learning technology can analyze a person\u2019s facial image and automatically develop a personality profile. Claiming its technology will enable security companies to detect and apprehend terrorists and criminals before they have the opportunity to do harm, the company has already signed a contract with the Department of Homeland Security, [according](https://www.washingtonpost.com/news/innovations/wp/2016/05/24/terrorist-or-pedophile-this-start-up-says-it-can-out-secrets-by-analyzing-faces/) to the Washington Post. The Mirror [reports](http://www.mirror.co.uk/tech/you-face-killer-new-software-8045646) Faception\u2019s technology correctly identified 9 of the 11 Jihadists involved in the Paris massacre with no prior information about their involvement.\n\n\n\n\u201cWe understand the human much better than other humans understand each other,\u201d says Faception chief executive Shai Gilboa. \u201cOur personality is determined by our DNA and reflected in our face. It\u2019s a kind of signal.\u201d\n\nFaception uses 15 [classifiers](http://www.faception.com/) that are undetectable to the human eye, including extrovert, genius, professional poker player, pedophile, and terrorist. The classifiers allegedly represent a certain persona with a unique personality type or collection of traits and behaviors. Algorithms then score the individual according to their fit to the classifiers.\n\nThe startup\u2019s claims were validated at a poker tournament, where the technology correctly predicted that four players out of 50 amateurs would be the best.\n\nThat said, Gilboa [admitted](https://www.washingtonpost.com/news/innovations/wp/2016/05/24/terrorist-or-pedophile-this-start-up-says-it-can-out-secrets-by-analyzing-faces/) a worrying gap in accuracy in that the system is only correct 80% of the time. Roughly translated, this means **one in five people** could be incorrectly identified as a pedophile or terrorist.\n\nUnsurprisingly, experts have pointed out ethical questions in using the tricky technology. Pedros Domingos, a professor of computer science at the University of Washington, [told](https://www.washingtonpost.com/news/innovations/wp/2016/05/24/terrorist-or-pedophile-this-start-up-says-it-can-out-secrets-by-analyzing-faces/) the Washington Post the evidence of accuracy in the judgments is extremely weak, while Princeton psychology professor, Alexander Todorov, observed Faception comes \u201c[j]ust when we thought that [physiognomy](http://www.merriam-webster.com/dictionary/physiognomy) ended 100 years ago.\u201d\n\nThe new technology raises concerns that relying on it will take us down a dark route that promotes dubious preconceptions of who and what constitutes a terrorist. If the creepy profiling really is accurate, however, perhaps the first places it should be rolled out are in the [corridors of power](http://www.independent.co.uk/news-14-0/westminster-child-abuse-allegations-mp-with-a-penchant-for-small-boys-gave-his-word-he-was-not-a-10408985.html) and the [film industry](http://www.thedailybeast.com/articles/2015/06/05/hollywood-s-pedophilia-epidemic-exposed-in-an-open-secret.html).\n\n***\n*All proceeds from this article will be donated to Michaela Whitton at AntiMedia.com*\n\n#terrorism #war-on-terror-fraud #big-brother #faception #surveillance #nwo #michaela-whitton", + "cashout_time": "2016-05-28T18:07:45", + "category": "news", + "children": 3, + "children_abs_rshares": "1006532029555", + "created": "2016-05-27T16:33:27", + "curator_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "depth": 0, + "id": 11834, + "json_metadata": "{\"tags\":[\"terrorism\",\"war-on-terror-fraud\",\"big-brother\",\"faception\",\"surveillance\",\"nwo\",\"michaela-whitton\"],\"image\":[\"https://c1.staticflickr.com/9/8049/8362638676_8c94070476_b.jpg\"],\"links\":[\"https://www.flickr.com/photos/87913776@N00/\",\"http://theantimedia.org/author/michaelaw1/\",\"http://theantimedia.org/company-spot-terrorist-face-software-dhs/\",\"http://www.faception.com/#%21hls-and-public-safety/jr7rc\",\"https://www.washingtonpost.com/news/innovations/wp/2016/05/24/terrorist-or-pedophile-this-start-up-says-it-can-out-secrets-by-analyzing-faces/\",\"http://www.mirror.co.uk/tech/you-face-killer-new-software-8045646\",\"http://www.faception.com/\",\"http://www.merriam-webster.com/dictionary/physiognomy\",\"http://www.independent.co.uk/news-14-0/westminster-child-abuse-allegations-mp-with-a-penchant-for-small-boys-gave-his-word-he-was-not-a-10408985.html\",\"http://www.thedailybeast.com/articles/2015/06/05/hollywood-s-pedophilia-epidemic-exposed-in-an-open-secret.html\"]}", + "last_payout": "1970-01-01T00:00:00", + "last_update": "2016-05-27T16:33:27", + "max_accepted_payout": { + "amount": "1000000000", + "nai": "@@000000013", + "precision": 3 + }, + "max_cashout_time": "2016-06-10T16:33:33", + "net_rshares": "420193458494", + "net_votes": 8, + "parent_author": "", + "parent_permlink": "news", + "percent_steem_dollars": 10000, + "permlink": "this-company-claims-it-can-tell-if-youre-a-terrorist-simply-by-looking-at-your", + "reward_weight": 10000, + "root_author": "steemit-news", + "root_permlink": "this-company-claims-it-can-tell-if-youre-a-terrorist-simply-by-looking-at-your", + "title": "This Company Claims It Can Tell If You\u2019re a Terrorist Simply by Looking at Your Face", + "total_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "total_vote_weight": "261378718770", + "vote_rshares": "420193458494" + } + ] +} \ No newline at end of file diff --git a/hivemind/pyrest_tests/follow_api/follow_api_test.yaml b/hivemind/pyrest_tests/2mln_blocks/follow_api/follow_api_test.yaml similarity index 100% rename from hivemind/pyrest_tests/follow_api/follow_api_test.yaml rename to hivemind/pyrest_tests/2mln_blocks/follow_api/follow_api_test.yaml diff --git a/hivemind/pyrest_tests/2mln_blocks/follow_api/get_account_reputations.pat.json b/hivemind/pyrest_tests/2mln_blocks/follow_api/get_account_reputations.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..52499d53915d138b0ef2ba8b7895d4974d625480 --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/follow_api/get_account_reputations.pat.json @@ -0,0 +1,8 @@ +{ + "reputations": [ + { + "account": "steem", + "reputation": 0 + } + ] +} \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/follow_api/get_blog.pat.json b/hivemind/pyrest_tests/2mln_blocks/follow_api/get_blog.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..af6acc546ceab86646de1e49d9e8fc9d17c9ba2a --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/follow_api/get_blog.pat.json @@ -0,0 +1,58 @@ +{ + "blog": [ + { + "blog": "steemit", + "comment": { + "abs_rshares": "4113352600205", + "active": "2016-04-13T03:48:36", + "allow_curation_rewards": true, + "allow_replies": true, + "allow_votes": true, + "author": "steemit", + "author_rewards": 0, + "beneficiaries": [], + "body": "Steemit is a social media platform where anyone can earn STEEM points by posting. The more people who like a post, the more STEEM the poster earns. Anyone can sell their STEEM for cash or vest it to boost their voting power.", + "cashout_time": "2016-04-13T20:13:00", + "category": "meta", + "children": 4, + "children_abs_rshares": "10480611963", + "created": "2016-03-30T18:30:18", + "curator_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "depth": 0, + "id": 0, + "json_metadata": "", + "last_payout": "1970-01-01T00:00:00", + "last_update": "2016-03-30T18:30:18", + "max_accepted_payout": { + "amount": "1000000000", + "nai": "@@000000013", + "precision": 3 + }, + "max_cashout_time": "2016-04-13T20:13:00", + "net_rshares": "2240552600205", + "net_votes": 16, + "parent_author": "", + "parent_permlink": "meta", + "percent_steem_dollars": 10000, + "permlink": "firstpost", + "reward_weight": 10000, + "root_author": "steemit", + "root_permlink": "firstpost", + "title": "Welcome to Steem!", + "total_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "total_vote_weight": "1230549275111", + "vote_rshares": "3176952600205" + }, + "entry_id": 0, + "reblog_on": "1970-01-01T00:00:00" + } + ] +} \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/follow_api/get_blog_entries.pat.json b/hivemind/pyrest_tests/2mln_blocks/follow_api/get_blog_entries.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..d7492deed3dea8b142533a62404c4d548b27fb72 --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/follow_api/get_blog_entries.pat.json @@ -0,0 +1,11 @@ +{ + "blog": [ + { + "author": "steemit", + "blog": "steemit", + "entry_id": 0, + "permlink": "firstpost", + "reblog_on": "1970-01-01T00:00:00" + } + ] +} \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/follow_api/get_follow_count.pat.json b/hivemind/pyrest_tests/2mln_blocks/follow_api/get_follow_count.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..6dedcc9d9e2738987f205bbc98072a452aa64191 --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/follow_api/get_follow_count.pat.json @@ -0,0 +1,5 @@ +{ + "account": "steemit", + "follower_count": 0, + "following_count": 0 +} \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/follow_api/get_followers.pat.json b/hivemind/pyrest_tests/2mln_blocks/follow_api/get_followers.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..90020059cc87837a8751e17166bba724babb21da --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/follow_api/get_followers.pat.json @@ -0,0 +1,3 @@ +{ + "followers": [] +} \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/follow_api/get_following.pat.json b/hivemind/pyrest_tests/2mln_blocks/follow_api/get_following.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..a8df93530cf3e24ee163d5b23314ee2fa727f79d --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/follow_api/get_following.pat.json @@ -0,0 +1,3 @@ +{ + "following": [] +} \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/follow_api/get_reblogged_by.pat.json b/hivemind/pyrest_tests/2mln_blocks/follow_api/get_reblogged_by.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..0767d518519108b82caae7bf1fc856d0a8041527 --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/follow_api/get_reblogged_by.pat.json @@ -0,0 +1,5 @@ +{ + "accounts": [ + "steemit" + ] +} \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/run_api_tests.sh b/hivemind/pyrest_tests/2mln_blocks/run_api_tests.sh new file mode 100755 index 0000000000000000000000000000000000000000..d201e5d7126df48246a2dbccad781ac07b859e53 --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/run_api_tests.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +EXIT_CODE=0 +COMPARATOR='' + +if [[ $# -ne 2 ]]; then + echo "Usage: run_api_benchmarks target_address comparator(equal/contain)" + exit 1 +fi + +if [ $2 == 'equal' ] +then + COMPARATOR='comparator_equal' +elif [ $2 == 'contain' ] +then + COMPARATOR='comparator_contain' +else + echo FATAL: $2 is not a valid comparator! && exit -1 +fi + +echo COMPARATOR: $COMPARATOR +echo "Running API tests\n" +pyresttest $1 ../basic_smoketest.yaml +[ $? -ne 0 ] && echo FATAL: hivemind not running? && exit -1 + + +pyresttest $1 ./condenser_api/condenser_api_test.yaml --import_extensions='validator_ex;'$COMPARATOR +[ $? -ne 0 ] && EXIT_CODE=-1 + +pyresttest $1 ./database_api/database_api_test.yaml --import_extensions='validator_ex;'$COMPARATOR +[ $? -ne 0 ] && EXIT_CODE=-1 + +pyresttest $1 ./follow_api/follow_api_test.yaml --import_extensions='validator_ex;'$COMPARATOR +[ $? -ne 0 ] && EXIT_CODE=-1 + +pyresttest $1 ./tags_api/tags_api_test.yaml --import_extensions='validator_ex;'$COMPARATOR +[ $? -ne 0 ] && EXIT_CODE=-1 +echo "Done!\n" + +exit $EXIT_CODE diff --git a/hivemind/pyrest_tests/2mln_blocks/tags_api/get_comment_discussions_by_payout.pat.json b/hivemind/pyrest_tests/2mln_blocks/tags_api/get_comment_discussions_by_payout.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..204777a02ac47fbc2fa811ca0e639f4aa860655f --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/tags_api/get_comment_discussions_by_payout.pat.json @@ -0,0 +1,3 @@ +{ + "discussions": [] +} \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/tags_api/get_content_replies.pat.json b/hivemind/pyrest_tests/2mln_blocks/tags_api/get_content_replies.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..204777a02ac47fbc2fa811ca0e639f4aa860655f --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/tags_api/get_content_replies.pat.json @@ -0,0 +1,3 @@ +{ + "discussions": [] +} \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussion.pat.json b/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussion.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..2e321aabcae3a024aed6d7add4b80bf4cca5ccf1 --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussion.pat.json @@ -0,0 +1,216 @@ +{ + "abs_rshares": "4113352600205", + "active": "2016-04-13T03:48:36", + "active_votes": [ + { + "percent": 100, + "reputation": "41475956887711", + "rshares": 375241, + "time": "2016-04-07T19:15:36", + "voter": "dantheman", + "weight": "32866333630" + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 886132, + "time": "2016-04-06T19:29:03", + "voter": "mr11acdee", + "weight": "876019385955" + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 5100, + "time": "2016-03-30T20:13:00", + "voter": "steemit78", + "weight": "5100000000" + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 1259167, + "time": "2016-04-09T17:34:36", + "voter": "anonymous", + "weight": "312616340416" + }, + { + "percent": 10000, + "reputation": 159370, + "rshares": 318519, + "time": "2016-04-15T10:12:36", + "voter": "hello", + "weight": 3369765102 + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 153384, + "time": "2016-04-15T10:12:30", + "voter": "world", + "weight": 472619298 + }, + { + "percent": -100, + "reputation": "5161053142553", + "rshares": -936400, + "time": "2016-04-16T17:12:54", + "voter": "ned", + "weight": 0 + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 59412, + "time": "2016-04-15T10:12:39", + "voter": "fufubar1", + "weight": 21052793 + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 14997, + "time": "2016-04-15T10:12:33", + "voter": "anonymous1", + "weight": 437001 + }, + { + "percent": 100, + "reputation": "915861737012", + "rshares": 1441, + "time": "2016-04-07T14:55:15", + "voter": "red", + "weight": 3754 + }, + { + "percent": 10000, + "reputation": "2619142738966", + "rshares": 82748, + "time": "2016-04-12T04:45:12", + "voter": "roadscape", + "weight": 83185649 + }, + { + "percent": 100, + "reputation": "20802610986156", + "rshares": 10772, + "time": "2016-04-15T10:43:51", + "voter": "xeroc", + "weight": 124628 + }, + { + "percent": 10000, + "reputation": "17797310583267", + "rshares": "7685088000", + "time": "2016-04-27T08:20:09", + "voter": "markopaasila", + "weight": 26856 + }, + { + "percent": 10000, + "reputation": "5411127797302", + "rshares": 454510724, + "time": "2016-05-25T07:12:27", + "voter": "tshering-tamang", + "weight": 5 + }, + { + "percent": 10000, + "reputation": "1999819075595", + "rshares": 504895891, + "time": "2016-05-24T00:14:42", + "voter": "dedmatvey", + "weight": 7 + }, + { + "percent": 10000, + "reputation": "350976144383", + "rshares": 498863058, + "time": "2016-05-29T05:58:51", + "voter": "joelinux", + "weight": 7 + }, + { + "percent": 10000, + "reputation": "47655473389", + "rshares": 473258270, + "time": "2016-05-24T00:42:18", + "voter": "ned-reddit-login", + "weight": 6 + }, + { + "percent": 10000, + "reputation": "150545890127", + "rshares": 422984262, + "time": "2016-05-24T00:47:03", + "voter": "acidyo", + "weight": 4 + } + ], + "allow_curation_rewards": true, + "allow_replies": true, + "allow_votes": true, + "author": "steemit", + "author_reputation": 156918229, + "author_rewards": 0, + "beneficiaries": [], + "body": "Steemit is a social media platform where anyone can earn STEEM points by posting. The more people who like a post, the more STEEM the poster earns. Anyone can sell their STEEM for cash or vest it to boost their voting power.", + "body_length": 0, + "cashout_time": "2016-04-13T20:13:00", + "category": "meta", + "children": 4, + "children_abs_rshares": "10480611963", + "created": "2016-03-30T18:30:18", + "curator_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "depth": 0, + "id": 0, + "json_metadata": "", + "last_payout": "1970-01-01T00:00:00", + "last_update": "2016-03-30T18:30:18", + "max_accepted_payout": { + "amount": "1000000000", + "nai": "@@000000013", + "precision": 3 + }, + "max_cashout_time": "2016-04-13T20:13:00", + "net_rshares": "2240552600205", + "net_votes": 16, + "parent_author": "", + "parent_permlink": "meta", + "pending_payout_value": { + "amount": "5483", + "nai": "@@000000013", + "precision": 3 + }, + "percent_steem_dollars": 10000, + "permlink": "firstpost", + "promoted": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "reblogged_by": [], + "replies": [], + "reward_weight": 10000, + "root_author": "steemit", + "root_permlink": "firstpost", + "root_title": "Welcome to Steem!", + "title": "Welcome to Steem!", + "total_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "total_pending_payout_value": { + "amount": "0", + "nai": "@@000000021", + "precision": 3 + }, + "total_vote_weight": "1230549275111", + "url": "/meta/@steemit/firstpost", + "vote_rshares": "3176952600205" +} \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussions_by_author_before_date.pat.json b/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussions_by_author_before_date.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..8ba2be6bf6cd262e272e14eb7d005da6c4715f2b --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussions_by_author_before_date.pat.json @@ -0,0 +1,220 @@ +{ + "discussions": [ + { + "abs_rshares": "4113352600205", + "active": "2016-04-13T03:48:36", + "active_votes": [ + { + "percent": 100, + "reputation": "41475956887711", + "rshares": 375241, + "time": "2016-04-07T19:15:36", + "voter": "dantheman", + "weight": "32866333630" + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 886132, + "time": "2016-04-06T19:29:03", + "voter": "mr11acdee", + "weight": "876019385955" + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 5100, + "time": "2016-03-30T20:13:00", + "voter": "steemit78", + "weight": "5100000000" + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 1259167, + "time": "2016-04-09T17:34:36", + "voter": "anonymous", + "weight": "312616340416" + }, + { + "percent": 10000, + "reputation": 159370, + "rshares": 318519, + "time": "2016-04-15T10:12:36", + "voter": "hello", + "weight": 3369765102 + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 153384, + "time": "2016-04-15T10:12:30", + "voter": "world", + "weight": 472619298 + }, + { + "percent": -100, + "reputation": "5161053142553", + "rshares": -936400, + "time": "2016-04-16T17:12:54", + "voter": "ned", + "weight": 0 + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 59412, + "time": "2016-04-15T10:12:39", + "voter": "fufubar1", + "weight": 21052793 + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 14997, + "time": "2016-04-15T10:12:33", + "voter": "anonymous1", + "weight": 437001 + }, + { + "percent": 100, + "reputation": "915861737012", + "rshares": 1441, + "time": "2016-04-07T14:55:15", + "voter": "red", + "weight": 3754 + }, + { + "percent": 10000, + "reputation": "2619142738966", + "rshares": 82748, + "time": "2016-04-12T04:45:12", + "voter": "roadscape", + "weight": 83185649 + }, + { + "percent": 100, + "reputation": "20802610986156", + "rshares": 10772, + "time": "2016-04-15T10:43:51", + "voter": "xeroc", + "weight": 124628 + }, + { + "percent": 10000, + "reputation": "17797310583267", + "rshares": "7685088000", + "time": "2016-04-27T08:20:09", + "voter": "markopaasila", + "weight": 26856 + }, + { + "percent": 10000, + "reputation": "5411127797302", + "rshares": 454510724, + "time": "2016-05-25T07:12:27", + "voter": "tshering-tamang", + "weight": 5 + }, + { + "percent": 10000, + "reputation": "1999819075595", + "rshares": 504895891, + "time": "2016-05-24T00:14:42", + "voter": "dedmatvey", + "weight": 7 + }, + { + "percent": 10000, + "reputation": "350976144383", + "rshares": 498863058, + "time": "2016-05-29T05:58:51", + "voter": "joelinux", + "weight": 7 + }, + { + "percent": 10000, + "reputation": "47655473389", + "rshares": 473258270, + "time": "2016-05-24T00:42:18", + "voter": "ned-reddit-login", + "weight": 6 + }, + { + "percent": 10000, + "reputation": "150545890127", + "rshares": 422984262, + "time": "2016-05-24T00:47:03", + "voter": "acidyo", + "weight": 4 + } + ], + "allow_curation_rewards": true, + "allow_replies": true, + "allow_votes": true, + "author": "steemit", + "author_reputation": 156918229, + "author_rewards": 0, + "beneficiaries": [], + "body": "Steemit is a social media platform where anyone can earn STEEM points by posting. The more people who like a post, the more STEEM the poster earns. Anyone can sell their STEEM for cash or vest it to boost their voting power.", + "body_length": 0, + "cashout_time": "2016-04-13T20:13:00", + "category": "meta", + "children": 4, + "children_abs_rshares": "10480611963", + "created": "2016-03-30T18:30:18", + "curator_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "depth": 0, + "id": 0, + "json_metadata": "", + "last_payout": "1970-01-01T00:00:00", + "last_update": "2016-03-30T18:30:18", + "max_accepted_payout": { + "amount": "1000000000", + "nai": "@@000000013", + "precision": 3 + }, + "max_cashout_time": "2016-04-13T20:13:00", + "net_rshares": "2240552600205", + "net_votes": 16, + "parent_author": "", + "parent_permlink": "meta", + "pending_payout_value": { + "amount": "5483", + "nai": "@@000000013", + "precision": 3 + }, + "percent_steem_dollars": 10000, + "permlink": "firstpost", + "promoted": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "reblogged_by": [], + "replies": [], + "reward_weight": 10000, + "root_author": "steemit", + "root_permlink": "firstpost", + "root_title": "Welcome to Steem!", + "title": "Welcome to Steem!", + "total_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "total_pending_payout_value": { + "amount": "0", + "nai": "@@000000021", + "precision": 3 + }, + "total_vote_weight": "1230549275111", + "url": "/meta/@steemit/firstpost", + "vote_rshares": "3176952600205" + } + ] +} \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussions_by_blog.pat.json b/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussions_by_blog.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..6c907040e72e043d061585252d49b4e2b47ac2de --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussions_by_blog.pat.json @@ -0,0 +1,220 @@ +{ + "discussions": [ + { + "abs_rshares": "4113352600205", + "active": "2016-04-13T03:48:36", + "active_votes": [ + { + "percent": 100, + "reputation": "41475956887711", + "rshares": 375241, + "time": "2016-04-07T19:15:36", + "voter": "dantheman", + "weight": "32866333630" + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 886132, + "time": "2016-04-06T19:29:03", + "voter": "mr11acdee", + "weight": "876019385955" + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 5100, + "time": "2016-03-30T20:13:00", + "voter": "steemit78", + "weight": "5100000000" + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 1259167, + "time": "2016-04-09T17:34:36", + "voter": "anonymous", + "weight": "312616340416" + }, + { + "percent": 10000, + "reputation": 159370, + "rshares": 318519, + "time": "2016-04-15T10:12:36", + "voter": "hello", + "weight": 3369765102 + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 153384, + "time": "2016-04-15T10:12:30", + "voter": "world", + "weight": 472619298 + }, + { + "percent": -100, + "reputation": "5161053142553", + "rshares": -936400, + "time": "2016-04-16T17:12:54", + "voter": "ned", + "weight": 0 + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 59412, + "time": "2016-04-15T10:12:39", + "voter": "fufubar1", + "weight": 21052793 + }, + { + "percent": 10000, + "reputation": 0, + "rshares": 14997, + "time": "2016-04-15T10:12:33", + "voter": "anonymous1", + "weight": 437001 + }, + { + "percent": 100, + "reputation": "915861737012", + "rshares": 1441, + "time": "2016-04-07T14:55:15", + "voter": "red", + "weight": 3754 + }, + { + "percent": 10000, + "reputation": "2619142738966", + "rshares": 82748, + "time": "2016-04-12T04:45:12", + "voter": "roadscape", + "weight": 83185649 + }, + { + "percent": 100, + "reputation": "20802610986156", + "rshares": 10772, + "time": "2016-04-15T10:43:51", + "voter": "xeroc", + "weight": 124628 + }, + { + "percent": 10000, + "reputation": "17797310583267", + "rshares": "7685088000", + "time": "2016-04-27T08:20:09", + "voter": "markopaasila", + "weight": 26856 + }, + { + "percent": 10000, + "reputation": "5411127797302", + "rshares": 454510724, + "time": "2016-05-25T07:12:27", + "voter": "tshering-tamang", + "weight": 5 + }, + { + "percent": 10000, + "reputation": "1999819075595", + "rshares": 504895891, + "time": "2016-05-24T00:14:42", + "voter": "dedmatvey", + "weight": 7 + }, + { + "percent": 10000, + "reputation": "350976144383", + "rshares": 498863058, + "time": "2016-05-29T05:58:51", + "voter": "joelinux", + "weight": 7 + }, + { + "percent": 10000, + "reputation": "47655473389", + "rshares": 473258270, + "time": "2016-05-24T00:42:18", + "voter": "ned-reddit-login", + "weight": 6 + }, + { + "percent": 10000, + "reputation": "150545890127", + "rshares": 422984262, + "time": "2016-05-24T00:47:03", + "voter": "acidyo", + "weight": 4 + } + ], + "allow_curation_rewards": true, + "allow_replies": true, + "allow_votes": true, + "author": "steemit", + "author_reputation": 156918229, + "author_rewards": 0, + "beneficiaries": [], + "body": "Steemit is a social media platform where anyone can earn STEEM points by posting. The more people who like a post, the more STEEM the poster earns. Anyone can sell their STEEM for cash or vest it to boost their voting power.", + "body_length": 224, + "cashout_time": "2016-04-13T20:13:00", + "category": "meta", + "children": 4, + "children_abs_rshares": "10480611963", + "created": "2016-03-30T18:30:18", + "curator_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "depth": 0, + "id": 0, + "json_metadata": "", + "last_payout": "1970-01-01T00:00:00", + "last_update": "2016-03-30T18:30:18", + "max_accepted_payout": { + "amount": "1000000000", + "nai": "@@000000013", + "precision": 3 + }, + "max_cashout_time": "2016-04-13T20:13:00", + "net_rshares": "2240552600205", + "net_votes": 16, + "parent_author": "", + "parent_permlink": "meta", + "pending_payout_value": { + "amount": "5483", + "nai": "@@000000013", + "precision": 3 + }, + "percent_steem_dollars": 10000, + "permlink": "firstpost", + "promoted": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "reblogged_by": [], + "replies": [], + "reward_weight": 10000, + "root_author": "steemit", + "root_permlink": "firstpost", + "root_title": "Welcome to Steem!", + "title": "Welcome to Steem!", + "total_payout_value": { + "amount": "0", + "nai": "@@000000013", + "precision": 3 + }, + "total_pending_payout_value": { + "amount": "0", + "nai": "@@000000021", + "precision": 3 + }, + "total_vote_weight": "1230549275111", + "url": "/meta/@steemit/firstpost", + "vote_rshares": "3176952600205" + } + ] +} \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussions_by_comments.pat.json b/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussions_by_comments.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..204777a02ac47fbc2fa811ca0e639f4aa860655f --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussions_by_comments.pat.json @@ -0,0 +1,3 @@ +{ + "discussions": [] +} \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussions_by_created.pat.json b/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussions_by_created.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..204777a02ac47fbc2fa811ca0e639f4aa860655f --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussions_by_created.pat.json @@ -0,0 +1,3 @@ +{ + "discussions": [] +} \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussions_by_hot.pat.json b/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussions_by_hot.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..204777a02ac47fbc2fa811ca0e639f4aa860655f --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussions_by_hot.pat.json @@ -0,0 +1,3 @@ +{ + "discussions": [] +} \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussions_by_promoted.pat.json b/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussions_by_promoted.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..204777a02ac47fbc2fa811ca0e639f4aa860655f --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussions_by_promoted.pat.json @@ -0,0 +1,3 @@ +{ + "discussions": [] +} \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussions_by_trending.pat.json b/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussions_by_trending.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..204777a02ac47fbc2fa811ca0e639f4aa860655f --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/tags_api/get_discussions_by_trending.pat.json @@ -0,0 +1,3 @@ +{ + "discussions": [] +} \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/tags_api/get_post_discussions_by_payout.pat.json b/hivemind/pyrest_tests/2mln_blocks/tags_api/get_post_discussions_by_payout.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..204777a02ac47fbc2fa811ca0e639f4aa860655f --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/tags_api/get_post_discussions_by_payout.pat.json @@ -0,0 +1,3 @@ +{ + "discussions": [] +} \ No newline at end of file diff --git a/hivemind/pyrest_tests/tags_api/tags_api_test.yaml b/hivemind/pyrest_tests/2mln_blocks/tags_api/tags_api_test.yaml similarity index 100% rename from hivemind/pyrest_tests/tags_api/tags_api_test.yaml rename to hivemind/pyrest_tests/2mln_blocks/tags_api/tags_api_test.yaml diff --git a/hivemind/pyrest_tests/2mln_blocks/templates b/hivemind/pyrest_tests/2mln_blocks/templates new file mode 120000 index 0000000000000000000000000000000000000000..97963e7e2d4e9ac15c7eac88a3f9b42a430d85f5 --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/templates @@ -0,0 +1 @@ +../templates/ \ No newline at end of file diff --git a/hivemind/pyrest_tests/2mln_blocks/validator_ex.py b/hivemind/pyrest_tests/2mln_blocks/validator_ex.py new file mode 120000 index 0000000000000000000000000000000000000000..30d98b80a5c9d0717c70615f1083455ad0394766 --- /dev/null +++ b/hivemind/pyrest_tests/2mln_blocks/validator_ex.py @@ -0,0 +1 @@ +../validator_ex.py \ No newline at end of file diff --git a/hivemind/pyrest_tests/recent_blocks/bridge b/hivemind/pyrest_tests/recent_blocks/bridge new file mode 120000 index 0000000000000000000000000000000000000000..8131e33ded6a57a88e02de18dc78e11321620812 --- /dev/null +++ b/hivemind/pyrest_tests/recent_blocks/bridge @@ -0,0 +1 @@ +./bridge_api/ \ No newline at end of file diff --git a/hivemind/pyrest_tests/bridge/account_notifications.pat.json b/hivemind/pyrest_tests/recent_blocks/bridge_api/account_notifications.pat.json similarity index 100% rename from hivemind/pyrest_tests/bridge/account_notifications.pat.json rename to hivemind/pyrest_tests/recent_blocks/bridge_api/account_notifications.pat.json diff --git a/hivemind/pyrest_tests/bridge/bridge_api_benchmark.yaml b/hivemind/pyrest_tests/recent_blocks/bridge_api/bridge_api_benchmark.yaml similarity index 100% rename from hivemind/pyrest_tests/bridge/bridge_api_benchmark.yaml rename to hivemind/pyrest_tests/recent_blocks/bridge_api/bridge_api_benchmark.yaml diff --git a/hivemind/pyrest_tests/bridge/bridge_api_test.yaml b/hivemind/pyrest_tests/recent_blocks/bridge_api/bridge_api_test.yaml similarity index 100% rename from hivemind/pyrest_tests/bridge/bridge_api_test.yaml rename to hivemind/pyrest_tests/recent_blocks/bridge_api/bridge_api_test.yaml diff --git a/hivemind/pyrest_tests/bridge/get_account_posts.pat.json b/hivemind/pyrest_tests/recent_blocks/bridge_api/get_account_posts.pat.json similarity index 100% rename from hivemind/pyrest_tests/bridge/get_account_posts.pat.json rename to hivemind/pyrest_tests/recent_blocks/bridge_api/get_account_posts.pat.json diff --git a/hivemind/pyrest_tests/bridge/get_community.pat.json b/hivemind/pyrest_tests/recent_blocks/bridge_api/get_community.pat.json similarity index 100% rename from hivemind/pyrest_tests/bridge/get_community.pat.json rename to hivemind/pyrest_tests/recent_blocks/bridge_api/get_community.pat.json diff --git a/hivemind/pyrest_tests/bridge/get_community_context.pat.json b/hivemind/pyrest_tests/recent_blocks/bridge_api/get_community_context.pat.json similarity index 100% rename from hivemind/pyrest_tests/bridge/get_community_context.pat.json rename to hivemind/pyrest_tests/recent_blocks/bridge_api/get_community_context.pat.json diff --git a/hivemind/pyrest_tests/bridge/get_discussion.pat.json b/hivemind/pyrest_tests/recent_blocks/bridge_api/get_discussion.pat.json similarity index 100% rename from hivemind/pyrest_tests/bridge/get_discussion.pat.json rename to hivemind/pyrest_tests/recent_blocks/bridge_api/get_discussion.pat.json diff --git a/hivemind/pyrest_tests/bridge/get_payout_stats.pat.json b/hivemind/pyrest_tests/recent_blocks/bridge_api/get_payout_stats.pat.json similarity index 100% rename from hivemind/pyrest_tests/bridge/get_payout_stats.pat.json rename to hivemind/pyrest_tests/recent_blocks/bridge_api/get_payout_stats.pat.json diff --git a/hivemind/pyrest_tests/bridge/get_post.pat.json b/hivemind/pyrest_tests/recent_blocks/bridge_api/get_post.pat.json similarity index 100% rename from hivemind/pyrest_tests/bridge/get_post.pat.json rename to hivemind/pyrest_tests/recent_blocks/bridge_api/get_post.pat.json diff --git a/hivemind/pyrest_tests/bridge/get_post_header.pat.json b/hivemind/pyrest_tests/recent_blocks/bridge_api/get_post_header.pat.json similarity index 100% rename from hivemind/pyrest_tests/bridge/get_post_header.pat.json rename to hivemind/pyrest_tests/recent_blocks/bridge_api/get_post_header.pat.json diff --git a/hivemind/pyrest_tests/bridge/get_profile.pat.json b/hivemind/pyrest_tests/recent_blocks/bridge_api/get_profile.pat.json similarity index 100% rename from hivemind/pyrest_tests/bridge/get_profile.pat.json rename to hivemind/pyrest_tests/recent_blocks/bridge_api/get_profile.pat.json diff --git a/hivemind/pyrest_tests/bridge/get_ranked_posts.pat.json b/hivemind/pyrest_tests/recent_blocks/bridge_api/get_ranked_posts.pat.json similarity index 100% rename from hivemind/pyrest_tests/bridge/get_ranked_posts.pat.json rename to hivemind/pyrest_tests/recent_blocks/bridge_api/get_ranked_posts.pat.json diff --git a/hivemind/pyrest_tests/bridge/get_trending_topics.pat.json b/hivemind/pyrest_tests/recent_blocks/bridge_api/get_trending_topics.pat.json similarity index 100% rename from hivemind/pyrest_tests/bridge/get_trending_topics.pat.json rename to hivemind/pyrest_tests/recent_blocks/bridge_api/get_trending_topics.pat.json diff --git a/hivemind/pyrest_tests/bridge/list_all_subscriptions.pat.json b/hivemind/pyrest_tests/recent_blocks/bridge_api/list_all_subscriptions.pat.json similarity index 100% rename from hivemind/pyrest_tests/bridge/list_all_subscriptions.pat.json rename to hivemind/pyrest_tests/recent_blocks/bridge_api/list_all_subscriptions.pat.json diff --git a/hivemind/pyrest_tests/bridge/list_communities.pat.json b/hivemind/pyrest_tests/recent_blocks/bridge_api/list_communities.pat.json similarity index 100% rename from hivemind/pyrest_tests/bridge/list_communities.pat.json rename to hivemind/pyrest_tests/recent_blocks/bridge_api/list_communities.pat.json diff --git a/hivemind/pyrest_tests/bridge/list_community_roles.pat.json b/hivemind/pyrest_tests/recent_blocks/bridge_api/list_community_roles.pat.json similarity index 100% rename from hivemind/pyrest_tests/bridge/list_community_roles.pat.json rename to hivemind/pyrest_tests/recent_blocks/bridge_api/list_community_roles.pat.json diff --git a/hivemind/pyrest_tests/bridge/list_pop_communities.pat.json b/hivemind/pyrest_tests/recent_blocks/bridge_api/list_pop_communities.pat.json similarity index 100% rename from hivemind/pyrest_tests/bridge/list_pop_communities.pat.json rename to hivemind/pyrest_tests/recent_blocks/bridge_api/list_pop_communities.pat.json diff --git a/hivemind/pyrest_tests/bridge/list_subscribers.pat.json b/hivemind/pyrest_tests/recent_blocks/bridge_api/list_subscribers.pat.json similarity index 100% rename from hivemind/pyrest_tests/bridge/list_subscribers.pat.json rename to hivemind/pyrest_tests/recent_blocks/bridge_api/list_subscribers.pat.json diff --git a/hivemind/pyrest_tests/bridge/normalize_post.pat.json b/hivemind/pyrest_tests/recent_blocks/bridge_api/normalize_post.pat.json similarity index 100% rename from hivemind/pyrest_tests/bridge/normalize_post.pat.json rename to hivemind/pyrest_tests/recent_blocks/bridge_api/normalize_post.pat.json diff --git a/hivemind/pyrest_tests/bridge/post_notifications.pat.json b/hivemind/pyrest_tests/recent_blocks/bridge_api/post_notifications.pat.json similarity index 100% rename from hivemind/pyrest_tests/bridge/post_notifications.pat.json rename to hivemind/pyrest_tests/recent_blocks/bridge_api/post_notifications.pat.json diff --git a/hivemind/pyrest_tests/bridge/unread_notifications.pat.json b/hivemind/pyrest_tests/recent_blocks/bridge_api/unread_notifications.pat.json similarity index 100% rename from hivemind/pyrest_tests/bridge/unread_notifications.pat.json rename to hivemind/pyrest_tests/recent_blocks/bridge_api/unread_notifications.pat.json diff --git a/hivemind/pyrest_tests/recent_blocks/comparator_contain.py b/hivemind/pyrest_tests/recent_blocks/comparator_contain.py new file mode 120000 index 0000000000000000000000000000000000000000..ed3660cab60c018c7f9e18c753c431ad307439f6 --- /dev/null +++ b/hivemind/pyrest_tests/recent_blocks/comparator_contain.py @@ -0,0 +1 @@ +../comparator_contain.py \ No newline at end of file diff --git a/hivemind/pyrest_tests/recent_blocks/comparator_equal.py b/hivemind/pyrest_tests/recent_blocks/comparator_equal.py new file mode 120000 index 0000000000000000000000000000000000000000..5668d02672d24109db2f8258b7763257a4fed865 --- /dev/null +++ b/hivemind/pyrest_tests/recent_blocks/comparator_equal.py @@ -0,0 +1 @@ +../comparator_equal.py \ No newline at end of file diff --git a/hivemind/pyrest_tests/condenser_api/condenser_api_benchmark.yaml b/hivemind/pyrest_tests/recent_blocks/condenser_api/condenser_api_benchmark.yaml similarity index 100% rename from hivemind/pyrest_tests/condenser_api/condenser_api_benchmark.yaml rename to hivemind/pyrest_tests/recent_blocks/condenser_api/condenser_api_benchmark.yaml diff --git a/hivemind/pyrest_tests/condenser_api/condenser_api_test.yaml b/hivemind/pyrest_tests/recent_blocks/condenser_api/condenser_api_test.yaml similarity index 100% rename from hivemind/pyrest_tests/condenser_api/condenser_api_test.yaml rename to hivemind/pyrest_tests/recent_blocks/condenser_api/condenser_api_test.yaml diff --git a/hivemind/pyrest_tests/condenser_api/get_account_reputations.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_account_reputations.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_account_reputations.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_account_reputations.pat.json diff --git a/hivemind/pyrest_tests/condenser_api/get_account_votes.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_account_votes.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_account_votes.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_account_votes.pat.json diff --git a/hivemind/pyrest_tests/condenser_api/get_accounts.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_accounts.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_accounts.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_accounts.pat.json diff --git a/hivemind/pyrest_tests/condenser_api/get_blog.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_blog.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_blog.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_blog.pat.json diff --git a/hivemind/pyrest_tests/condenser_api/get_blog_entries.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_blog_entries.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_blog_entries.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_blog_entries.pat.json diff --git a/hivemind/pyrest_tests/condenser_api/get_comment_discussions_by_payout.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_comment_discussions_by_payout.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_comment_discussions_by_payout.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_comment_discussions_by_payout.pat.json diff --git a/hivemind/pyrest_tests/condenser_api/get_content.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_content.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_content.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_content.pat.json diff --git a/hivemind/pyrest_tests/condenser_api/get_content_replies.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_content_replies.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_content_replies.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_content_replies.pat.json diff --git a/hivemind/pyrest_tests/condenser_api/get_discussions_by_author_before_date.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_discussions_by_author_before_date.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_discussions_by_author_before_date.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_discussions_by_author_before_date.pat.json diff --git a/hivemind/pyrest_tests/condenser_api/get_discussions_by_blog.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_discussions_by_blog.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_discussions_by_blog.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_discussions_by_blog.pat.json diff --git a/hivemind/pyrest_tests/condenser_api/get_discussions_by_comments.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_discussions_by_comments.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_discussions_by_comments.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_discussions_by_comments.pat.json diff --git a/hivemind/pyrest_tests/condenser_api/get_discussions_by_created.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_discussions_by_created.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_discussions_by_created.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_discussions_by_created.pat.json diff --git a/hivemind/pyrest_tests/condenser_api/get_discussions_by_feed.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_discussions_by_feed.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_discussions_by_feed.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_discussions_by_feed.pat.json diff --git a/hivemind/pyrest_tests/condenser_api/get_discussions_by_hot.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_discussions_by_hot.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_discussions_by_hot.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_discussions_by_hot.pat.json diff --git a/hivemind/pyrest_tests/condenser_api/get_discussions_by_promoted.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_discussions_by_promoted.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_discussions_by_promoted.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_discussions_by_promoted.pat.json diff --git a/hivemind/pyrest_tests/condenser_api/get_discussions_by_trending.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_discussions_by_trending.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_discussions_by_trending.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_discussions_by_trending.pat.json diff --git a/hivemind/pyrest_tests/condenser_api/get_follow_count.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_follow_count.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_follow_count.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_follow_count.pat.json diff --git a/hivemind/pyrest_tests/condenser_api/get_followers.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_followers.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_followers.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_followers.pat.json diff --git a/hivemind/pyrest_tests/follow_api/get_following.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_following.pat.json similarity index 100% rename from hivemind/pyrest_tests/follow_api/get_following.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_following.pat.json diff --git a/hivemind/pyrest_tests/condenser_api/get_post_discussions_by_payout.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_post_discussions_by_payout.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_post_discussions_by_payout.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_post_discussions_by_payout.pat.json diff --git a/hivemind/pyrest_tests/condenser_api/get_reblogged_by.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_reblogged_by.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_reblogged_by.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_reblogged_by.pat.json diff --git a/hivemind/pyrest_tests/condenser_api/get_replies_by_last_update.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_replies_by_last_update.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_replies_by_last_update.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_replies_by_last_update.pat.json diff --git a/hivemind/pyrest_tests/condenser_api/get_state.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_state.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_state.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_state.pat.json diff --git a/hivemind/pyrest_tests/condenser_api/get_trending_tags.pat.json b/hivemind/pyrest_tests/recent_blocks/condenser_api/get_trending_tags.pat.json similarity index 100% rename from hivemind/pyrest_tests/condenser_api/get_trending_tags.pat.json rename to hivemind/pyrest_tests/recent_blocks/condenser_api/get_trending_tags.pat.json diff --git a/hivemind/pyrest_tests/database_api/database_api_benchmark.yaml b/hivemind/pyrest_tests/recent_blocks/database_api/database_api_benchmark.yaml similarity index 100% rename from hivemind/pyrest_tests/database_api/database_api_benchmark.yaml rename to hivemind/pyrest_tests/recent_blocks/database_api/database_api_benchmark.yaml diff --git a/hivemind/pyrest_tests/database_api/database_api_test.yaml b/hivemind/pyrest_tests/recent_blocks/database_api/database_api_test.yaml similarity index 100% rename from hivemind/pyrest_tests/database_api/database_api_test.yaml rename to hivemind/pyrest_tests/recent_blocks/database_api/database_api_test.yaml diff --git a/hivemind/pyrest_tests/database_api/find_comments.pat.json b/hivemind/pyrest_tests/recent_blocks/database_api/find_comments.pat.json similarity index 100% rename from hivemind/pyrest_tests/database_api/find_comments.pat.json rename to hivemind/pyrest_tests/recent_blocks/database_api/find_comments.pat.json diff --git a/hivemind/pyrest_tests/database_api/list_comments.pat.json b/hivemind/pyrest_tests/recent_blocks/database_api/list_comments.pat.json similarity index 100% rename from hivemind/pyrest_tests/database_api/list_comments.pat.json rename to hivemind/pyrest_tests/recent_blocks/database_api/list_comments.pat.json diff --git a/hivemind/pyrest_tests/follow_api/follow_api_benchmark.yaml b/hivemind/pyrest_tests/recent_blocks/follow_api/follow_api_benchmark.yaml similarity index 100% rename from hivemind/pyrest_tests/follow_api/follow_api_benchmark.yaml rename to hivemind/pyrest_tests/recent_blocks/follow_api/follow_api_benchmark.yaml diff --git a/hivemind/pyrest_tests/recent_blocks/follow_api/follow_api_test.yaml b/hivemind/pyrest_tests/recent_blocks/follow_api/follow_api_test.yaml new file mode 100644 index 0000000000000000000000000000000000000000..60089984e348acc4bdf99ae8e007758e6c52beb9 --- /dev/null +++ b/hivemind/pyrest_tests/recent_blocks/follow_api/follow_api_test.yaml @@ -0,0 +1,94 @@ +--- + - config: + - testset: "Follow API Tests" + - api: &api "follow_api" + - variable_binds: + - api: *api + - generators: + - test_id: {type: 'number_sequence', start: 1} + + - base_test: &base_test + - generator_binds: + - test_id: test_id + - group: *api + - url: "/" + - method: "POST" + - body: {template: {file: "../templates/request_template.json"}} + - validators: + - extract_test: {jsonpath_mini: "error", test: "not_exists"} + - extract_test: {jsonpath_mini: "result", test: "exists"} + - compare: {jsonpath_mini: "id", comparator: "str_eq", expected: {template: $test_id}} + - json_file_validator: {jsonpath_mini: "result", comparator: "json_compare", expected: {template: '$api/$method'}} + + - test: + - name: "get_followers" + - variable_binds: + - method: "get_followers" + - args: '{"account":"steemit","start":null,"type":"blog","limit":10}' + - <<: *base_test + + - test: + - name: "get_following" + - variable_binds: + - method: "get_following" + - args: '{"account":"steemit","start":null,"type":"blog","limit":10}' + - <<: *base_test + + - test: + - name: "get_follow_count" + - variable_binds: + - method: "get_follow_count" + - args: '{"account":"steemit"}' + - <<: *base_test + + - test: + - name: "get_account_reputations" + - variable_binds: + - method: "get_account_reputations" + - args: '{"account_lower_bound": "steem", "limit":1}' + - <<: *base_test + + - test: + - name: "get_blog" + - variable_binds: + - method: "get_blog" + - args: '{"account":"steemit","start_entry_id":0,"limit":1}' + - <<: *base_test + + - test: + - name: "get_blog_entries" + - variable_binds: + - method: "get_blog_entries" + - args: '{"account":"steemit","start_entry_id":0,"limit":1}' + - <<: *base_test + + - test: + - name: "get_reblogged_by" + - variable_binds: + - method: "get_reblogged_by" + - args: '{"author":"steemit","permlink":"firstpost"}' + - <<: *base_test + +# API not found +# - test: +# - name: "get_feed_entries" +# - variable_binds: +# - method: "get_feed_entries" +# - args: '{"account":"steemit","start_entry_id":0,"limit":1}' +# - <<: *base_test + +# API not found +# - test: +# - name: "get_feed" +# - variable_binds: +# - method: "get_feed" +# - args: '{"account":"steemit","start_entry_id":0,"limit":1}' +# - <<: *base_test + +# API not found +# - test: +# - name: "get_blog_authors" +# - variable_binds: +# - method: "get_blog_authors" +# - args: '{"blog_account":"steemit"}' +# - <<: *base_test \ No newline at end of file diff --git a/hivemind/pyrest_tests/follow_api/get_account_reputations.pat.json b/hivemind/pyrest_tests/recent_blocks/follow_api/get_account_reputations.pat.json similarity index 100% rename from hivemind/pyrest_tests/follow_api/get_account_reputations.pat.json rename to hivemind/pyrest_tests/recent_blocks/follow_api/get_account_reputations.pat.json diff --git a/hivemind/pyrest_tests/follow_api/get_blog.pat.json b/hivemind/pyrest_tests/recent_blocks/follow_api/get_blog.pat.json similarity index 100% rename from hivemind/pyrest_tests/follow_api/get_blog.pat.json rename to hivemind/pyrest_tests/recent_blocks/follow_api/get_blog.pat.json diff --git a/hivemind/pyrest_tests/follow_api/get_blog_authors.pat.json b/hivemind/pyrest_tests/recent_blocks/follow_api/get_blog_authors.pat.json similarity index 100% rename from hivemind/pyrest_tests/follow_api/get_blog_authors.pat.json rename to hivemind/pyrest_tests/recent_blocks/follow_api/get_blog_authors.pat.json diff --git a/hivemind/pyrest_tests/follow_api/get_blog_entries.pat.json b/hivemind/pyrest_tests/recent_blocks/follow_api/get_blog_entries.pat.json similarity index 100% rename from hivemind/pyrest_tests/follow_api/get_blog_entries.pat.json rename to hivemind/pyrest_tests/recent_blocks/follow_api/get_blog_entries.pat.json diff --git a/hivemind/pyrest_tests/follow_api/get_feed.pat.json b/hivemind/pyrest_tests/recent_blocks/follow_api/get_feed.pat.json similarity index 100% rename from hivemind/pyrest_tests/follow_api/get_feed.pat.json rename to hivemind/pyrest_tests/recent_blocks/follow_api/get_feed.pat.json diff --git a/hivemind/pyrest_tests/follow_api/get_feed_entries.pat.json b/hivemind/pyrest_tests/recent_blocks/follow_api/get_feed_entries.pat.json similarity index 100% rename from hivemind/pyrest_tests/follow_api/get_feed_entries.pat.json rename to hivemind/pyrest_tests/recent_blocks/follow_api/get_feed_entries.pat.json diff --git a/hivemind/pyrest_tests/follow_api/get_follow_count.pat.json b/hivemind/pyrest_tests/recent_blocks/follow_api/get_follow_count.pat.json similarity index 100% rename from hivemind/pyrest_tests/follow_api/get_follow_count.pat.json rename to hivemind/pyrest_tests/recent_blocks/follow_api/get_follow_count.pat.json diff --git a/hivemind/pyrest_tests/follow_api/get_followers.pat.json b/hivemind/pyrest_tests/recent_blocks/follow_api/get_followers.pat.json similarity index 100% rename from hivemind/pyrest_tests/follow_api/get_followers.pat.json rename to hivemind/pyrest_tests/recent_blocks/follow_api/get_followers.pat.json diff --git a/hivemind/pyrest_tests/tags_api/get_comment_discussions_by_payout.pat.json b/hivemind/pyrest_tests/recent_blocks/follow_api/get_following.pat.json similarity index 100% rename from hivemind/pyrest_tests/tags_api/get_comment_discussions_by_payout.pat.json rename to hivemind/pyrest_tests/recent_blocks/follow_api/get_following.pat.json diff --git a/hivemind/pyrest_tests/follow_api/get_reblogged_by.pat.json b/hivemind/pyrest_tests/recent_blocks/follow_api/get_reblogged_by.pat.json similarity index 100% rename from hivemind/pyrest_tests/follow_api/get_reblogged_by.pat.json rename to hivemind/pyrest_tests/recent_blocks/follow_api/get_reblogged_by.pat.json diff --git a/hivemind/pyrest_tests/hive_api/hive_api_benchmark.yaml b/hivemind/pyrest_tests/recent_blocks/hive_api/hive_api_benchmark.yaml similarity index 100% rename from hivemind/pyrest_tests/hive_api/hive_api_benchmark.yaml rename to hivemind/pyrest_tests/recent_blocks/hive_api/hive_api_benchmark.yaml diff --git a/hivemind/pyrest_tests/hive_api/hive_api_test.yaml b/hivemind/pyrest_tests/recent_blocks/hive_api/hive_api_test.yaml similarity index 100% rename from hivemind/pyrest_tests/hive_api/hive_api_test.yaml rename to hivemind/pyrest_tests/recent_blocks/hive_api/hive_api_test.yaml diff --git a/hivemind/pyrest_tests/run_api_benchmarks.sh b/hivemind/pyrest_tests/recent_blocks/run_api_benchmarks.sh similarity index 100% rename from hivemind/pyrest_tests/run_api_benchmarks.sh rename to hivemind/pyrest_tests/recent_blocks/run_api_benchmarks.sh diff --git a/hivemind/pyrest_tests/run_api_tests.sh b/hivemind/pyrest_tests/recent_blocks/run_api_tests.sh similarity index 97% rename from hivemind/pyrest_tests/run_api_tests.sh rename to hivemind/pyrest_tests/recent_blocks/run_api_tests.sh index 3992140c191d09a2dce60c409a16edd9a9334ed5..beebf74d61f28f9d46408aa7b7e1a7f4039abb12 100755 --- a/hivemind/pyrest_tests/run_api_tests.sh +++ b/hivemind/pyrest_tests/recent_blocks/run_api_tests.sh @@ -20,7 +20,7 @@ fi echo COMPARATOR: $COMPARATOR echo "Running API tests\n" -pyresttest $1 ./basic_smoketest.yaml +pyresttest $1 ../basic_smoketest.yaml [ $? -ne 0 ] && echo FATAL: hivemind not running? && exit -1 pyresttest $1 ./bridge/bridge_api_test.yaml --import_extensions='validator_ex;'$COMPARATOR diff --git a/hivemind/pyrest_tests/tags_api/get_account_votes.pat.json b/hivemind/pyrest_tests/recent_blocks/tags_api/get_account_votes.pat.json similarity index 100% rename from hivemind/pyrest_tests/tags_api/get_account_votes.pat.json rename to hivemind/pyrest_tests/recent_blocks/tags_api/get_account_votes.pat.json diff --git a/hivemind/pyrest_tests/tags_api/get_active_votes.pat.json b/hivemind/pyrest_tests/recent_blocks/tags_api/get_active_votes.pat.json similarity index 100% rename from hivemind/pyrest_tests/tags_api/get_active_votes.pat.json rename to hivemind/pyrest_tests/recent_blocks/tags_api/get_active_votes.pat.json diff --git a/hivemind/pyrest_tests/tags_api/get_content_replies.pat.json b/hivemind/pyrest_tests/recent_blocks/tags_api/get_comment_discussions_by_payout.pat.json similarity index 100% rename from hivemind/pyrest_tests/tags_api/get_content_replies.pat.json rename to hivemind/pyrest_tests/recent_blocks/tags_api/get_comment_discussions_by_payout.pat.json diff --git a/hivemind/pyrest_tests/tags_api/get_discussions_by_comments.pat.json b/hivemind/pyrest_tests/recent_blocks/tags_api/get_content_replies.pat.json similarity index 100% rename from hivemind/pyrest_tests/tags_api/get_discussions_by_comments.pat.json rename to hivemind/pyrest_tests/recent_blocks/tags_api/get_content_replies.pat.json diff --git a/hivemind/pyrest_tests/tags_api/get_discussion.pat.json b/hivemind/pyrest_tests/recent_blocks/tags_api/get_discussion.pat.json similarity index 100% rename from hivemind/pyrest_tests/tags_api/get_discussion.pat.json rename to hivemind/pyrest_tests/recent_blocks/tags_api/get_discussion.pat.json diff --git a/hivemind/pyrest_tests/tags_api/get_discussions_by_active.pat.json b/hivemind/pyrest_tests/recent_blocks/tags_api/get_discussions_by_active.pat.json similarity index 100% rename from hivemind/pyrest_tests/tags_api/get_discussions_by_active.pat.json rename to hivemind/pyrest_tests/recent_blocks/tags_api/get_discussions_by_active.pat.json diff --git a/hivemind/pyrest_tests/tags_api/get_discussions_by_author_before_date.pat.json b/hivemind/pyrest_tests/recent_blocks/tags_api/get_discussions_by_author_before_date.pat.json similarity index 100% rename from hivemind/pyrest_tests/tags_api/get_discussions_by_author_before_date.pat.json rename to hivemind/pyrest_tests/recent_blocks/tags_api/get_discussions_by_author_before_date.pat.json diff --git a/hivemind/pyrest_tests/tags_api/get_discussions_by_blog.pat.json b/hivemind/pyrest_tests/recent_blocks/tags_api/get_discussions_by_blog.pat.json similarity index 100% rename from hivemind/pyrest_tests/tags_api/get_discussions_by_blog.pat.json rename to hivemind/pyrest_tests/recent_blocks/tags_api/get_discussions_by_blog.pat.json diff --git a/hivemind/pyrest_tests/tags_api/get_discussions_by_cashout.pat.json b/hivemind/pyrest_tests/recent_blocks/tags_api/get_discussions_by_cashout.pat.json similarity index 100% rename from hivemind/pyrest_tests/tags_api/get_discussions_by_cashout.pat.json rename to hivemind/pyrest_tests/recent_blocks/tags_api/get_discussions_by_cashout.pat.json diff --git a/hivemind/pyrest_tests/tags_api/get_discussions_by_children.pat.json b/hivemind/pyrest_tests/recent_blocks/tags_api/get_discussions_by_children.pat.json similarity index 100% rename from hivemind/pyrest_tests/tags_api/get_discussions_by_children.pat.json rename to hivemind/pyrest_tests/recent_blocks/tags_api/get_discussions_by_children.pat.json diff --git a/hivemind/pyrest_tests/tags_api/get_discussions_by_promoted.pat.json b/hivemind/pyrest_tests/recent_blocks/tags_api/get_discussions_by_comments.pat.json similarity index 100% rename from hivemind/pyrest_tests/tags_api/get_discussions_by_promoted.pat.json rename to hivemind/pyrest_tests/recent_blocks/tags_api/get_discussions_by_comments.pat.json diff --git a/hivemind/pyrest_tests/tags_api/get_discussions_by_created.pat.json b/hivemind/pyrest_tests/recent_blocks/tags_api/get_discussions_by_created.pat.json similarity index 100% rename from hivemind/pyrest_tests/tags_api/get_discussions_by_created.pat.json rename to hivemind/pyrest_tests/recent_blocks/tags_api/get_discussions_by_created.pat.json diff --git a/hivemind/pyrest_tests/tags_api/get_discussions_by_hot.pat.json b/hivemind/pyrest_tests/recent_blocks/tags_api/get_discussions_by_hot.pat.json similarity index 100% rename from hivemind/pyrest_tests/tags_api/get_discussions_by_hot.pat.json rename to hivemind/pyrest_tests/recent_blocks/tags_api/get_discussions_by_hot.pat.json diff --git a/hivemind/pyrest_tests/recent_blocks/tags_api/get_discussions_by_promoted.pat.json b/hivemind/pyrest_tests/recent_blocks/tags_api/get_discussions_by_promoted.pat.json new file mode 100644 index 0000000000000000000000000000000000000000..0637a088a01e8ddab3bf3fa98dbe804cbde1a0dc --- /dev/null +++ b/hivemind/pyrest_tests/recent_blocks/tags_api/get_discussions_by_promoted.pat.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/hivemind/pyrest_tests/tags_api/get_discussions_by_trending.pat.json b/hivemind/pyrest_tests/recent_blocks/tags_api/get_discussions_by_trending.pat.json similarity index 100% rename from hivemind/pyrest_tests/tags_api/get_discussions_by_trending.pat.json rename to hivemind/pyrest_tests/recent_blocks/tags_api/get_discussions_by_trending.pat.json diff --git a/hivemind/pyrest_tests/tags_api/get_discussions_by_votes.pat.json b/hivemind/pyrest_tests/recent_blocks/tags_api/get_discussions_by_votes.pat.json similarity index 100% rename from hivemind/pyrest_tests/tags_api/get_discussions_by_votes.pat.json rename to hivemind/pyrest_tests/recent_blocks/tags_api/get_discussions_by_votes.pat.json diff --git a/hivemind/pyrest_tests/tags_api/get_post_discussions_by_payout.pat.json b/hivemind/pyrest_tests/recent_blocks/tags_api/get_post_discussions_by_payout.pat.json similarity index 100% rename from hivemind/pyrest_tests/tags_api/get_post_discussions_by_payout.pat.json rename to hivemind/pyrest_tests/recent_blocks/tags_api/get_post_discussions_by_payout.pat.json diff --git a/hivemind/pyrest_tests/tags_api/get_tags_used_by_author.pat.json b/hivemind/pyrest_tests/recent_blocks/tags_api/get_tags_used_by_author.pat.json similarity index 100% rename from hivemind/pyrest_tests/tags_api/get_tags_used_by_author.pat.json rename to hivemind/pyrest_tests/recent_blocks/tags_api/get_tags_used_by_author.pat.json diff --git a/hivemind/pyrest_tests/tags_api/tags_api_benchmark.yaml b/hivemind/pyrest_tests/recent_blocks/tags_api/tags_api_benchmark.yaml similarity index 100% rename from hivemind/pyrest_tests/tags_api/tags_api_benchmark.yaml rename to hivemind/pyrest_tests/recent_blocks/tags_api/tags_api_benchmark.yaml diff --git a/hivemind/pyrest_tests/recent_blocks/tags_api/tags_api_test.yaml b/hivemind/pyrest_tests/recent_blocks/tags_api/tags_api_test.yaml new file mode 100644 index 0000000000000000000000000000000000000000..a78a2bc66bf20df41f137ab777d6a75e1fdb9632 --- /dev/null +++ b/hivemind/pyrest_tests/recent_blocks/tags_api/tags_api_test.yaml @@ -0,0 +1,154 @@ +--- + - config: + - testset: "Tags API Tests" + - api: &api "tags_api" + - variable_binds: + - api: *api + - generators: + - test_id: {type: 'number_sequence', start: 1} + + - base_test: &base_test + - generator_binds: + - test_id: test_id + - group: *api + - url: "/" + - method: "POST" + - body: {template: {file: "../templates/request_template.json"}} + - validators: + - extract_test: {jsonpath_mini: "error", test: "not_exists"} + - extract_test: {jsonpath_mini: "result", test: "exists"} + - compare: {jsonpath_mini: "id", comparator: "str_eq", expected: {template: $test_id}} + - json_file_validator: {jsonpath_mini: "result", comparator: "json_compare", expected: {template: '$api/$method'}} + + - test: + - name: "get_discussion" + - variable_binds: + - method: "get_discussion" + - args: '{"author":"steemit", "permlink":"firstpost"}' + - <<: *base_test + + - test: + - name: "get_content_replies" + - variable_binds: + - method: "get_content_replies" + - args: '{"author":"alice", "permlink":"firstpost"}' + - <<: *base_test + + - test: + - name: "get_discussions_by_trending" + - variable_binds: + - method: "get_discussions_by_trending" + - args: '{"tag":"polska","limit":1}' + - <<: *base_test + + - test: + - name: "get_discussions_by_hot" + - variable_binds: + - method: "get_discussions_by_hot" + - args: '{"tag":"polska","limit":1}' + - <<: *base_test + + - test: + - name: "get_discussions_by_promoted" + - variable_binds: + - method: "get_discussions_by_promoted" + - args: '{"tag":"polska","limit":1}' + - <<: *base_test + + - test: + - name: "get_discussions_by_created" + - variable_binds: + - method: "get_discussions_by_created" + - args: '{"tag":"polska","limit":1}' + - <<: *base_test + + - test: + - name: "get_discussions_by_blog" + - variable_binds: + - method: "get_discussions_by_blog" + - args: '{"tag":"steemit","limit":1}' + - <<: *base_test + + - test: + - name: "get_discussions_by_comments" + - variable_binds: + - method: "get_discussions_by_comments" + - args: '{"start_author":"steemit","start_permlink":"firstpost","limit":1}' + - <<: *base_test + + - test: + - name: "get_discussions_by_author_before_date" + - variable_binds: + - method: "get_discussions_by_author_before_date" + - args: '{"author":"steemit","start_permlink":"firstpost","before_date":"2016-04-19T22:49:43","limit":1}' + - <<: *base_test + + - test: + - name: "get_post_discussions_by_payout" + - variable_binds: + - method: "get_post_discussions_by_payout" + - args: '{"tag":"polska","limit":1}' + - <<: *base_test + + - test: + - name: "get_comment_discussions_by_payout" + - variable_binds: + - method: "get_comment_discussions_by_payout" + - args: '{"tag":"polska","limit":1}' + - <<: *base_test + +# Not found +# - test: +# - name: "get_active_votes" +# - variable_binds: +# - method: "get_active_votes" +# - args: '{"author":"steemit", "permlink":"firstpost"}' +# - <<: *base_test + +# Not found +# - test: +# - name: "get_tags_used_by_author" +# - variable_binds: +# - method: "get_tags_used_by_author" +# - args: '{"author":"steemit"}' +# - <<: *base_test + +# Not found +# - test: +# - name: "get_discussions_by_active" +# - variable_binds: +# - method: "get_discussions_by_active" +# - args: '{"tag":"steem","limit":1}' +# - <<: *base_test + +# Not found +# - test: +# - name: "get_discussions_by_cashout" +# - variable_binds: +# - method: "get_discussions_by_cashout" +# - args: '{"tag":"steem","limit":1}' +# - <<: *base_test + +# Not found +# - test: +# - name: "get_discussions_by_votes" +# - variable_binds: +# - method: "get_discussions_by_votes" +# - args: '{"tag":"steem","limit":1}' +# - <<: *base_test + +# Not found +# - test: +# - name: "get_discussions_by_children" +# - variable_binds: +# - method: "get_discussions_by_children" +# - args: '{"tag":"steem","limit":1}' +# - <<: *base_test + +# No longer supported +# - test: +# - name: "get_account_votes" +# - variable_binds: +# - method: "get_account_votes" +# - args: '{"account":"steemit"}' +# - <<: *base_test \ No newline at end of file diff --git a/hivemind/pyrest_tests/recent_blocks/templates b/hivemind/pyrest_tests/recent_blocks/templates new file mode 120000 index 0000000000000000000000000000000000000000..564a409d419605fdbf070db35b5eecb7d8089bb3 --- /dev/null +++ b/hivemind/pyrest_tests/recent_blocks/templates @@ -0,0 +1 @@ +../templates \ No newline at end of file diff --git a/hivemind/pyrest_tests/recent_blocks/validator_ex.py b/hivemind/pyrest_tests/recent_blocks/validator_ex.py new file mode 120000 index 0000000000000000000000000000000000000000..30d98b80a5c9d0717c70615f1083455ad0394766 --- /dev/null +++ b/hivemind/pyrest_tests/recent_blocks/validator_ex.py @@ -0,0 +1 @@ +../validator_ex.py \ No newline at end of file