blob: c9f167d1192eccbd6aaa675e896b9891f2a990ca (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# frozen_string_literal: true
RSpec.shared_context 'with scanner' do
subject { project.report_for(type: report_type) }
let(:docker) { Docker.new(pwd: Pathname.pwd.join("src/#{scanner}")) }
let(:docker_image) { "#{scanner}:latest" }
let(:scanner) { raise "`scanner` not specified. Choose: #{Pathname.pwd.glob('src/*').map(&:basename).join(', ')}" }
let(:project) { Project.new }
let(:env) { {} }
let(:report_types) { { 'gemnasium-maven' => :dependency_scanning, 'spotbugs' => :sast } }
let(:report_type) { report_types.fetch(scanner) }
around do |example|
project.mount(dir: fixture_file(project_fixture))
docker.run(image: docker_image, project_path: project.path, env: env)
example.run
project.cleanup
end
end
RSpec.configure do |config|
config.include_context 'with scanner'
end
|