From 70166de15ad196161ac724baf6ae4e890ad11fd7 Mon Sep 17 00:00:00 2001 From: nachtjasmin Date: Tue, 9 Dec 2025 14:34:06 +0100 Subject: [PATCH] chore(lint): Add exceptions for dbfs_model and unittest (#10275) Thanks a lot to @floss4good who pointed this out in the comments of #10253! Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10275 Reviewed-by: Gusted Reviewed-by: floss4good Co-authored-by: nachtjasmin Co-committed-by: nachtjasmin --- .golangci.yml | 18 +----------------- models/avatars/avatar_test.go | 10 +++++----- routers/api/v1/org/action.go | 6 +++--- routers/api/v1/repo/action.go | 6 +++--- routers/api/v1/user/action.go | 6 +++--- routers/init.go | 4 ++-- routers/web/repo/actions/actions_test.go | 4 ++-- routers/web/repo/actions/view_test.go | 14 +++++++------- routers/web/shared/secrets/secrets.go | 6 +++--- services/actions/log_test.go | 10 +++++----- services/actions/variables.go | 8 ++++---- 11 files changed, 38 insertions(+), 54 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index e314b70e09..aed39e3c0e 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -50,36 +50,20 @@ linters: importas: alias: # Specific overrides that would violate the default rules further below. - - pkg: forgejo.org/models/actions - alias: actions_model - - pkg: forgejo.org/models/activities - alias: activities_model - pkg: forgejo.org/models/db alias: "" - - pkg: forgejo.org/models/issues - alias: issues_model - pkg: forgejo.org/models/organization alias: org_model - - pkg: forgejo.org/models/packages - alias: packages_model - - pkg: forgejo.org/services/actions - alias: actions_service - pkg: forgejo.org/services/context alias: app_context - pkg: forgejo.org/services/doctor alias: doctor - - pkg: forgejo.org/services/packages - alias: packages_service - pkg: forgejo.org/services/repository alias: repo_service # Make sure that we follow a consistent naming for model and service aliases. - # The \w+? syntax is the RE2 syntax for: one or more \w, prefer fewer - # - # It's used to make sure that if the model has a plural name, e.g. "issues", it's imported with the singular - # name (e.g. "issue") nonetheless. - - pkg: 'forgejo.org/(model|service)s/(\w+?)s?' + - pkg: 'forgejo.org/(model|service)s/(\w+)' alias: '${2}_${1}' revive: diff --git a/models/avatars/avatar_test.go b/models/avatars/avatar_test.go index 689784e851..7850d2c096 100644 --- a/models/avatars/avatar_test.go +++ b/models/avatars/avatar_test.go @@ -6,7 +6,7 @@ package avatars_test import ( "testing" - avatar_model "forgejo.org/models/avatars" + avatars_model "forgejo.org/models/avatars" "forgejo.org/models/db" system_model "forgejo.org/models/system" "forgejo.org/modules/setting" @@ -34,11 +34,11 @@ func enableGravatar(t *testing.T) { func TestHashEmail(t *testing.T) { assert.Equal(t, "d41d8cd98f00b204e9800998ecf8427e", - avatar_model.HashEmail(""), + avatars_model.HashEmail(""), ) assert.Equal(t, "353cbad9b58e69c96154ad99f92bedc7", - avatar_model.HashEmail("gitea@example.com"), + avatars_model.HashEmail("gitea@example.com"), ) } @@ -48,12 +48,12 @@ func TestSizedAvatarLink(t *testing.T) { disableGravatar(t) config.GetDynGetter().InvalidateCache() assert.Equal(t, "/testsuburl/assets/img/avatar_default.png", - avatar_model.GenerateEmailAvatarFastLink(db.DefaultContext, "gitea@example.com", 100)) + avatars_model.GenerateEmailAvatarFastLink(db.DefaultContext, "gitea@example.com", 100)) enableGravatar(t) config.GetDynGetter().InvalidateCache() assert.Equal(t, "https://secure.gravatar.com/avatar/353cbad9b58e69c96154ad99f92bedc7?d=identicon&s=100", - avatar_model.GenerateEmailAvatarFastLink(db.DefaultContext, "gitea@example.com", 100), + avatars_model.GenerateEmailAvatarFastLink(db.DefaultContext, "gitea@example.com", 100), ) } diff --git a/routers/api/v1/org/action.go b/routers/api/v1/org/action.go index 8f456fe02f..b3fcbca6b1 100644 --- a/routers/api/v1/org/action.go +++ b/routers/api/v1/org/action.go @@ -17,7 +17,7 @@ import ( "forgejo.org/routers/api/v1/utils" actions_service "forgejo.org/services/actions" "forgejo.org/services/context" - secret_service "forgejo.org/services/secrets" + secrets_service "forgejo.org/services/secrets" ) // ListActionsSecrets lists actions secrets of an organization @@ -106,7 +106,7 @@ func (Action) CreateOrUpdateSecret(ctx *context.APIContext) { opt := web.GetForm(ctx).(*api.CreateOrUpdateSecretOption) - _, created, err := secret_service.CreateOrUpdateSecret(ctx, ctx.Org.Organization.ID, 0, ctx.Params("secretname"), opt.Data) + _, created, err := secrets_service.CreateOrUpdateSecret(ctx, ctx.Org.Organization.ID, 0, ctx.Params("secretname"), opt.Data) if err != nil { if errors.Is(err, util.ErrInvalidArgument) { ctx.Error(http.StatusBadRequest, "CreateOrUpdateSecret", err) @@ -153,7 +153,7 @@ func (Action) DeleteSecret(ctx *context.APIContext) { // "404": // "$ref": "#/responses/notFound" - err := secret_service.DeleteSecretByName(ctx, ctx.Org.Organization.ID, 0, ctx.Params("secretname")) + err := secrets_service.DeleteSecretByName(ctx, ctx.Org.Organization.ID, 0, ctx.Params("secretname")) if err != nil { if errors.Is(err, util.ErrInvalidArgument) { ctx.Error(http.StatusBadRequest, "DeleteSecret", err) diff --git a/routers/api/v1/repo/action.go b/routers/api/v1/repo/action.go index 9a0dbf1f28..9085ee8e70 100644 --- a/routers/api/v1/repo/action.go +++ b/routers/api/v1/repo/action.go @@ -19,7 +19,7 @@ import ( actions_service "forgejo.org/services/actions" "forgejo.org/services/context" "forgejo.org/services/convert" - secret_service "forgejo.org/services/secrets" + secrets_service "forgejo.org/services/secrets" ) // ListActionsSecrets list an repo's actions secrets @@ -122,7 +122,7 @@ func (Action) CreateOrUpdateSecret(ctx *context.APIContext) { opt := web.GetForm(ctx).(*api.CreateOrUpdateSecretOption) - _, created, err := secret_service.CreateOrUpdateSecret(ctx, 0, repo.ID, ctx.Params("secretname"), opt.Data) + _, created, err := secrets_service.CreateOrUpdateSecret(ctx, 0, repo.ID, ctx.Params("secretname"), opt.Data) if err != nil { if errors.Is(err, util.ErrInvalidArgument) { ctx.Error(http.StatusBadRequest, "CreateOrUpdateSecret", err) @@ -176,7 +176,7 @@ func (Action) DeleteSecret(ctx *context.APIContext) { repo := ctx.Repo.Repository - err := secret_service.DeleteSecretByName(ctx, 0, repo.ID, ctx.Params("secretname")) + err := secrets_service.DeleteSecretByName(ctx, 0, repo.ID, ctx.Params("secretname")) if err != nil { if errors.Is(err, util.ErrInvalidArgument) { ctx.Error(http.StatusBadRequest, "DeleteSecret", err) diff --git a/routers/api/v1/user/action.go b/routers/api/v1/user/action.go index dd816cb7ae..2bb8a85fdb 100644 --- a/routers/api/v1/user/action.go +++ b/routers/api/v1/user/action.go @@ -15,7 +15,7 @@ import ( "forgejo.org/routers/api/v1/utils" actions_service "forgejo.org/services/actions" "forgejo.org/services/context" - secret_service "forgejo.org/services/secrets" + secrets_service "forgejo.org/services/secrets" ) // create or update one secret of the user scope @@ -53,7 +53,7 @@ func CreateOrUpdateSecret(ctx *context.APIContext) { opt := web.GetForm(ctx).(*api.CreateOrUpdateSecretOption) - _, created, err := secret_service.CreateOrUpdateSecret(ctx, ctx.Doer.ID, 0, ctx.Params("secretname"), opt.Data) + _, created, err := secrets_service.CreateOrUpdateSecret(ctx, ctx.Doer.ID, 0, ctx.Params("secretname"), opt.Data) if err != nil { if errors.Is(err, util.ErrInvalidArgument) { ctx.Error(http.StatusBadRequest, "CreateOrUpdateSecret", err) @@ -99,7 +99,7 @@ func DeleteSecret(ctx *context.APIContext) { // "404": // "$ref": "#/responses/notFound" - err := secret_service.DeleteSecretByName(ctx, ctx.Doer.ID, 0, ctx.Params("secretname")) + err := secrets_service.DeleteSecretByName(ctx, ctx.Doer.ID, 0, ctx.Params("secretname")) if err != nil { if errors.Is(err, util.ErrInvalidArgument) { ctx.Error(http.StatusBadRequest, "DeleteSecret", err) diff --git a/routers/init.go b/routers/init.go index 5b062160c4..6313d9a3ad 100644 --- a/routers/init.go +++ b/routers/init.go @@ -44,7 +44,7 @@ import ( "forgejo.org/services/mailer" mailer_incoming "forgejo.org/services/mailer/incoming" markup_service "forgejo.org/services/markup" - migration_service "forgejo.org/services/migrations" + migrations_service "forgejo.org/services/migrations" mirror_service "forgejo.org/services/mirror" pull_service "forgejo.org/services/pull" release_service "forgejo.org/services/release" @@ -157,7 +157,7 @@ func InitWebInstalled(ctx context.Context) { mustInit(pull_service.Init) mustInit(automerge.Init) mustInit(task.Init) - mustInit(migration_service.Init) + mustInit(migrations_service.Init) eventsource.GetManager().Init() mustInitCtx(ctx, mailer_incoming.Init) diff --git a/routers/web/repo/actions/actions_test.go b/routers/web/repo/actions/actions_test.go index 09b089cb0b..1d8c76c745 100644 --- a/routers/web/repo/actions/actions_test.go +++ b/routers/web/repo/actions/actions_test.go @@ -8,14 +8,14 @@ import ( actions_model "forgejo.org/models/actions" "forgejo.org/models/db" - unittest_model "forgejo.org/models/unittest" + "forgejo.org/models/unittest" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func Test_loadIsRefDeleted(t *testing.T) { - unittest_model.PrepareTestEnv(t) + unittest.PrepareTestEnv(t) runs, total, err := db.FindAndCount[actions_model.ActionRun](db.DefaultContext, actions_model.FindRunOptions{RepoID: 4, Ref: "refs/heads/test"}) diff --git a/routers/web/repo/actions/view_test.go b/routers/web/repo/actions/view_test.go index 6e15d11df4..61579b3208 100644 --- a/routers/web/repo/actions/view_test.go +++ b/routers/web/repo/actions/view_test.go @@ -11,7 +11,7 @@ import ( actions_model "forgejo.org/models/actions" repo_model "forgejo.org/models/repo" - unittest_model "forgejo.org/models/unittest" + "forgejo.org/models/unittest" "forgejo.org/modules/json" "forgejo.org/modules/translation" "forgejo.org/modules/web" @@ -22,9 +22,9 @@ import ( ) func TestActionsViewGetRunByID(t *testing.T) { - unittest_model.PrepareTestEnv(t) + unittest.PrepareTestEnv(t) - repo := unittest_model.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerID: 5, ID: 4}) + repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerID: 5, ID: 4}) for _, testCase := range []struct { name string @@ -63,7 +63,7 @@ func TestActionsViewGetRunByID(t *testing.T) { } func TestActionsViewArtifactsFind(t *testing.T) { - unittest_model.PrepareTestEnv(t) + unittest.PrepareTestEnv(t) for _, testCase := range []struct { name string @@ -95,7 +95,7 @@ func TestActionsViewArtifactsFind(t *testing.T) { } func TestActionsViewArtifactsFindByNameOrID(t *testing.T) { - unittest_model.PrepareTestEnv(t) + unittest.PrepareTestEnv(t) for _, testCase := range []struct { name string @@ -223,7 +223,7 @@ func baseExpectedViewResponse() *ViewResponse { } func TestActionsViewViewPost(t *testing.T) { - unittest_model.PrepareTestEnv(t) + unittest.PrepareTestEnv(t) tests := []struct { name string @@ -383,7 +383,7 @@ func TestActionsViewViewPost(t *testing.T) { } func TestActionsViewRedirectToLatestAttempt(t *testing.T) { - unittest_model.PrepareTestEnv(t) + unittest.PrepareTestEnv(t) tests := []struct { name string diff --git a/routers/web/shared/secrets/secrets.go b/routers/web/shared/secrets/secrets.go index a853598939..fe4c22bcee 100644 --- a/routers/web/shared/secrets/secrets.go +++ b/routers/web/shared/secrets/secrets.go @@ -11,7 +11,7 @@ import ( "forgejo.org/modules/web" "forgejo.org/services/context" "forgejo.org/services/forms" - secret_service "forgejo.org/services/secrets" + secrets_service "forgejo.org/services/secrets" ) func SetSecretsContext(ctx *context.Context, ownerID, repoID int64) { @@ -27,7 +27,7 @@ func SetSecretsContext(ctx *context.Context, ownerID, repoID int64) { func PerformSecretsPost(ctx *context.Context, ownerID, repoID int64, redirectURL string) { form := web.GetForm(ctx).(*forms.AddSecretForm) - s, _, err := secret_service.CreateOrUpdateSecret(ctx, ownerID, repoID, form.Name, util.ReserveLineBreakForTextarea(form.Data)) + s, _, err := secrets_service.CreateOrUpdateSecret(ctx, ownerID, repoID, form.Name, util.ReserveLineBreakForTextarea(form.Data)) if err != nil { log.Error("CreateOrUpdateSecret failed: %v", err) ctx.JSONError(ctx.Tr("secrets.creation.failed")) @@ -41,7 +41,7 @@ func PerformSecretsPost(ctx *context.Context, ownerID, repoID int64, redirectURL func PerformSecretsDelete(ctx *context.Context, ownerID, repoID int64, redirectURL string) { id := ctx.FormInt64("id") - err := secret_service.DeleteSecretByID(ctx, ownerID, repoID, id) + err := secrets_service.DeleteSecretByID(ctx, ownerID, repoID, id) if err != nil { log.Error("DeleteSecretByID(%d) failed: %v", id, err) ctx.JSONError(ctx.Tr("secrets.deletion.failed")) diff --git a/services/actions/log_test.go b/services/actions/log_test.go index 082f4c2efc..c6debac5c0 100644 --- a/services/actions/log_test.go +++ b/services/actions/log_test.go @@ -8,7 +8,7 @@ import ( "time" actions_model "forgejo.org/models/actions" - dbf_model "forgejo.org/models/dbfs" + dbfs_model "forgejo.org/models/dbfs" "forgejo.org/models/unittest" "forgejo.org/modules/test" "forgejo.org/modules/timeutil" @@ -50,19 +50,19 @@ func TestServicesActions_transferLingeringLogs(t *testing.T) { } lingeringLogIDs := []int64{1, 4, 5} - assert.True(t, unittest.BeanExists(t, &dbf_model.DbfsMeta{}, builder.In("id", []any{lingeringLogIDs}...))) + assert.True(t, unittest.BeanExists(t, &dbfs_model.DbfsMeta{}, builder.In("id", []any{lingeringLogIDs}...))) // first pass transfer logs for transferLingeringLogsMax tasks require.NoError(t, transferLingeringLogs(t.Context(), transferLingeringLogsOpts(now))) - assert.True(t, unittest.BeanExists(t, &dbf_model.DbfsMeta{}, builder.In("id", []any{lingeringLogIDs[transferLingeringLogsMax:]}...))) + assert.True(t, unittest.BeanExists(t, &dbfs_model.DbfsMeta{}, builder.In("id", []any{lingeringLogIDs[transferLingeringLogsMax:]}...))) for _, lingeringLogID := range lingeringLogIDs[:transferLingeringLogsMax] { - unittest.AssertNotExistsBean(t, &dbf_model.DbfsMeta{ID: lingeringLogID}) + unittest.AssertNotExistsBean(t, &dbfs_model.DbfsMeta{ID: lingeringLogID}) } // second pass transfer logs for the remainder tasks and there are none left require.NoError(t, transferLingeringLogs(t.Context(), transferLingeringLogsOpts(now))) for _, lingeringLogID := range lingeringLogIDs { - unittest.AssertNotExistsBean(t, &dbf_model.DbfsMeta{ID: lingeringLogID}) + unittest.AssertNotExistsBean(t, &dbfs_model.DbfsMeta{ID: lingeringLogID}) } // third pass is happilly doing nothing diff --git a/services/actions/variables.go b/services/actions/variables.go index a9f42105a3..f06c81e474 100644 --- a/services/actions/variables.go +++ b/services/actions/variables.go @@ -11,11 +11,11 @@ import ( actions_model "forgejo.org/models/actions" "forgejo.org/modules/log" "forgejo.org/modules/util" - secret_service "forgejo.org/services/secrets" + secrets_service "forgejo.org/services/secrets" ) func CreateVariable(ctx context.Context, ownerID, repoID int64, name, data string) (*actions_model.ActionVariable, error) { - if err := secret_service.ValidateName(name); err != nil { + if err := secrets_service.ValidateName(name); err != nil { return nil, err } @@ -32,7 +32,7 @@ func CreateVariable(ctx context.Context, ownerID, repoID int64, name, data strin } func UpdateVariable(ctx context.Context, variableID, ownerID, repoID int64, name, data string) (bool, error) { - if err := secret_service.ValidateName(name); err != nil { + if err := secrets_service.ValidateName(name); err != nil { return false, err } @@ -50,7 +50,7 @@ func UpdateVariable(ctx context.Context, variableID, ownerID, repoID int64, name } func DeleteVariableByName(ctx context.Context, ownerID, repoID int64, name string) error { - if err := secret_service.ValidateName(name); err != nil { + if err := secrets_service.ValidateName(name); err != nil { return err }