summaryrefslogtreecommitdiff
path: root/spec/spotbugs_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/spotbugs_spec.rb')
-rw-r--r--spec/spotbugs_spec.rb30
1 files changed, 18 insertions, 12 deletions
diff --git a/spec/spotbugs_spec.rb b/spec/spotbugs_spec.rb
index 6f493d9..4bad4ff 100644
--- a/spec/spotbugs_spec.rb
+++ b/spec/spotbugs_spec.rb
@@ -1,20 +1,26 @@
-RSpec.describe 'spotbugs' do
- subject do
- docker.run(image: "#{self.class.description}:latest", project_path: project.path)
- JSON.parse(project.path.join('gl-sast-report.json').read)
- end
+RSpec.shared_context 'a scanner' do
+ subject { project.report_for(type: report_type) }
- let(:docker) { Docker.new(pwd: Pathname.pwd.join("src/#{self.class.description}")) }
+ 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(:each) do |example|
- project.mount(dir: fixture_file('java/maven/custom-tls'))
+ 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
- specify do
- expect(subject).not_to be_nil
- expect(subject['version']).to eql('3.0')
- 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