diff options
| author | mo khan <mo.khan@gmail.com> | 2020-03-20 10:31:37 +0000 |
|---|---|---|
| committer | Can Eldem <celdem@gitlab.com> | 2020-03-20 10:31:37 +0000 |
| commit | 43fec0e1e3151371929139c4f67c43e7f81f1a80 (patch) | |
| tree | 417c4a313b1d6428c1a43f38278d2c828a36b293 /spec/integration/java/maven_spec.rb | |
| parent | df97efaccfc0a5d4e3ef564e74c60987f65ff6fa (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/maven_spec.rb')
| -rw-r--r-- | spec/integration/java/maven_spec.rb | 37 |
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 |
