summaryrefslogtreecommitdiff
path: root/spec/integration/java
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-04-17 13:58:09 -0600
committermo khan <mo.khan@gmail.com>2020-04-17 13:58:09 -0600
commitf16f093e26c1c2a87c2195453ae74c53eb3616bc (patch)
treecb32abc63ee1d9d68f73bbf6329dcea5f04809a7 /spec/integration/java
parentd8274b1f48e2ccc98b99af0258feb86a5fe24fb7 (diff)
Test specific versions of gradle with matching versions of java
Diffstat (limited to 'spec/integration/java')
-rw-r--r--spec/integration/java/gradle_spec.rb69
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