File: vulnerabilities.rake

package info (click to toggle)
gitlab 17.6.5-19
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 629,368 kB
  • sloc: ruby: 1,915,304; javascript: 557,307; sql: 60,639; xml: 6,509; sh: 4,567; makefile: 1,239; python: 406
file content (27 lines) | stat: -rw-r--r-- 1,018 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# frozen_string_literal: true

# 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