Rakefile 1.32 KB
Newer Older
1
require_relative 'qa/tools/revoke_all_personal_access_tokens'
2
require_relative 'qa/tools/delete_subgroups'
3
require_relative 'qa/tools/generate_perf_testdata'
4 5 6 7 8

desc "Revokes all personal access tokens"
task :revoke_personal_access_tokens do
  QA::Tools::RevokeAllPersonalAccessTokens.new.run
end
9 10 11 12 13

desc "Deletes subgroups within a provided group"
task :delete_subgroups do
  QA::Tools::DeleteSubgroups.new.run
end
14 15 16 17 18

desc "Generate Performance Testdata"
task :generate_perf_testdata do
  QA::Tools::GeneratePerfTestdata.new.run
end
19 20 21 22 23 24 25 26 27 28 29

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.safe_load(File.read(urls_file))
30 31 32
    ENV['HOST_URL'] = urls["host"]
    ENV['LARGE_ISSUE_URL'] = urls["large_issue"]
    ENV['LARGE_MR_URL'] = urls["large_mr"]
33 34 35 36 37 38 39 40
  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]