diff options
Diffstat (limited to 'qa/tasks/vulnerabilities.rake')
-rw-r--r-- | qa/tasks/vulnerabilities.rake | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/qa/tasks/vulnerabilities.rake b/qa/tasks/vulnerabilities.rake new file mode 100644 index 00000000000..79d6b8683e0 --- /dev/null +++ b/qa/tasks/vulnerabilities.rake @@ -0,0 +1,29 @@ +# frozen_string_literal: true +# rubocop:disable Rails/RakeEnvironment + +# How to run this rake task? +# GITLAB_QA_ACCESS_TOKEN=<access_token> GITLAB_URL="<Gitlab address>" bundle exec rake +# vulnerabilities:setup\[<Project_id>,<Vulnerability_count>\] --trace + +namespace :vulnerabilities do + desc "Set up test data for vulnerability report" + task :setup, [:project_id, :vulnerability_count] do |t, args| + QA::Runtime::Browser.configure! + QA::Runtime::Scenario.from_env(QA::Runtime::Env.runtime_scenario_attributes) + + if ENV['GITLAB_URL'].nil? + puts 'ERROR: Exiting rake, Gitlab address not specified as GITLAB_URL environment variable' + exit 1 + end + + if ENV['GITLAB_QA_ACCESS_TOKEN'].nil? + puts 'ERROR: Exiting rake, API access token not provided as GITLAB_QA_ACCESS_TOKEN environment variable' + exit 1 + end + + QA::Runtime::Scenario.define(:gitlab_address, ENV['GITLAB_URL']) + vuln = QA::EE::Resource::VulnerabilityReport.new + vuln.create_vuln_report(args[:project_id], args[:vulnerability_count].to_i) + end +end +# rubocop:enable Rails/RakeEnvironment |