From 7a6199f2ea4adc239d5bf791e07dd5d93c9744c6 Mon Sep 17 00:00:00 2001 From: mo khan Date: Wed, 16 Sep 2020 11:53:59 -0600 Subject: test: build docker images before tests --- spec/gemnasium_maven_spec.rb | 6 ++---- spec/spec_helper.rb | 1 + spec/spotbugs_spec.rb | 8 +++----- spec/support/docker_helper.rb | 11 +++++++++++ 4 files changed, 17 insertions(+), 9 deletions(-) create mode 100644 spec/support/docker_helper.rb (limited to 'spec') diff --git a/spec/gemnasium_maven_spec.rb b/spec/gemnasium_maven_spec.rb index d84050a..85f7cae 100644 --- a/spec/gemnasium_maven_spec.rb +++ b/spec/gemnasium_maven_spec.rb @@ -2,11 +2,9 @@ require 'openssl' RSpec.describe 'gemnasium-maven' do ['8', '13', '11', '14'].each do |java_version| - context "when scanning a java #{java_version} project with packages from a custom source" do + context "when scanning a java #{java_version} project with a custom X509 CA certificate" do subject do - docker.build(tag: docker_image) - return {} unless docker.run(image: docker_image, project_path: project_path, env: env) - + docker.run(image: docker_image, project_path: project_path, env: env) DependencyScanningReport.new(project_path: project_path) end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index c7b393b..19f2cdb 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -15,6 +15,7 @@ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration $LOAD_PATH.unshift(Pathname.pwd.join('lib')) require 'e2e' +require 'support/docker_helper' require 'support/fixture_file_helper' RSpec.configure do |config| diff --git a/spec/spotbugs_spec.rb b/spec/spotbugs_spec.rb index 589533c..6f493d9 100644 --- a/spec/spotbugs_spec.rb +++ b/spec/spotbugs_spec.rb @@ -1,12 +1,10 @@ -RSpec.describe "spotbugs" do +RSpec.describe 'spotbugs' do subject do - docker.build(tag: docker_image) - docker.run(image: docker_image, project_path: project.path) + docker.run(image: "#{self.class.description}:latest", project_path: project.path) JSON.parse(project.path.join('gl-sast-report.json').read) end - let(:docker) { Docker.new(pwd: Pathname.pwd.join('src/spotbugs')) } - let(:docker_image) { 'spotbugs:latest' } + let(:docker) { Docker.new(pwd: Pathname.pwd.join("src/#{self.class.description}")) } let(:project) { Project.new } around(:each) do |example| diff --git a/spec/support/docker_helper.rb b/spec/support/docker_helper.rb new file mode 100644 index 0000000..76c9195 --- /dev/null +++ b/spec/support/docker_helper.rb @@ -0,0 +1,11 @@ +RSpec.configure do |config| + config.before(:suite) do + Pathname.pwd.join('src').each_child do |file| + next unless file.directory? + + docker = Docker.new(pwd: file) + docker_image = "#{file.basename.to_s}:latest" + docker.build(tag: docker_image) + end + end +end -- cgit v1.2.3