diff options
| author | mo khan <mo@mokhan.ca> | 2021-06-02 22:30:28 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2021-06-02 22:30:28 -0600 |
| commit | 049a6dca73e45e04a22cc394607ad32afac66ad9 (patch) | |
| tree | 043abfd2cef9b88dfd72b561ae9ee963dac99692 | |
| parent | fca4dbce6b9157d653c5cc0509b3a9f07ac3b5db (diff) | |
fix: map lockfile to package manager
| -rw-r--r-- | lib/spandx/core/dependency.rb | 2 | ||||
| -rw-r--r-- | spec/unit/core/dependency_spec.rb | 15 |
2 files changed, 17 insertions, 0 deletions
diff --git a/lib/spandx/core/dependency.rb b/lib/spandx/core/dependency.rb index ef169a1..1ed5b06 100644 --- a/lib/spandx/core/dependency.rb +++ b/lib/spandx/core/dependency.rb @@ -14,6 +14,8 @@ module Spandx Spandx::Python::Parsers::PipfileLock => :pypi, Spandx::Ruby::Parsers::GemfileLock => :rubygems, Spandx::Os::Parsers::Apk => :apk, + Spandx::Os::Parsers::Dpkg => :dpkg, + Spandx::Terraform::Parsers::LockFile => :terraform, }.freeze attr_reader :path, :name, :version, :licenses, :meta diff --git a/spec/unit/core/dependency_spec.rb b/spec/unit/core/dependency_spec.rb index 4fe328a..0aebfe3 100644 --- a/spec/unit/core/dependency_spec.rb +++ b/spec/unit/core/dependency_spec.rb @@ -40,4 +40,19 @@ RSpec.describe Spandx::Core::Dependency do specify { expect(build('abc', '0.1.0').hash).not_to eql(build('abc', '0.0.0').hash) } specify { expect(build('xyz', '0.1.0').hash).not_to eql(build('abc', '0.1.0').hash) } end + + describe '#package_manager' do + specify { expect(build('x', '0.1.0', path: fixture_file('bundler/Gemfile.lock')).package_manager).to eq(:rubygems) } + specify { expect(build('x', '0.1.0', path: fixture_file('composer/composer.lock')).package_manager).to eq(:composer) } + specify { expect(build('x', '0.1.0', path: fixture_file('js/npm/package-lock.json')).package_manager).to eq(:npm) } + specify { expect(build('x', '0.1.0', path: fixture_file('js/yarn.lock')).package_manager).to eq(:yarn) } + specify { expect(build('x', '0.1.0', path: fixture_file('maven/pom.xml')).package_manager).to eq(:maven) } + specify { expect(build('x', '0.1.0', path: fixture_file('nuget/empty.sln')).package_manager).to eq(:nuget) } + specify { expect(build('x', '0.1.0', path: fixture_file('nuget/example.csproj')).package_manager).to eq(:nuget) } + specify { expect(build('x', '0.1.0', path: fixture_file('nuget/packages.config')).package_manager).to eq(:nuget) } + specify { expect(build('x', '0.1.0', path: fixture_file('os/lib/apk/db/installed')).package_manager).to eq(:apk) } + specify { expect(build('x', '0.1.0', path: fixture_file('os/var/lib/dpkg/status')).package_manager).to eq(:dpkg) } + specify { expect(build('x', '0.1.0', path: fixture_file('pip/Pipfile.lock')).package_manager).to eq(:pypi) } + specify { expect(build('x/y', '0.1.0', path: fixture_file('terraform/simple/.terraform.lock.hcl')).package_manager).to eq(:terraform) } + end end |
