From 26c258da68d984751ab9de39337f949a30bd0301 Mon Sep 17 00:00:00 2001
From: Olivier Gonzalez <ogonzalez@gitlab.com>
Date: Wed, 8 May 2024 16:57:22 -0400
Subject: [PATCH] Normalize golang component name when looking up their license

Changelog: fixed
---
 ee/spec/lib/gitlab/license_scanning/sbom_scanner_spec.rb | 4 ++--
 lib/sbom/package_url/normalizer.rb                       | 2 +-
 spec/lib/sbom/package_url/normalizer_spec.rb             | 9 +++++++++
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/ee/spec/lib/gitlab/license_scanning/sbom_scanner_spec.rb b/ee/spec/lib/gitlab/license_scanning/sbom_scanner_spec.rb
index bb3b53b98e028..6982bfc499f0c 100644
--- a/ee/spec/lib/gitlab/license_scanning/sbom_scanner_spec.rb
+++ b/ee/spec/lib/gitlab/license_scanning/sbom_scanner_spec.rb
@@ -262,7 +262,7 @@
           id: 7
         },
         {
-          name: "github.com/google/uuid",
+          name: "github.com/google/UUID",
           package_manager: "analyzer (gobinary)",
           version: "v1.3.0",
           id: 8
@@ -312,7 +312,7 @@
           licenses: [{ name: "unknown", url: nil }] },
         { name: "pytz", package_manager: "Python (python-pkg)", version: "2023.3", id: 7,
           licenses: [{ name: "BSD-4-Clause", url: "https://spdx.org/licenses/BSD-4-Clause.html" }] },
-        { name: "github.com/google/uuid", package_manager: "analyzer (gobinary)", version: "v1.3.0", id: 8,
+        { name: "github.com/google/UUID", package_manager: "analyzer (gobinary)", version: "v1.3.0", id: 8,
           licenses: [{ name: "Open LDAP Public License v2.4", url: "https://spdx.org/licenses/OLDAP-2.4.html" }] },
         { name: "adduser", package_manager: "debian:12.1 (apt)", version: "3.134", id: 9,
           licenses: [{ name: "unknown", url: nil }] }
diff --git a/lib/sbom/package_url/normalizer.rb b/lib/sbom/package_url/normalizer.rb
index 7b503160ccebc..99191565fe0db 100644
--- a/lib/sbom/package_url/normalizer.rb
+++ b/lib/sbom/package_url/normalizer.rb
@@ -27,7 +27,7 @@ def normalize_name
 
       def normalize
         case type
-        when 'bitbucket', 'github'
+        when 'bitbucket', 'github', 'golang'
           downcase
         when 'pypi'
           normalize_pypi
diff --git a/spec/lib/sbom/package_url/normalizer_spec.rb b/spec/lib/sbom/package_url/normalizer_spec.rb
index 89a475bb31ef7..57f321c1610f4 100644
--- a/spec/lib/sbom/package_url/normalizer_spec.rb
+++ b/spec/lib/sbom/package_url/normalizer_spec.rb
@@ -25,6 +25,15 @@
       end
     end
 
+    context 'with golang url' do
+      let(:type) { 'golang' }
+      let(:text) { 'github.com/Docker/docker' }
+
+      it 'downcases text' do
+        is_expected.to eq('github.com/docker/docker')
+      end
+    end
+
     context 'with pypi url' do
       let(:type) { 'pypi' }
 
-- 
GitLab