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
path: root/spec
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-08-10 20:41:15 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-08-10 20:41:15 +0300
commit3abfe4afb90054d7b8af276775e528551a4a5a32 (patch)
treeef93a2a7711da0e3666b84a8c2e6ae11301c569e /spec
parent26dd7eec86080ea304eae663500455b96bbcfa1b (diff)
Add latest changes from gitlab-org/gitlab@16-2-stable-ee
Diffstat (limited to 'spec')
-rw-r--r--spec/lib/sbom/purl_type/converter_spec.rb40
-rw-r--r--spec/models/concerns/enums/sbom_spec.rb38
2 files changed, 78 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
diff --git a/spec/models/concerns/enums/sbom_spec.rb b/spec/models/concerns/enums/sbom_spec.rb
new file mode 100644
index 00000000000..41670880630
--- /dev/null
+++ b/spec/models/concerns/enums/sbom_spec.rb
@@ -0,0 +1,38 @@
+# frozen_string_literal: true
+
+require "spec_helper"
+
+RSpec.describe Enums::Sbom, feature_category: :dependency_management do
+ describe '.purl_types' do
+ using RSpec::Parameterized::TableSyntax
+
+ subject(:actual_purl_type) { described_class.purl_types[package_manager] }
+
+ where(:given_package_manager, :expected_purl_type) do
+ :composer | 1
+ 'composer' | 1
+ :conan | 2
+ 'conan' | 2
+ :gem | 3
+ :golang | 4
+ :maven | 5
+ :npm | 6
+ :nuget | 7
+ :pypi | 8
+ :apk | 9
+ :rpm | 10
+ :deb | 11
+ :cbl_mariner | 12
+ 'unknown-pkg-manager' | 0
+ 'Python (unknown)' | 0
+ 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