summaryrefslogtreecommitdiff
path: root/spec/unit/ruby
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-04-10 16:34:30 -0600
committermo khan <mo.khan@gmail.com>2020-04-10 16:34:30 -0600
commit6f21aafc85483be2729ff4e95de4d4d7bd71b584 (patch)
treef5dbc5c3464f71d0375c1700c2a663a80517d4f3 /spec/unit/ruby
parent1e25dc55d843886b06517fa813dc9f65c2777f83 (diff)
Resolve licenses from a central location
Diffstat (limited to 'spec/unit/ruby')
-rw-r--r--spec/unit/ruby/parsers/gemfile_lock_spec.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/spec/unit/ruby/parsers/gemfile_lock_spec.rb b/spec/unit/ruby/parsers/gemfile_lock_spec.rb
new file mode 100644
index 0000000..fd9eb89
--- /dev/null
+++ b/spec/unit/ruby/parsers/gemfile_lock_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+RSpec.describe Spandx::Ruby::Parsers::GemfileLock do
+ subject { described_class.new(catalogue: catalogue) }
+
+ let(:catalogue) { Spandx::Spdx::Catalogue.from_file(fixture_file('spdx/json/licenses.json')) }
+
+ describe '#parse' do
+ context 'when parsing a Gemfile with a single dependency' do
+ let(:lockfile) { fixture_file('bundler/Gemfile.lock') }
+ let(:because) do
+ VCR.use_cassette(File.basename(lockfile)) do
+ subject.parse(lockfile)
+ end
+ end
+
+ specify { expect(because.count).to be(1) }
+ specify { expect(because[0].name).to eql('net-hippie') }
+ specify { expect(because[0].version).to eql('0.2.7') }
+ specify { expect(because[0].licenses.map(&:id)).to match_array(['MIT']) }
+ end
+ end
+end