From b399512a961b2932e3d399a891a44f3535b26def Mon Sep 17 00:00:00 2001 From: mo khan Date: Mon, 14 Sep 2020 17:24:09 -0600 Subject: test: scan simple maven project --- lib/e2e.rb | 1 + lib/e2e/dependency_scanning_report.rb | 14 ++++++++++++++ lib/e2e/docker.rb | 8 ++++++-- 3 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 lib/e2e/dependency_scanning_report.rb (limited to 'lib') diff --git a/lib/e2e.rb b/lib/e2e.rb index 50d7fc4..c44e0c7 100644 --- a/lib/e2e.rb +++ b/lib/e2e.rb @@ -1,3 +1,4 @@ require 'json' +require 'e2e/dependency_scanning_report' require 'e2e/docker' require 'e2e/project' diff --git a/lib/e2e/dependency_scanning_report.rb b/lib/e2e/dependency_scanning_report.rb new file mode 100644 index 0000000..9f6e4be --- /dev/null +++ b/lib/e2e/dependency_scanning_report.rb @@ -0,0 +1,14 @@ +class DependencyScanningReport + def initialize(project_path:) + report_path = project_path.join('gl-dependency-scanning-report.json') + @content = report_path.exist? ? JSON.parse(report_path.read) : {} + end + + def to_h + @content + end + + def to_s + JSON.pretty_generate(to_h) + end +end diff --git a/lib/e2e/docker.rb b/lib/e2e/docker.rb index 3c4d589..be85e53 100644 --- a/lib/e2e/docker.rb +++ b/lib/e2e/docker.rb @@ -18,10 +18,14 @@ class Docker end end - def run(image:, project_path: Pathname.pwd, env: {}) + def run(image:, project_path: Pathname.pwd, env: {}, debug: ENV.fetch('DEBUG', 'false') == 'true') env_options = DEFAULT_ENV.merge(env).map { |(key, value)| "--env #{key}=#{value}" } - command = expand([:docker, :run, '-it', '--rm', "--volume=#{project_path}:/tmp/app", '--network=host', env_options, image, '/analyzer run']) Dir.chdir pwd do + command = if debug + expand([:docker, :run, '-it', "--entrypoint=''", '--rm', "--volume=#{project_path}:/tmp/app", '--network=host', env_options, image, '/bin/bash -l']) + else + expand([:docker, :run, '--rm', "--volume=#{project_path}:/tmp/app", '--network=host', env_options, image, '/analyzer run']) + end system(command, exception: true) end end -- cgit v1.2.3