summaryrefslogtreecommitdiff
path: root/spec/unit/java
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-04-12 10:29:18 -0600
committermo khan <mo.khan@gmail.com>2020-04-12 10:29:18 -0600
commit987fb49a1184966563c446e5fbcde0fde95b276a (patch)
tree9015745a932bba23efbfbcb54bd31e5f9dd949e1 /spec/unit/java
parent8e366bc7ff3efda43e2d2fc8e0a1155f5e4a85fa (diff)
Extract license plugin for java
Diffstat (limited to 'spec/unit/java')
-rw-r--r--spec/unit/java/license_plugin_spec.rb29
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/unit/java/license_plugin_spec.rb b/spec/unit/java/license_plugin_spec.rb
new file mode 100644
index 0000000..c05ebcc
--- /dev/null
+++ b/spec/unit/java/license_plugin_spec.rb
@@ -0,0 +1,29 @@
+# frozen_string_literal: true
+
+RSpec.describe Spandx::Java::LicensePlugin do
+ subject { described_class.new }
+
+ describe '#enhance' do
+ context 'when the dependency is not managed by the `maven` package manager' do
+ let(:dependency) { ::Spandx::Core::Dependency.new(package_manager: :rubygems, name: 'spandx', version: '0.1.0') }
+
+ specify { expect(subject.enhance(dependency)).to eql(dependency) }
+ end
+
+ [
+ { package_manager: :maven, name: 'junit:junit', version: '3.8.1', expected: ['CPL-1.0'] },
+ ].each do |item|
+ context "#{item[:package_manager]}-#{item[:name]}-#{item[:version]}" do
+ let(:dependency) { ::Spandx::Core::Dependency.new(package_manager: item[:package_manager], name: item[:name], version: item[:version]) }
+
+ let(:results) do
+ VCR.use_cassette("#{item[:package_manager]}-#{item[:name]}-#{item[:version]}") do
+ subject.enhance(dependency).licenses
+ end
+ end
+
+ specify { expect(results.map(&:id)).to match_array(item[:expected]) }
+ end
+ end
+ end
+end