Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'qa/tasks/vulnerabilities.rake')
-rw-r--r--qa/tasks/vulnerabilities.rake29
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