From 43c4a1c7ba355d42e717f61bcc7b71a317d9c5b3 Mon Sep 17 00:00:00 2001 From: mo khan Date: Thu, 16 Apr 2020 19:26:50 -0600 Subject: Ensure at least one runtime dependency is detected in gradle specs --- spec/integration/java/gradle_spec.rb | 43 ++++++++++-------------------------- 1 file changed, 12 insertions(+), 31 deletions(-) (limited to 'spec/integration/java') diff --git a/spec/integration/java/gradle_spec.rb b/spec/integration/java/gradle_spec.rb index 32e78c5..54f944e 100644 --- a/spec/integration/java/gradle_spec.rb +++ b/spec/integration/java/gradle_spec.rb @@ -27,7 +27,7 @@ plugins { context 'when scanning a gradle project that does not include the `com.github.hierynomus.license` plugin' do let(:project_url) { 'https://gitlab.com/one-touch-pipeline/otp.git' } - let(:result) { runner.scan } + let(:result) { runner.scan(env: { 'LOG_LEVEL' => 'debug' }) } before do runner.clone(project_url) @@ -49,36 +49,17 @@ plugins { end end - context "when scanning a gradle projects that uses a custom repository" do - it 'detects the licenses' do - runner.add_file('build.gradle') do - <<~GRADLE -plugins { - id 'java-library' -} - -repositories { - mavenCentral() -} + context "when scanning a gradle project with a custom option to generate a profiler report" do + let(:report) { runner.scan(env: { 'GRADLE_CLI_OPTS' => '--profile' }) } -dependencies { - implementation 'org.hibernate:hibernate-core:3.6.7.Final' - api 'com.google.guava:guava:23.0' - testImplementation 'junit:junit:4.+' -} - GRADLE - end - runner.add_file('my-settings.gradle') do - <<~SETTINGS - rootProject.name = 'gradle-example' - SETTINGS - end - - report = runner.scan(env: { - 'GRADLE_CLI_OPTS' => '--settings-file my-settings.gradle' - }) - expect(report).to match_schema(version: '2.0') + before do + runner.add_file('build.gradle', fixture_file_content("java/build.gradle")) end + + specify { expect(report).to match_schema(version: '2.0') } + specify { expect { report }.to change { Dir.glob("#{runner.project_path}/build/reports/profile/profile-*.html").count }.from(0).to(1) } + specify { expect(report.dependency_names).to match_array(['postgresql']) } + specify { expect(report.licenses_for('postgresql')).to match_array(['BSD-2-Clause']) } end [ @@ -100,8 +81,8 @@ dependencies { report = runner.scan(env: { 'LM_JAVA_VERSION' => java_version }) expect(report).to match_schema(version: '2.0') - expect(report[:licenses]).to be_empty - expect(report[:dependencies]).to be_empty + expect(report.dependency_names).to match_array(['postgresql']) + expect(report.licenses_for('postgresql')).to match_array(['BSD-2-Clause']) end end end -- cgit v1.2.3