This is an automated email from the ASF dual-hosted git repository.

abeizn pushed a commit to branch release-v0.19
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git


The following commit(s) were added to refs/heads/release-v0.19 by this push:
     new 73dda86d1 cherry-pick fix(bamboo): set domain layer's repo_url field 
with an acceptable value to v0.19 (#6171)
73dda86d1 is described below

commit 73dda86d17f4f7229107087f8c2e9d4df45d0c2e
Author: Lynwee <[email protected]>
AuthorDate: Thu Sep 28 16:14:52 2023 +0800

    cherry-pick fix(bamboo): set domain layer's repo_url field with an 
acceptable value to v0.19 (#6171)
    
    * fix(bamboo): set domain layer's repo_url field with an acceptable value
    
    * fix(bamboo): fix e2e test
    
    * fix(bamboo): fix conflicts
    
    * fix(test): fix test case
---
 backend/plugins/bamboo/e2e/deploy_build_test.go    | 15 ++++++++--
 backend/plugins/bamboo/e2e/deploy_test.go          |  1 +
 backend/plugins/bamboo/e2e/job_build_test.go       |  1 +
 backend/plugins/bamboo/e2e/job_test.go             |  1 +
 .../plugins/bamboo/e2e/plan_build_commits_test.go  |  1 +
 backend/plugins/bamboo/e2e/plan_build_test.go      |  1 +
 backend/plugins/bamboo/e2e/plan_test.go            |  1 +
 .../snapshot_tables/cicd_deployment_commits.csv    | 16 +++++-----
 .../e2e/snapshot_tables/cicd_pipeline_commits.csv  | 22 +++++++-------
 .../plugins/bamboo/tasks/deploy_build_convertor.go |  7 +++++
 .../plugins/bamboo/tasks/plan_commit_convertor.go  |  8 ++++-
 backend/plugins/bamboo/tasks/shared.go             | 12 ++++++++
 backend/plugins/bamboo/tasks/shared_test.go        | 35 ++++++++++++++++++++++
 13 files changed, 98 insertions(+), 23 deletions(-)

diff --git a/backend/plugins/bamboo/e2e/deploy_build_test.go 
b/backend/plugins/bamboo/e2e/deploy_build_test.go
index 5db8e1861..b87e9c765 100644
--- a/backend/plugins/bamboo/e2e/deploy_build_test.go
+++ b/backend/plugins/bamboo/e2e/deploy_build_test.go
@@ -18,8 +18,6 @@ limitations under the License.
 package e2e
 
 import (
-       "testing"
-
        "github.com/apache/incubator-devlake/core/models/common"
        "github.com/apache/incubator-devlake/core/models/domainlayer/devops"
        "github.com/apache/incubator-devlake/helpers/e2ehelper"
@@ -27,8 +25,18 @@ import (
        "github.com/apache/incubator-devlake/plugins/bamboo/impl"
        "github.com/apache/incubator-devlake/plugins/bamboo/models"
        "github.com/apache/incubator-devlake/plugins/bamboo/tasks"
+       "testing"
+       "time"
 )
 
+func getFakeAPIClient() *helper.ApiAsyncClient {
+       client := &helper.ApiClient{}
+       client.Setup("http://127.0.0.1:8080/bamboo/";, nil, time.Second)
+       return &helper.ApiAsyncClient{
+               ApiClient: client,
+       }
+}
+
 func TestBambooDeployBuildDataFlow(t *testing.T) {
        var bamboo impl.Bamboo
        dataflowTester := e2ehelper.NewDataFlowTester(t, "bamboo", bamboo)
@@ -42,6 +50,7 @@ func TestBambooDeployBuildDataFlow(t *testing.T) {
                        },
                },
                RegexEnricher: helper.NewRegexEnricher(),
+               ApiClient:     getFakeAPIClient(),
        }
        taskData.RegexEnricher.TryAdd(devops.DEPLOYMENT, 
taskData.Options.DeploymentPattern)
        taskData.RegexEnricher.TryAdd(devops.PRODUCTION, 
taskData.Options.ProductionPattern)
@@ -89,6 +98,6 @@ func TestBambooDeployBuildDataFlow(t *testing.T) {
        dataflowTester.VerifyTableWithOptions(&devops.CicdDeploymentCommit{}, 
e2ehelper.TableOptions{
                CSVRelPath:   "./snapshot_tables/cicd_deployment_commits.csv",
                IgnoreTypes:  []interface{}{common.NoPKModel{}},
-               IgnoreFields: []string{"created_date", "started_date", 
"finished_date"},
+               IgnoreFields: []string{},
        })
 }
diff --git a/backend/plugins/bamboo/e2e/deploy_test.go 
b/backend/plugins/bamboo/e2e/deploy_test.go
index 62c7efc9b..54bf4a4a7 100644
--- a/backend/plugins/bamboo/e2e/deploy_test.go
+++ b/backend/plugins/bamboo/e2e/deploy_test.go
@@ -35,6 +35,7 @@ func TestBambooDeployDataFlow(t *testing.T) {
                        PlanKey:           "TEST1",
                        BambooScopeConfig: new(models.BambooScopeConfig),
                },
+               ApiClient: getFakeAPIClient(),
        }
 
        // import raw data table
diff --git a/backend/plugins/bamboo/e2e/job_build_test.go 
b/backend/plugins/bamboo/e2e/job_build_test.go
index 2f69c1963..5db603638 100644
--- a/backend/plugins/bamboo/e2e/job_build_test.go
+++ b/backend/plugins/bamboo/e2e/job_build_test.go
@@ -43,6 +43,7 @@ func TestBambooJobBuildDataFlow(t *testing.T) {
                        },
                },
                RegexEnricher: helper.NewRegexEnricher(),
