summaryrefslogtreecommitdiff
path: root/qa/Rakefile
diff options
context:
space:
mode:
authorSanad Liaquat <sliaquat@gitlab.com>2019-03-15 11:52:39 +0500
committerSanad Liaquat <sliaquat@gitlab.com>2019-03-15 11:52:39 +0500
commite73f8713812b912b3b0244e99b6a18b9422a2d4d (patch)
treede67e0ab7931961752caeccef78f393365391f81 /qa/Rakefile
parent82c0816d3fdd96412605845fa337b74b6a3534c4 (diff)
downloadgitlab-ce-qa-artillery-io-script.tar.gz
Add Load testing script for artillery.ioqa-artillery-io-script
Also add rake tasks that makes use of existing performance data genertion task.
Diffstat (limited to 'qa/Rakefile')
-rw-r--r--qa/Rakefile22
1 files changed, 22 insertions, 0 deletions
diff --git a/qa/Rakefile b/qa/Rakefile
index b6ad09f9b00..bad8daac848 100644
--- a/qa/Rakefile
+++ b/qa/Rakefile
@@ -16,3 +16,25 @@ desc "Generate Performance Testdata"
task :generate_perf_testdata do
QA::Tools::GeneratePerfTestdata.new.run
end
+
+desc "Run artillery load tests"
+task :run_artillery_load_tests do
+ unless ENV['HOST_URL'] && ENV['LARGE_ISSUE_URL'] && ENV['LARGE_MR_URL']
+ urls_file = ENV['URLS_FILE_PATH'] || 'urls.yml'
+
+ unless File.exist?(urls_file)
+ raise "\n#{urls_file} file is missing. Please provide correct URLS_FILE_PATH or all of HOST_URL, LARGE_ISSUE_URL and LARGE_MR_URL\n\n"
+ end
+
+ urls = YAML.load(File.read(urls_file))
+ ENV['HOST_URL'] = urls[:host]
+ ENV['LARGE_ISSUE_URL'] = urls[:large_issue]
+ ENV['LARGE_MR_URL'] = urls[:large_mr]
+ end
+
+ sh('artillery run load/artillery.yml -o report.json')
+ sh('artillery report report.json -o report.html && rm report.json')
+end
+
+desc "Generate data and run load tests"
+task generate_data_and_run_load_test: [:generate_perf_testdata, :run_artillery_load_tests]