summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-09-14 17:42:41 -0600
committermo khan <mo.khan@gmail.com>2020-09-14 17:42:41 -0600
commit3661a1f5d1feedbd7d9d1ca2dbc770a805080969 (patch)
tree0ff507680b31c0c33106de9d56be936cb97ffef1
parentb399512a961b2932e3d399a891a44f3535b26def (diff)
test: generate a random x509 cert
-rw-r--r--lib/e2e/docker.rb6
-rw-r--r--spec/gemnasium_maven_spec.rb16
2 files changed, 18 insertions, 4 deletions
diff --git a/lib/e2e/docker.rb b/lib/e2e/docker.rb
index be85e53..3a08c8c 100644
--- a/lib/e2e/docker.rb
+++ b/lib/e2e/docker.rb
@@ -19,12 +19,12 @@ class Docker
end
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}" }
+ env_options = DEFAULT_ENV.merge(env).map { |(key, value)| "--env #{key}='#{value}'" }
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'])
+ expand([:docker, :run, '-it', "--entrypoint=''", '--rm', "--volume=#{project_path}:/tmp/app", '--add-host=maven.test:127.0.0.1', '--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'])
+ expand([:docker, :run, '--rm', "--volume=#{project_path}:/tmp/app", '--network=host', '--add-host=maven.test:127.0.0.1', env_options, image, '/analyzer run'])
end
system(command, exception: true)
end
diff --git a/spec/gemnasium_maven_spec.rb b/spec/gemnasium_maven_spec.rb
index b20d9d9..60d7a87 100644
--- a/spec/gemnasium_maven_spec.rb
+++ b/spec/gemnasium_maven_spec.rb
@@ -1,3 +1,5 @@
+require 'openssl'
+
RSpec.describe 'gemnasium-maven' do
context "when scanning a java project with packages from a custom source" do
subject do
@@ -10,8 +12,20 @@ RSpec.describe 'gemnasium-maven' do
let(:docker) { Docker.new(pwd: Pathname.pwd.join('src/gemnasium-maven')) }
let(:project_path) { project.path }
let(:docker_image) { 'gemnasium-maven:latest' }
- let(:env) { { } }
+ let(:env) { { 'ADDITIONAL_CA_CERT_BUNDLE' => x509 } }
let(:project) { Project.new }
+ let(:x509) do
+ rsa_key = OpenSSL::PKey::RSA.new(4096)
+ certificate = OpenSSL::X509::Certificate.new
+ certificate.subject = certificate.issuer = OpenSSL::X509::Name.parse("/C=/ST=/L=/O=/OU=/CN=")
+ certificate.not_before = Time.now.to_i
+ certificate.not_after = Time.now.to_i + 600
+ certificate.public_key = rsa_key.public_key
+ certificate.serial = 0x01
+ certificate.version = 2
+ certificate.sign(rsa_key, OpenSSL::Digest::SHA256.new)
+ certificate.to_pem
+ end
around(:example) do |example|
project.mount(dir: fixture_file('java/maven/custom-tls'))