From 0dc0c0cec97cbdea04e278143e4711cfa0d3bd03 Mon Sep 17 00:00:00 2001 From: mo khan Date: Mon, 14 Sep 2020 16:40:00 -0600 Subject: test: add spec to run gemnasium-maven scanner --- spec/support/docker.rb | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 spec/support/docker.rb (limited to 'spec/support/docker.rb') diff --git a/spec/support/docker.rb b/spec/support/docker.rb new file mode 100644 index 0000000..331ee17 --- /dev/null +++ b/spec/support/docker.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +class Docker + DEFAULT_ENV = { 'CI_PROJECT_DIR' => '/tmp/app' }.freeze + attr_reader :pwd + + def initialize(pwd: Pathname.pwd) + @pwd = pwd + end + + def build(tag:) + Dir.chdir pwd do + system("docker build --network=host -t #{tag} .") + end + end + + def run(image:, project_path: Pathname.pwd, env: {}) + env_options = DEFAULT_ENV.merge(env).map { |(key, value)| "--env #{key}=#{value}" } + Dir.chdir pwd do + system([ + :docker, :run, '-it', '--rm', + '--volume', "#{project_path}:/tmp/app", + '--network=host', + env_options, + image, '/analyzer run' + ].flatten.map(&:to_s).join(' ')) + end + end +end -- cgit v1.2.3