+               ApiClient:     getFakeAPIClient(),
        }
        taskData.RegexEnricher.TryAdd(devops.DEPLOYMENT, 
taskData.Options.DeploymentPattern)
        // import raw data table
diff --git a/backend/plugins/bamboo/e2e/job_test.go 
b/backend/plugins/bamboo/e2e/job_test.go
index 419b062f0..dc89148e7 100644
--- a/backend/plugins/bamboo/e2e/job_test.go
+++ b/backend/plugins/bamboo/e2e/job_test.go
@@ -40,6 +40,7 @@ func TestBambooJobDataFlow(t *testing.T) {
                                ProductionPattern: "(?i)compile",
                        },
                },
+               ApiClient: getFakeAPIClient(),
        }
        // import raw data table
        // SELECT * FROM _raw_bamboo_api_job INTO OUTFILE 
"/tmp/_raw_bamboo_api_jobs.csv" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY 
'"' LINES TERMINATED BY '\r\n';
diff --git a/backend/plugins/bamboo/e2e/plan_build_commits_test.go 
b/backend/plugins/bamboo/e2e/plan_build_commits_test.go
index f52b894c8..ed8533481 100644
--- a/backend/plugins/bamboo/e2e/plan_build_commits_test.go
+++ b/backend/plugins/bamboo/e2e/plan_build_commits_test.go
@@ -42,6 +42,7 @@ func TestBambooPlanBuildCommitsDataFlow(t *testing.T) {
                                ProductionPattern: "(?i)compile",
                        },
                },
+               ApiClient: getFakeAPIClient(),
        }
        
dataflowTester.ImportCsvIntoTabler("./snapshot_tables/_tool_bamboo_plan_build_commits.csv",
 &models.BambooPlanBuildVcsRevision{})
        
dataflowTester.ImportCsvIntoTabler("./snapshot_tables/_tool_bamboo_plan_builds.csv",
 &models.BambooPlanBuild{})
diff --git a/backend/plugins/bamboo/e2e/plan_build_test.go 
b/backend/plugins/bamboo/e2e/plan_build_test.go
index e83654e80..ca9755d35 100644
--- a/backend/plugins/bamboo/e2e/plan_build_test.go
+++ b/backend/plugins/bamboo/e2e/plan_build_test.go
@@ -44,6 +44,7 @@ func TestBambooPlanBuildDataFlow(t *testing.T) {
                        },
                },
                RegexEnricher: helper.NewRegexEnricher(),
