diff options
| author | mo khan <mo.khan@gmail.com> | 2020-04-12 11:45:35 -0600 |
|---|---|---|
| committer | mo khan <mo.khan@gmail.com> | 2020-04-12 11:45:35 -0600 |
| commit | 1aa23fba5c3f2633121ac49334797e1fe481da3c (patch) | |
| tree | 68fb242f2215e9e297c69ee5ba8c4cc2d5433cf9 /spec/unit/ruby | |
| parent | 0d980c013912a85e3313f564b1a5f865dfed5a60 (diff) | |
Extract license plugin for rubygems
Diffstat (limited to 'spec/unit/ruby')
| -rw-r--r-- | spec/unit/ruby/license_plugin_spec.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/unit/ruby/license_plugin_spec.rb b/spec/unit/ruby/license_plugin_spec.rb new file mode 100644 index 0000000..6c6df20 --- /dev/null +++ b/spec/unit/ruby/license_plugin_spec.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +RSpec.describe Spandx::Ruby::LicensePlugin do + subject { described_class.new } + + describe '#enhance' do + context 'when the dependency is not managed by the `rubygems` 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: :rubygems, name: 'spandx', version: '0.1.0', expected: ['MIT'] }, + ].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 |
