diff options
Diffstat (limited to 'spec/integration/java')
| -rw-r--r-- | spec/integration/java/gradle_spec.rb | 69 |
1 files changed, 44 insertions, 25 deletions
diff --git a/spec/integration/java/gradle_spec.rb b/spec/integration/java/gradle_spec.rb index 842bdf7..674281f 100644 --- a/spec/integration/java/gradle_spec.rb +++ b/spec/integration/java/gradle_spec.rb @@ -62,36 +62,55 @@ plugins { specify { expect(report.licenses_for('postgresql')).to match_array(['BSD-2-Clause']) } end + context 'when using Java 8 with version 1.* of gradle' do + before do + runner.add_file('.tool-versions', "gradle 1.9") + runner.add_file('build.gradle', fixture_file_content("java/build-8.gradle")) + end + + it 'returns an empty report because the plugin we use does not work in this version of the gradle API' do + report = runner.scan(env: { 'LM_JAVA_VERSION' => '8' }) + + expect(report).to match_schema(version:'2.0') + expect(report[:dependencies]).to be_empty + expect(report[:licenses]).to be_empty + end + end + [ - '6.3', - '5.6', - '4.9', - '3.5', - '2.9', - '1.9' - ].each do |gradle_version| - %w[8 11].each do |java_version| - context "when scanning a gradle (v#{gradle_version}) project" do - before do - runner.add_file('.tool-versions', "gradle #{gradle_version}") - end + { java: '8', gradle: ['2.9', '3.5'] }, + { java: '11', gradle: ['4.9', '5.6', '6.3'] } + ].each do |item| + context "when using Java v#{item[:java]}" do + let(:report) { runner.scan(env: { 'LM_JAVA_VERSION' => item[:java] }) } - it 'scans a kotlin gradle project' do - runner.add_file('build.gradle.kts', fixture_file_content("java/build.gradle.kts")) - runner.add_file('settings.gradle.kts', 'rootProject.name = "example"') + item[:gradle].each do |gradle_version| + context "with gradle #{gradle_version}" do + before do + runner.add_file('.tool-versions', "gradle #{gradle_version}") + end - report = runner.scan(env: { 'LM_JAVA_VERSION' => java_version }) - expect(report).to match_schema(version: '2.0') - end + context "with a kotlin project" do + before do + runner.add_file('build.gradle.kts', fixture_file_content("java/build.gradle.kts")) + runner.add_file('settings.gradle.kts', 'rootProject.name = "example"') + end + + specify { expect(report).to match_schema(version: '2.0') } + specify { expect(report.dependency_names).to match_array(['postgresql']) } + specify { expect(report.licenses_for('postgresql')).to match_array(['BSD-2-Clause']) } + end - it 'scans a groovy gradle project' do - runner.add_file('build.gradle', fixture_file_content("java/build.gradle")) - runner.add_file('settings.gradle', 'rootProject.name = "example"') + context "with a groovy project" do + before do + runner.add_file('build.gradle', fixture_file_content("java/build-#{item[:java]}.gradle")) + runner.add_file('settings.gradle', 'rootProject.name = "example"') + end - report = runner.scan(env: { 'LM_JAVA_VERSION' => java_version }) - expect(report).to match_schema(version: '2.0') - expect(report.dependency_names).to match_array(['postgresql']) - expect(report.licenses_for('postgresql')).to match_array(['BSD-2-Clause']) + specify { expect(report).to match_schema(version: '2.0') } + specify { expect(report.dependency_names).to match_array(['postgresql']) } + specify { expect(report.licenses_for('postgresql')).to match_array(['BSD-2-Clause']) } + end end end end |