+               ApiClient:     getFakeAPIClient(),
        }
        taskData.RegexEnricher.TryAdd(devops.DEPLOYMENT, 
taskData.Options.DeploymentPattern)
        taskData.RegexEnricher.TryAdd(devops.PRODUCTION, 
taskData.Options.ProductionPattern)
diff --git a/backend/plugins/bamboo/e2e/plan_test.go 
b/backend/plugins/bamboo/e2e/plan_test.go
index a8757081a..09987c8b1 100644
--- a/backend/plugins/bamboo/e2e/plan_test.go
+++ b/backend/plugins/bamboo/e2e/plan_test.go
@@ -39,6 +39,7 @@ func TestBambooPlanDataFlow(t *testing.T) {
                        PlanKey:           "TEST1",
                        BambooScopeConfig: new(models.BambooScopeConfig),
                },
+               ApiClient: getFakeAPIClient(),
        }
 
        
dataflowTester.ImportCsvIntoTabler("./snapshot_tables/_tool_bamboo_plans.csv", 
models.BambooPlan{})
diff --git 
a/backend/plugins/bamboo/e2e/snapshot_tables/cicd_deployment_commits.csv 
b/backend/plugins/bamboo/e2e/snapshot_tables/cicd_deployment_commits.csv
index 677e0cca3..20182662e 100644
--- a/backend/plugins/bamboo/e2e/snapshot_tables/cicd_deployment_commits.csv
+++ b/backend/plugins/bamboo/e2e/snapshot_tables/cicd_deployment_commits.csv
@@ -1,8 +1,8 @@
-id,commit_sha,cicd_scope_id,cicd_deployment_id,name,result,status,environment,duration_sec,ref_name,repo_id,repo_url,prev_success_deployment_commit_id
-bamboo:BambooDeployBuild:1:1540097,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540097,release-1,FAILURE,DONE,dev,0,,622595,,
-bamboo:BambooDeployBuild:1:1540100,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540100,release-1,FAILURE,DONE,dev,0,,622595,,
-bamboo:BambooDeployBuild:1:1540101,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540101,release-2,FAILURE,DONE,dev,0,,622595,,
-bamboo:BambooDeployBuild:1:1540102,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540102,release-2,,DONE,dev,0,,622595,,
-bamboo:BambooDeployBuild:1:1540105,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540105,release-2,,DONE,dev,0,,622595,,
-bamboo:BambooDeployBuild:1:1540106,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540106,release-2,,DONE,dev,0,,622595,,
-bamboo:BambooDeployBuild:1:1540117,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540117,release-3,,DONE,dev,0,,622595,,
+id,commit_sha,cicd_scope_id,cicd_deployment_id,name,result,status,environment,created_date,started_date,finished_date,duration_sec,ref_name,repo_id,repo_url,prev_success_deployment_commit_id
+bamboo:BambooDeployBuild:1:1540097,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540097,release-1,FAILURE,DONE,dev,2023-07-31T10:16:41.000+00:00,2023-07-31T10:16:41.000+00:00,2023-07-31T10:16:41.000+00:00,0,,622595,fake://127.0.0.1:8080/repos/622595,
+bamboo:BambooDeployBuild:1:1540100,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540100,release-1,FAILURE,DONE,dev,2023-07-31T11:50:10.000+00:00,2023-07-31T11:50:10.000+00:00,2023-07-31T11:50:10.000+00:00,0,,622595,fake://127.0.0.1:8080/repos/622595,
+bamboo:BambooDeployBuild:1:1540101,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540101,release-2,FAILURE,DONE,dev,2023-07-31T11:51:14.000+00:00,2023-07-31T11:51:14.000+00:00,2023-07-31T11:51:14.000+00:00,0,,622595,fake://127.0.0.1:8080/repos/622595,
+bamboo:BambooDeployBuild:1:1540102,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540102,release-2,,DONE,dev,2023-07-31T11:52:32.000+00:00,2023-07-31T11:52:32.000+00:00,2023-07-31T11:52:32.000+00:00,0,,622595,fake://127.0.0.1:8080/repos/622595,
+bamboo:BambooDeployBuild:1:1540105,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540105,release-2,,DONE,dev,2023-08-01T09:31:53.000+00:00,2023-08-01T09:31:53.000+00:00,2023-08-01T09:31:53.000+00:00,0,,622595,fake://127.0.0.1:8080/repos/622595,
+bamboo:BambooDeployBuild:1:1540106,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540106,release-2,,DONE,dev,2023-08-01T09:32:00.000+00:00,2023-08-01T09:32:00.000+00:00,2023-08-01T09:32:00.000+00:00,0,,622595,fake://127.0.0.1:8080/repos/622595,
+bamboo:BambooDeployBuild:1:1540117,79b062bd53af15c701193c90b543386557cb7a3a,bamboo:BambooPlan:1:TEST-PLA2,bamboo:BambooDeployBuild:1:1540117,release-3,,DONE,dev,2023-08-03T09:49:07.000+00:00,2023-08-03T09:49:07.000+00:00,2023-08-03T09:49:07.000+00:00,0,,622595,fake://127.0.0.1:8080/repos/622595,
diff --git 
a/backend/plugins/bamboo/e2e/snapshot_tables/cicd_pipeline_commits.csv 
b/backend/plugins/bamboo/e2e/snapshot_tables/cicd_pipeline_commits.csv
index 1a18d25dd..dafc2e66e 100644
--- a/backend/plugins/bamboo/e2e/snapshot_tables/cicd_pipeline_commits.csv
+++ b/backend/plugins/bamboo/e2e/snapshot_tables/cicd_pipeline_commits.csv
@@ -1,12 +1,12 @@
 pipeline_id,commit_sha,branch,repo_id,repo_url
