From f805db59b390ef1154821429bd8cf35ea747fa00 Mon Sep 17 00:00:00 2001 From: Michal Zander <mzander@syncad.com> Date: Fri, 28 Mar 2025 14:56:37 +0000 Subject: [PATCH] Add tests for new APIs --- tests/functional/test_scripts.sh | 5 +- tests/performance/test_scenarios.jmx | 53 +++++++++++++++++++ .../block_hash.pat.json | 1 + .../block_hash.tavern.yaml | 21 ++++++++ 4 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 tests/tavern/get_btracker_last_synced_block/block_hash.pat.json create mode 100644 tests/tavern/get_btracker_last_synced_block/block_hash.tavern.yaml diff --git a/tests/functional/test_scripts.sh b/tests/functional/test_scripts.sh index 3ba21f9..f2f2d5b 100755 --- a/tests/functional/test_scripts.sh +++ b/tests/functional/test_scripts.sh @@ -42,10 +42,11 @@ while [ $# -gt 0 ]; do shift done -pushd "../$script_dir" + +pushd "$script_dir/.." echo "Test 1. Generate version..." -./scripts/generate_version_sql.sh +./scripts/generate_version_sql.sh "$script_dir/.." echo "Generate version completed successfully" popd diff --git a/tests/performance/test_scenarios.jmx b/tests/performance/test_scenarios.jmx index 635c8bc..019d41b 100644 --- a/tests/performance/test_scenarios.jmx +++ b/tests/performance/test_scenarios.jmx @@ -183,6 +183,59 @@ </HTTPSamplerProxy> <hashTree/> </hashTree> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="other" enabled="true"> + <stringProp name="ThreadGroup.on_sample_error">stopthread</stringProp> + <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true"> + <boolProp name="LoopController.continue_forever">false</boolProp> + <stringProp name="LoopController.loops">${LOOP_COUNT}</stringProp> + </elementProp> + <stringProp name="ThreadGroup.num_threads">${THREAD_COUNT}</stringProp> + <stringProp name="ThreadGroup.ramp_time"></stringProp> + <boolProp name="ThreadGroup.scheduler">false</boolProp> + <stringProp name="ThreadGroup.duration"></stringProp> + <stringProp name="ThreadGroup.delay"></stringProp> + <boolProp name="ThreadGroup.same_user_on_next_iteration">false</boolProp> + </ThreadGroup> + <hashTree> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="get_btracker_last_synced_block" enabled="true"> + <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> + <collectionProp name="Arguments.arguments"/> + </elementProp> + <stringProp name="HTTPSampler.domain"></stringProp> + <stringProp name="HTTPSampler.port"></stringProp> + <stringProp name="HTTPSampler.protocol"></stringProp> + <stringProp name="HTTPSampler.contentEncoding"></stringProp> + <stringProp name="HTTPSampler.path">rpc/get_btracker_last_synced_block</stringProp> + <stringProp name="HTTPSampler.method">POST</stringProp> + <boolProp name="HTTPSampler.follow_redirects">true</boolProp> + <boolProp name="HTTPSampler.auto_redirects">false</boolProp> + <boolProp name="HTTPSampler.use_keepalive">true</boolProp> + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <stringProp name="HTTPSampler.embedded_url_re"></stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> + </HTTPSamplerProxy> + <hashTree/> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="get_btracker_version" enabled="true"> + <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> + <collectionProp name="Arguments.arguments"/> + </elementProp> + <stringProp name="HTTPSampler.domain"></stringProp> + <stringProp name="HTTPSampler.port"></stringProp> + <stringProp name="HTTPSampler.protocol"></stringProp> + <stringProp name="HTTPSampler.contentEncoding"></stringProp> + <stringProp name="HTTPSampler.path">rpc/get_btracker_version</stringProp> + <stringProp name="HTTPSampler.method">POST</stringProp> + <boolProp name="HTTPSampler.follow_redirects">true</boolProp> + <boolProp name="HTTPSampler.auto_redirects">false</boolProp> + <boolProp name="HTTPSampler.use_keepalive">true</boolProp> + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> + <stringProp name="HTTPSampler.embedded_url_re"></stringProp> + <stringProp name="HTTPSampler.connect_timeout"></stringProp> + <stringProp name="HTTPSampler.response_timeout"></stringProp> + </HTTPSamplerProxy> + <hashTree/> + </hashTree> <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="get_history_aggregation" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">stopthread</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true"> diff --git a/tests/tavern/get_btracker_last_synced_block/block_hash.pat.json b/tests/tavern/get_btracker_last_synced_block/block_hash.pat.json new file mode 100644 index 0000000..d4375a2 --- /dev/null +++ b/tests/tavern/get_btracker_last_synced_block/block_hash.pat.json @@ -0,0 +1 @@ +5000000 \ No newline at end of file diff --git a/tests/tavern/get_btracker_last_synced_block/block_hash.tavern.yaml b/tests/tavern/get_btracker_last_synced_block/block_hash.tavern.yaml new file mode 100644 index 0000000..4683229 --- /dev/null +++ b/tests/tavern/get_btracker_last_synced_block/block_hash.tavern.yaml @@ -0,0 +1,21 @@ +--- + test_name: btracker PostgREST + + marks: + - patterntest + + includes: + - !include ../common.yaml + + stages: + - name: test + request: + url: "{service.proto:s}://{service.server:s}:{service.port}/rpc/get_btracker_last_synced_block" + method: POST + headers: + content-type: application/json + accept: application/json + response: + status_code: 200 + verify_response_with: + function: validate_response:compare_rest_response_with_pattern -- GitLab