summaryrefslogtreecommitdiff
path: root/spec/spotbugs_spec.rb
blob: 4bad4ffa3dbd5912f76c6942ed83a36990796f42 (plain)
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
RSpec.shared_context 'a 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) { self.class.description }
  let(:project) { Project.new }
  let(:report_type) { raise 'report_type not specified'  }

  around :example do |example|
    project.mount(dir: fixture_file(project_fixture))
    docker.run(image: docker_image, project_path: project.path)
    example.run
    project.cleanup
  end
end

RSpec.describe 'spotbugs' do
  include_context 'a scanner'

  let(:project_fixture) { 'java/maven/custom-tls' }
  let(:report_type) { :sast }

  specify { expect(subject).not_to be_nil }
  specify { expect(subject['version']).to eql('3.0') }
end