From 4ba04b47c4834ed97799802094cd33cf593f70c8 Mon Sep 17 00:00:00 2001
From: Bastian <bastian.ike@aoe.com>
Date: Sun, 4 Sep 2022 18:49:31 +0200
Subject: [PATCH] fix(gomod): explicitly match Gitlab ID for gitlab enterprise
 servers (#17611)

---
 lib/modules/datasource/go/base.spec.ts | 11 ++++++-----
 lib/modules/datasource/go/base.ts      |  6 +-----
 2 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/lib/modules/datasource/go/base.spec.ts b/lib/modules/datasource/go/base.spec.ts
index c2d2c0c468..517cb5d811 100644
--- a/lib/modules/datasource/go/base.spec.ts
+++ b/lib/modules/datasource/go/base.spec.ts
@@ -1,6 +1,7 @@
 import { Fixtures } from '../../../../test/fixtures';
 import * as httpMock from '../../../../test/http-mock';
 import { mocked } from '../../../../test/util';
+import { PlatformId } from '../../../constants';
 import * as _hostRules from '../../../util/host-rules';
 import { GithubTagsDatasource } from '../github-tags';
 import { GitlabTagsDatasource } from '../gitlab-tags';
@@ -202,7 +203,7 @@ describe('modules/datasource/go/base', () => {
       });
 
       it('supports GitLab EE deps', async () => {
-        hostRules.find.mockReturnValue({ token: 'some-token' });
+        hostRules.hostType.mockReturnValue(PlatformId.Gitlab);
         httpMock
           .scope('https://my.custom.domain')
           .get('/golang/myrepo?go-get=1')
@@ -220,7 +221,7 @@ describe('modules/datasource/go/base', () => {
       });
 
       it('supports GitLab EE deps in subgroup', async () => {
-        hostRules.find.mockReturnValue({ token: 'some-token' });
+        hostRules.hostType.mockReturnValue(PlatformId.Gitlab);
         httpMock
           .scope('https://my.custom.domain')
           .get('/golang/subgroup/myrepo?go-get=1')
@@ -238,7 +239,7 @@ describe('modules/datasource/go/base', () => {
       });
 
       it('supports GitLab EE deps in subgroup with version', async () => {
-        hostRules.find.mockReturnValue({ token: 'some-token' });
+        hostRules.hostType.mockReturnValue(PlatformId.Gitlab);
         httpMock
           .scope('https://my.custom.domain')
           .get('/golang/subgroup/myrepo/v2?go-get=1')
@@ -256,7 +257,7 @@ describe('modules/datasource/go/base', () => {
       });
 
       it('supports GitLab EE deps in private subgroup with vcs indicator', async () => {
-        hostRules.find.mockReturnValue({ token: 'some-token' });
+        hostRules.hostType.mockReturnValue(PlatformId.Gitlab);
         httpMock
           .scope('https://my.custom.domain')
           .get('/golang/subgroup/myrepo.git/v2?go-get=1')
@@ -274,7 +275,7 @@ describe('modules/datasource/go/base', () => {
       });
 
       it('supports GitLab EE monorepo deps in subgroup', async () => {
-        hostRules.find.mockReturnValue({ token: 'some-token' });
+        hostRules.hostType.mockReturnValue(PlatformId.Gitlab);
         httpMock
           .scope('https://my.custom.domain')
           .get('/golang/subgroup/myrepo/monorepo?go-get=1')
diff --git a/lib/modules/datasource/go/base.ts b/lib/modules/datasource/go/base.ts
index 8c75bb0709..4e8f00ff83 100644
--- a/lib/modules/datasource/go/base.ts
+++ b/lib/modules/datasource/go/base.ts
@@ -137,11 +137,7 @@ export class BaseGoDatasource {
       };
     }
 
-    const opts = hostRules.find({
-      hostType: PlatformId.Gitlab,
-      url: goSourceUrl,
-    });
-    if (opts.token) {
+    if (hostRules.hostType({ url: goSourceUrl }) === PlatformId.Gitlab) {
       // get server base url from import url
       const parsedUrl = URL.parse(goSourceUrl);
 
-- 
GitLab