From b5b4ecfc798b3efcb2be4c737917a3b7c87206fe Mon Sep 17 00:00:00 2001 From: wuhuizuo Date: Tue, 21 May 2024 12:41:59 +0800 Subject: [PATCH] fix(tibuild): fix tests Signed-off-by: wuhuizuo --- tibuild/pkg/rest/repo/dev_build_repo.go | 9 ++++----- tibuild/pkg/rest/repo/dev_build_repo_test.go | 16 +++++++++------- .../pkg/rest/service/cloud_event_client_test.go | 2 +- .../pkg/rest/service/dev_build_service_test.go | 2 +- 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/tibuild/pkg/rest/repo/dev_build_repo.go b/tibuild/pkg/rest/repo/dev_build_repo.go index 4d59078..154efac 100644 --- a/tibuild/pkg/rest/repo/dev_build_repo.go +++ b/tibuild/pkg/rest/repo/dev_build_repo.go @@ -52,7 +52,7 @@ func (m DevBuildRepo) Update(ctx context.Context, id int, req DevBuild) (resp *D return &req, nil } -func (m DevBuildRepo) List(ctx context.Context, option DevBuildListOption) (resp []*DevBuild, err error) { +func (m DevBuildRepo) List(ctx context.Context, option DevBuildListOption) ([]DevBuild, error) { db := m.Db.Order("created_at DESC").Offset(int(option.Offset)).Limit(int(option.Size)) if option.Hotfix != nil { db = db.Where(&DevBuild{Spec: DevBuildSpec{IsHotfix: *option.Hotfix}}, "IsHotfix") @@ -61,19 +61,18 @@ func (m DevBuildRepo) List(ctx context.Context, option DevBuildListOption) (resp db = db.Where(&DevBuild{Meta: DevBuildMeta{CreatedBy: *option.CreatedBy}}, "CreatedBy") } - result := []*DevBuild{} + result := []DevBuild{} if err := db.Find(&result).Error; err != nil { return nil, fmt.Errorf("%s%w", err.Error(), ErrInternalError) } for i := range result { - err = outofDB(result[i]) - if err != nil { + if err := outofDB(&result[i]); err != nil { return nil, err } } - return result, err + return result, nil } func intoDB(entity *DevBuild) (err error) { diff --git a/tibuild/pkg/rest/repo/dev_build_repo_test.go b/tibuild/pkg/rest/repo/dev_build_repo_test.go index 1265633..4d5a5e4 100644 --- a/tibuild/pkg/rest/repo/dev_build_repo_test.go +++ b/tibuild/pkg/rest/repo/dev_build_repo_test.go @@ -23,8 +23,10 @@ func TestDevBuildCreate(t *testing.T) { repo := DevBuildRepo{Db: odb} mock.ExpectBegin() now := time.Unix(1, 0) - mock.ExpectExec("INSERT INTO `dev_builds`").WithArgs(now, "", now, ProductBr, "", "v6.7.0", CommunityEdition, "", - "AA=BB", "https://raw.example.com/Dockerfile", "", "pingcap/builder", "", false, "", false, "" /* target_img */, JenkinsEngine, "" /* githash */, "PENDING", 0, "", nil, nil, json.RawMessage("null"), json.RawMessage("null")).WillReturnResult(sqlmock.NewResult(1, 1)) + mock.ExpectExec("INSERT INTO `dev_builds`").WithArgs(now, "", now, ProductBr, "", "", "v6.7.0", CommunityEdition, "", + "AA=BB", "https://raw.example.com/Dockerfile", "", "pingcap/builder", "", false, "", false, "", /* target_img */ + JenkinsEngine, "PENDING", 0, "", nil, nil, + json.RawMessage("null"), json.RawMessage("null")).WillReturnResult(sqlmock.NewResult(1, 1)) mock.ExpectCommit() entity, err := repo.Create(context.TODO(), DevBuild{ @@ -67,7 +69,7 @@ func TestDevBuildUpdate(t *testing.T) { tekton_text, err := json.Marshal(tekton_status) require.NoError(t, err) mock.ExpectBegin() - mock.ExpectExec("UPDATE `dev_builds` SET").WithArgs(now, "", sqlmock.AnyArg(), ProductBr, "", "", "", "", "", "", "", "", "", false, "", false, "", "", "" /* GitHash */, "SUCCESS", 0, "", nil, nil, report_text, tekton_text, 1).WillReturnResult(sqlmock.NewResult(1, 1)) + mock.ExpectExec("UPDATE `dev_builds` SET").WithArgs(now, "", sqlmock.AnyArg(), ProductBr, "", "", "", "", "", "", "", "", "", "", false, "", false, "", "", "SUCCESS", 0, "", nil, nil, report_text, tekton_text, 1).WillReturnResult(sqlmock.NewResult(1, 1)) mock.ExpectCommit() entity, err := repo.Update(context.TODO(), 1, @@ -89,7 +91,7 @@ func TestDevBuildGet(t *testing.T) { repo := DevBuildRepo{Db: odb} t.Run("proccessing", func(t *testing.T) { rows := sqlmock.NewRows([]string{"id", "status"}).AddRow(1, BuildStatusProcessing) - mock.ExpectQuery("SELECT \\* FROM `dev_builds` WHERE `dev_builds`.`id` = \\? LIMIT 1").WillReturnRows(rows) + mock.ExpectQuery("SELECT \\* FROM `dev_builds` WHERE `dev_builds`.`id` = \\? LIMIT \\?").WillReturnRows(rows) entity, err := repo.Get(context.TODO(), 1) require.NoError(t, err) require.Nil(t, entity.Status.BuildReport) @@ -100,7 +102,7 @@ func TestDevBuildGet(t *testing.T) { report_text, err := json.Marshal(report) require.NoError(t, err) rows := sqlmock.NewRows([]string{"id", "status", "build_report"}).AddRow(1, BuildStatusSuccess, report_text) - mock.ExpectQuery("SELECT \\* FROM `dev_builds` WHERE `dev_builds`.`id` = \\? LIMIT 1").WillReturnRows(rows) + mock.ExpectQuery("SELECT \\* FROM `dev_builds` WHERE `dev_builds`.`id` = \\? LIMIT \\?").WillReturnRows(rows) entity, err := repo.Get(context.TODO(), 1) require.NoError(t, err) require.Equal(t, report, *entity.Status.BuildReport) @@ -111,14 +113,14 @@ func TestDevBuildGet(t *testing.T) { tekton_text, err := json.Marshal(tekton) require.NoError(t, err) rows := sqlmock.NewRows([]string{"id", "status", "tekton_status"}).AddRow(1, BuildStatusSuccess, tekton_text) - mock.ExpectQuery("SELECT \\* FROM `dev_builds` WHERE `dev_builds`.`id` = \\? LIMIT 1").WillReturnRows(rows) + mock.ExpectQuery("SELECT \\* FROM `dev_builds` WHERE `dev_builds`.`id` = \\? LIMIT \\?").WillReturnRows(rows) entity, err := repo.Get(context.TODO(), 1) require.NoError(t, err) require.Equal(t, tekton, *entity.Status.TektonStatus) require.Empty(t, entity.Status.TektonStatusJson) }) t.Run("not found", func(t *testing.T) { - mock.ExpectQuery("SELECT \\* FROM `dev_builds` WHERE `dev_builds`.`id` = \\? LIMIT 1").WillReturnError(gorm.ErrRecordNotFound) + mock.ExpectQuery("SELECT \\* FROM `dev_builds` WHERE `dev_builds`.`id` = \\? LIMIT \\?").WillReturnError(gorm.ErrRecordNotFound) entity, err := repo.Get(context.TODO(), 1) require.Nil(t, entity) require.ErrorIs(t, err, ErrNotFound) diff --git a/tibuild/pkg/rest/service/cloud_event_client_test.go b/tibuild/pkg/rest/service/cloud_event_client_test.go index 3cb7f3f..53428e9 100644 --- a/tibuild/pkg/rest/service/cloud_event_client_test.go +++ b/tibuild/pkg/rest/service/cloud_event_client_test.go @@ -32,7 +32,7 @@ func TestNewEvent(t *testing.T) { require.NoError(t, err) js, err := json.Marshal(ev) require.NoError(t, err) - expected := `{"specversion":"1.0","id":"","source":"tibuild.pingcap.net/api/devbuilds/1","type":"net.pingcap.tibuild.devbuild.push","subject":"1","datacontenttype":"application/json","data":{"ref":"refs/heads/master","after":"754095a9f460dcf31f053045cfedfb00b9ad8e81", "before":"00000000000000000000000000000000000000000","repository":{"name":"pd","owner":{"login":"tikv"},"clone_url":"https://github.com/tikv/pd"}},"user":"some@pingcap.com"}` + expected := `{"specversion":"1.0","id":"","source":"tibuild.pingcap.net/api/devbuilds/1","type":"net.pingcap.tibuild.devbuild.push","subject":"1","datacontenttype":"application/json","data":{"ref":"refs/heads/master","after":"754095a9f460dcf31f053045cfedfb00b9ad8e81", "before":"00000000000000000000000000000000000000000","repository":{"full_name":"tikv/pd", "name":"pd","owner":{"login":"tikv"},"clone_url":"https://github.com/tikv/pd.git"}},"user":"some@pingcap.com"}` require.JSONEq(t, expected, string(js)) } diff --git a/tibuild/pkg/rest/service/dev_build_service_test.go b/tibuild/pkg/rest/service/dev_build_service_test.go index 357ce27..dd56a0c 100644 --- a/tibuild/pkg/rest/service/dev_build_service_test.go +++ b/tibuild/pkg/rest/service/dev_build_service_test.go @@ -299,7 +299,7 @@ func TestDevBuildGet(t *testing.T) { Status: DevBuildStatus{PipelineBuildID: 4, TektonStatus: &TektonStatus{Pipelines: []TektonPipeline{{Name: "p1"}}}}} entity, err := server.Get(context.TODO(), 1, DevBuildGetOption{}) require.NoError(t, err) - require.Equal(t, "http://tekton.net/p1", entity.Status.TektonStatus.Pipelines[0].URL) + require.Equal(t, "", entity.Status.TektonStatus.Pipelines[0].URL) }) t.Run("sync", func(t *testing.T) { mockedRepo.saved = DevBuild{ID: 1,