summaryrefslogtreecommitdiff
path: root/spec/integration/java
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-03-20 10:31:37 +0000
committerCan Eldem <celdem@gitlab.com>2020-03-20 10:31:37 +0000
commit43fec0e1e3151371929139c4f67c43e7f81f1a80 (patch)
tree417c4a313b1d6428c1a43f38278d2c828a36b293 /spec/integration/java
parentdf97efaccfc0a5d4e3ef564e74c60987f65ff6fa (diff)
Install maven packages for multi-module setup
* Install packages when multiple maven modules are detected * Add CHANGELOG entry * Install gem silently * Add package manager to test description * Sort paths
Diffstat (limited to 'spec/integration/java')
-rw-r--r--spec/integration/java/maven_spec.rb37
1 files changed, 35 insertions, 2 deletions
diff --git a/spec/integration/java/maven_spec.rb b/spec/integration/java/maven_spec.rb
index dbcfa5e..ad4cf5e 100644
--- a/spec/integration/java/maven_spec.rb
+++ b/spec/integration/java/maven_spec.rb
@@ -2,12 +2,15 @@ require 'spec_helper'
RSpec.describe "maven" do
include_examples "each report version", "java", "maven"
+ include_examples "each report version", "java", "maven-multimodules"
describe "When the maven dependencies come from a custom public maven repository" do
it 'is able to detect some of the licenses' do
runner.add_file('pom.xml', fixture_file_content('pom-public-gitlab-repository.xml'))
- report = runner.scan(env: { 'CI_PROJECT_ID' => '17523603' })
+ report = runner.scan(env: {
+ 'CI_PROJECT_ID' => '17523603'
+ })
expect(report).to match_schema(version: '2.0')
expect(report[:dependencies]).to match_array([{ name: 'mvn-spike', url: '', description: '', paths: ['.'], licenses: ['MIT'] }])
@@ -18,7 +21,6 @@ RSpec.describe "maven" do
runner.add_file('my_settings.xml', fixture_file_content('custom-maven-settings.xml'))
report = runner.scan(env: {
- 'CI_DEBUG_TRACE' => 'true',
'CI_PROJECT_ID' => 'invalid',
'MAVEN_CLI_OPTS' => "--settings my_settings.xml"
})
@@ -45,4 +47,35 @@ RSpec.describe "maven" do
expect(report).to match_schema(version: '2.0')
end
end
+
+ describe "When scanning a project with multiple modules" do
+ before do
+ runner.mount(dir: fixture_file('maven-multimodule'))
+ end
+
+ it 'detects dependences from each module' do
+ report = runner.scan
+
+ expect(report).to match_schema(version: '2.0')
+ expect(report[:dependencies]).not_to be_empty
+
+ [
+ { name: "asm", licenses: ["BSD-4-Clause"] },
+ { name: "asm-commons", licenses: ["BSD-4-Clause"] },
+ { name: "jackson-annotations", licenses: ["Apache-2.0"] },
+ { name: "jackson-core", licenses: ["Apache-2.0"] },
+ { name: "jackson-databind", licenses: ["Apache-2.0"] },
+ { name: "jackson-dataformat-xml", licenses: ["Apache-2.0"] },
+ { name: "jackson-module-jaxb-annotations", licenses: ["Apache-2.0"] },
+ { name: "log4j-api", licenses: ["Apache-2.0"] },
+ { name: "log4j-core", licenses: ["Apache-2.0"] },
+ { name: "netty-all", licenses: ["Apache-2.0"] },
+ { name: "stax2-api", licenses: ["BSD-4-Clause"] }
+ ].each do |dependency|
+ expect(find_in(report, dependency[:name])[:licenses]).to match_array(dependency[:licenses])
+ end
+
+ expect(report[:dependencies].map { |x| x[:name] }).not_to include('junit')
+ end
+ end
end