Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/sbom/purl_type/converter_spec.rb')
-rw-r--r--spec/lib/sbom/purl_type/converter_spec.rb40
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