diff options
Diffstat (limited to 'spec/spotbugs_spec.rb')
| -rw-r--r-- | spec/spotbugs_spec.rb | 30 |
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 |
