diff options
| author | mo khan <mo.khan@gmail.com> | 2020-04-12 10:29:18 -0600 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-04-12 10:29:18 -0600 |
| commit | 987fb49a1184966563c446e5fbcde0fde95b276a (patch) | |
| tree | 9015745a932bba23efbfbcb54bd31e5f9dd949e1 /spec/unit/java | |
| parent | 8e366bc7ff3efda43e2d2fc8e0a1155f5e4a85fa (diff) | |
Extract license plugin for java
Diffstat (limited to 'spec/unit/java')
| -rw-r--r-- | spec/unit/java/license_plugin_spec.rb | 29 |
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 |
