diff options
Diffstat (limited to 'spec/lib/sbom/purl_type/converter_spec.rb')
-rw-r--r-- | spec/lib/sbom/purl_type/converter_spec.rb | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/spec/lib/sbom/purl_type/converter_spec.rb b/spec/lib/sbom/purl_type/converter_spec.rb new file mode 100644 index 00000000000..2eb35c4d079 --- /dev/null +++ b/spec/lib/sbom/purl_type/converter_spec.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +require "spec_helper" + +RSpec.describe Sbom::PurlType::Converter, feature_category: :dependency_management do + describe '.purl_type_for_pkg_manager' do + using RSpec::Parameterized::TableSyntax + + subject(:actual_purl_type) { described_class.purl_type_for_pkg_manager(package_manager) } + + where(:given_package_manager, :expected_purl_type) do + 'bundler' | 'gem' + 'yarn' | 'npm' + 'npm' | 'npm' + 'pnpm' | 'npm' + 'maven' | 'maven' + 'sbt' | 'maven' + 'gradle' | 'maven' + 'composer' | 'composer' + 'conan' | 'conan' + 'go' | 'golang' + 'nuget' | 'nuget' + 'pip' | 'pypi' + 'pipenv' | 'pypi' + 'setuptools' | 'pypi' + 'Python (python-pkg)' | 'pypi' + 'analyzer (gobinary)' | 'golang' + 'unknown-pkg-manager' | nil + 'Python (unknown)' | nil + end + + with_them do + let(:package_manager) { given_package_manager } + + it 'returns the expected purl_type' do + expect(actual_purl_type).to eql(expected_purl_type) + end + end + end +end |