-bamboo:BambooPlanBuild:1:TEST-PLA2-10,79b062bd53af15c701193c90b543386557cb7a3a,,,devlake-louis
-bamboo:BambooPlanBuild:1:TEST-PLA2-11,79b062bd53af15c701193c90b543386557cb7a3a,,,devlake-louis
-bamboo:BambooPlanBuild:1:TEST-PLA2-12,79b062bd53af15c701193c90b543386557cb7a3a,,,devlake-louis
-bamboo:BambooPlanBuild:1:TEST-PLA2-2,79b062bd53af15c701193c90b543386557cb7a3a,,,devlake-louis
-bamboo:BambooPlanBuild:1:TEST-PLA2-3,79b062bd53af15c701193c90b543386557cb7a3a,,,devlake-louis
-bamboo:BambooPlanBuild:1:TEST-PLA2-4,79b062bd53af15c701193c90b543386557cb7a3a,,,devlake-louis
-bamboo:BambooPlanBuild:1:TEST-PLA2-5,79b062bd53af15c701193c90b543386557cb7a3a,,,devlake-louis
-bamboo:BambooPlanBuild:1:TEST-PLA2-6,79b062bd53af15c701193c90b543386557cb7a3a,,,devlake-louis
-bamboo:BambooPlanBuild:1:TEST-PLA2-7,79b062bd53af15c701193c90b543386557cb7a3a,,,devlake-louis
-bamboo:BambooPlanBuild:1:TEST-PLA2-8,79b062bd53af15c701193c90b543386557cb7a3a,,,devlake-louis
-bamboo:BambooPlanBuild:1:TEST-PLA2-9,79b062bd53af15c701193c90b543386557cb7a3a,,,devlake-louis
+bamboo:BambooPlanBuild:1:TEST-PLA2-10,79b062bd53af15c701193c90b543386557cb7a3a,,,fake://127.0.0.1:8080/repos/622595
+bamboo:BambooPlanBuild:1:TEST-PLA2-11,79b062bd53af15c701193c90b543386557cb7a3a,,,fake://127.0.0.1:8080/repos/622595
+bamboo:BambooPlanBuild:1:TEST-PLA2-12,79b062bd53af15c701193c90b543386557cb7a3a,,,fake://127.0.0.1:8080/repos/622595
+bamboo:BambooPlanBuild:1:TEST-PLA2-2,79b062bd53af15c701193c90b543386557cb7a3a,,,fake://127.0.0.1:8080/repos/622595
+bamboo:BambooPlanBuild:1:TEST-PLA2-3,79b062bd53af15c701193c90b543386557cb7a3a,,,fake://127.0.0.1:8080/repos/622595
+bamboo:BambooPlanBuild:1:TEST-PLA2-4,79b062bd53af15c701193c90b543386557cb7a3a,,,fake://127.0.0.1:8080/repos/622595
+bamboo:BambooPlanBuild:1:TEST-PLA2-5,79b062bd53af15c701193c90b543386557cb7a3a,,,fake://127.0.0.1:8080/repos/622595
+bamboo:BambooPlanBuild:1:TEST-PLA2-6,79b062bd53af15c701193c90b543386557cb7a3a,,,fake://127.0.0.1:8080/repos/622595
+bamboo:BambooPlanBuild:1:TEST-PLA2-7,79b062bd53af15c701193c90b543386557cb7a3a,,,fake://127.0.0.1:8080/repos/622595
+bamboo:BambooPlanBuild:1:TEST-PLA2-8,79b062bd53af15c701193c90b543386557cb7a3a,,,fake://127.0.0.1:8080/repos/622595
+bamboo:BambooPlanBuild:1:TEST-PLA2-9,79b062bd53af15c701193c90b543386557cb7a3a,,,fake://127.0.0.1:8080/repos/622595
diff --git a/backend/plugins/bamboo/tasks/deploy_build_convertor.go 
b/backend/plugins/bamboo/tasks/deploy_build_convertor.go
index f413ee2e2..613da69eb 100644
--- a/backend/plugins/bamboo/tasks/deploy_build_convertor.go
+++ b/backend/plugins/bamboo/tasks/deploy_build_convertor.go
@@ -59,6 +59,7 @@ func (deployBuildWithVcsRevision deployBuildWithVcsRevision) 
GenerateCICDDeploym
 
 func ConvertDeployBuilds(taskCtx plugin.SubTaskContext) errors.Error {
        db := taskCtx.GetDal()
+       logger := taskCtx.GetLogger()
        rawDataSubTaskArgs, data := CreateRawDataSubTaskArgs(taskCtx, 
RAW_JOB_BUILD_TABLE)
        cursor, err := db.Cursor(
                dal.Select("db.*, pbc.repository_id, pbc.repository_name, 
pbc.vcs_revision_key, p.name as project_plan_name, p.project_name"),
@@ -120,6 +121,12 @@ func ConvertDeployBuilds(taskCtx plugin.SubTaskContext) 
errors.Error {
                                duration := 
uint64(input.FinishedDate.Sub(*input.StartedDate).Seconds())
                                deploymentCommit.DurationSec = &duration
                        }
+                       fakeRepoUrl, err := 
generateFakeRepoUrl(data.ApiClient.GetEndpoint(), input.RepositoryId)
+                       if err != nil {
+                               logger.Warn(err, "generate fake repo url, 
endpoint: %s, repo id: %d", data.ApiClient.GetEndpoint(), input.RepositoryId)
+                       } else {
+                               deploymentCommit.RepoUrl = fakeRepoUrl
+                       }
 
                        return []interface{}{deploymentCommit}, nil
                },
diff --git a/backend/plugins/bamboo/tasks/plan_commit_convertor.go 
b/backend/plugins/bamboo/tasks/plan_commit_convertor.go
index a6d891eb9..ec9384b49 100644
--- a/backend/plugins/bamboo/tasks/plan_commit_convertor.go
+++ b/backend/plugins/bamboo/tasks/plan_commit_convertor.go
@@ -40,6 +40,7 @@ var ConvertPlanVcsMeta = plugin.SubTaskMeta{
 
 func ConvertPlanVcs(taskCtx plugin.SubTaskContext) errors.Error {
        db := taskCtx.GetDal()
+       logger := taskCtx.GetLogger()
        rawDataSubTaskArgs, data := CreateRawDataSubTaskArgs(taskCtx, 
RAW_PLAN_BUILD_TABLE)
        cursor, err := db.Cursor(
                dal.From(&models.BambooPlanBuildVcsRevision{}),
@@ -61,9 +62,14 @@ func ConvertPlanVcs(taskCtx plugin.SubTaskContext) 
errors.Error {
                        domainPlanVcs := &devops.CiCDPipelineCommit{
                                PipelineId: 
planBuildIdGen.Generate(data.Options.ConnectionId, line.PlanBuildKey),
                                CommitSha:  line.VcsRevisionKey,
-                               RepoUrl:    line.RepositoryName,
                        }
                        domainPlanVcs.RepoId = repoMap[line.RepositoryId]
+                       fakeRepoUrl, err := 
generateFakeRepoUrl(data.ApiClient.GetEndpoint(), line.RepositoryId)
+                       if err != nil {
+                               logger.Warn(err, "generate fake repo url, 
endpoint: %s, repo id: %d", data.ApiClient.GetEndpoint(), line.RepositoryId)
+                       } else {
+                               domainPlanVcs.RepoUrl = fakeRepoUrl
+                       }
                        return []interface{}{
                                domainPlanVcs,
                        }, nil
diff --git a/backend/plugins/bamboo/tasks/shared.go 
b/backend/plugins/bamboo/tasks/shared.go
index f74af27a1..0d834a0f0 100644
--- a/backend/plugins/bamboo/tasks/shared.go
+++ b/backend/plugins/bamboo/tasks/shared.go
@@ -103,3 +103,15 @@ func getBambooHomePage(endpoint string) (string, error) {
                return fmt.Sprintf("%s://%s%s", protocol, host, bambooPath), nil
        }
 }
+
+// generateFakeRepoUrl will return a fake url for repo url field.
+func generateFakeRepoUrl(endpoint string, repoId int) (string, error) {
+       if endpoint == "" {
+               return "", errors.Default.New("empty endpoint")
+       }
+       endpointURL, err := url.Parse(endpoint)
+       if err != nil {
+               return "", err
+       }
+       return fmt.Sprintf("fake://%s/repos/%d", endpointURL.Host, repoId), nil
+}
diff --git a/backend/plugins/bamboo/tasks/shared_test.go 
b/backend/plugins/bamboo/tasks/shared_test.go
index 462408cd2..941643c48 100644
--- a/backend/plugins/bamboo/tasks/shared_test.go
+++ b/backend/plugins/bamboo/tasks/shared_test.go
@@ -79,3 +79,38 @@ func Test_getBambooWebURL(t *testing.T) {
                })
        }
 }
+
+func Test_generateFakeRepoURL(t *testing.T) {
+       type args struct {
+               endpoint string
+               repoID   int
+       }
+       tests := []struct {
+               name    string
+               args    args
+               want    string
+               wantErr bool
+       }{
+               {
+                       name: "t-1",
+                       args: args{
+                               endpoint: "http://127.0.0.1:8080/abc";,
+                               repoID:   123,
+                       },
+                       want:    "fake://127.0.0.1:8080/repos/123",
+                       wantErr: false,
+               },
+       }
+       for _, tt := range tests {
+               t.Run(tt.name, func(t *testing.T) {
+                       got, err := generateFakeRepoUrl(tt.args.endpoint, 
tt.args.repoID)
+                       if (err != nil) != tt.wantErr {
+                               t.Errorf("generateFakeRepoUrl() error = %v, 
wantErr %v", err, tt.wantErr)
+                               return
+                       }
+                       if got != tt.want {
+                               t.Errorf("generateFakeRepoUrl() got = %v, want 
%v", got, tt.want)
+                       }
+               })
+       }
+}

Reply via email to