diff --git a/models/auth/oauth2_test.go b/models/auth/oauth2_test.go index 7ad64b3f9f..9c6836ed0d 100644 --- a/models/auth/oauth2_test.go +++ b/models/auth/oauth2_test.go @@ -4,14 +4,12 @@ package auth_test import ( - "path/filepath" "slices" "testing" auth_model "forgejo.org/models/auth" "forgejo.org/models/db" "forgejo.org/models/unittest" - "forgejo.org/modules/setting" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -275,13 +273,7 @@ func TestBuiltinApplicationsClientIDs(t *testing.T) { } func TestOrphanedOAuth2Applications(t *testing.T) { - defer unittest.OverrideFixtures( - unittest.FixturesOptions{ - Dir: filepath.Join(setting.AppWorkPath, "models/fixtures/"), - Base: setting.AppWorkPath, - Dirs: []string{"models/auth/TestOrphanedOAuth2Applications/"}, - }, - )() + defer unittest.OverrideFixtures("models/auth/TestOrphanedOAuth2Applications")() require.NoError(t, unittest.PrepareTestDatabase()) count, err := auth_model.CountOrphanedOAuth2Applications(db.DefaultContext) diff --git a/models/git/lfs_test.go b/models/git/lfs_test.go index be8c29bc3d..132b1628b3 100644 --- a/models/git/lfs_test.go +++ b/models/git/lfs_test.go @@ -5,7 +5,6 @@ package git import ( "context" - "path/filepath" "testing" "forgejo.org/models/db" @@ -18,13 +17,7 @@ import ( ) func TestIterateRepositoryIDsWithLFSMetaObjects(t *testing.T) { - defer unittest.OverrideFixtures( - unittest.FixturesOptions{ - Dir: filepath.Join(setting.AppWorkPath, "models/fixtures/"), - Base: setting.AppWorkPath, - Dirs: []string{"models/git/TestIterateRepositoryIDsWithLFSMetaObjects/"}, - }, - )() + defer unittest.OverrideFixtures("models/git/TestIterateRepositoryIDsWithLFSMetaObjects")() require.NoError(t, unittest.PrepareTestDatabase()) type repocount struct { diff --git a/models/issues/issue_project_test.go b/models/issues/issue_project_test.go index 2ccf018795..14d2e0a555 100644 --- a/models/issues/issue_project_test.go +++ b/models/issues/issue_project_test.go @@ -20,7 +20,7 @@ import ( ) func TestPrivateIssueProjects(t *testing.T) { - defer tests.AddFixtures("models/fixtures/PrivateIssueProjects/")() + defer unittest.OverrideFixtures("models/fixtures/PrivateIssueProjects")() require.NoError(t, unittest.PrepareTestDatabase()) user2 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}) @@ -119,7 +119,7 @@ func TestPrivateIssueProjects(t *testing.T) { } func TestPrivateRepoProjects(t *testing.T) { - defer tests.AddFixtures("models/fixtures/TestPrivateRepoProjects/")() + defer unittest.OverrideFixtures("models/fixtures/TestPrivateRepoProjects")() require.NoError(t, unittest.PrepareTestDatabase()) org := unittest.AssertExistsAndLoadBean(t, &organization.Organization{ID: 3}) diff --git a/models/issues/pull_test.go b/models/issues/pull_test.go index be52ce27c0..5a8e8d8aaf 100644 --- a/models/issues/pull_test.go +++ b/models/issues/pull_test.go @@ -14,7 +14,6 @@ import ( "forgejo.org/models/unittest" user_model "forgejo.org/models/user" "forgejo.org/modules/setting" - "forgejo.org/tests" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -161,7 +160,7 @@ func TestGetUnmergedPullRequestsByHeadInfo(t *testing.T) { } func TestGetUnmergedPullRequestsByHeadInfoMax(t *testing.T) { - defer tests.AddFixtures("models/fixtures/TestGetUnmergedPullRequestsByHeadInfoMax/")() + defer unittest.OverrideFixtures("models/fixtures/TestGetUnmergedPullRequestsByHeadInfoMax")() require.NoError(t, unittest.PrepareTestDatabase()) repoID := int64(1) diff --git a/models/issues/stopwatch_test.go b/models/issues/stopwatch_test.go index 4863bef6db..d16e1d82df 100644 --- a/models/issues/stopwatch_test.go +++ b/models/issues/stopwatch_test.go @@ -4,14 +4,12 @@ package issues_test import ( - "path/filepath" "testing" "forgejo.org/models/db" issues_model "forgejo.org/models/issues" "forgejo.org/models/unittest" user_model "forgejo.org/models/user" - "forgejo.org/modules/setting" "forgejo.org/modules/timeutil" "github.com/stretchr/testify/assert" @@ -81,13 +79,7 @@ func TestCreateOrStopIssueStopwatch(t *testing.T) { } func TestGetUIDsAndStopwatch(t *testing.T) { - defer unittest.OverrideFixtures( - unittest.FixturesOptions{ - Dir: filepath.Join(setting.AppWorkPath, "models/fixtures/"), - Base: setting.AppWorkPath, - Dirs: []string{"models/issues/TestGetUIDsAndStopwatch/"}, - }, - )() + defer unittest.OverrideFixtures("models/issues/TestGetUIDsAndStopwatch")() require.NoError(t, unittest.PrepareTestDatabase()) uidStopwatches, err := issues_model.GetUIDsAndStopwatch(db.DefaultContext) diff --git a/models/organization/team_test.go b/models/organization/team_test.go index b3ea23a296..60c500e7ec 100644 --- a/models/organization/team_test.go +++ b/models/organization/team_test.go @@ -4,14 +4,12 @@ package organization_test import ( - "path/filepath" "testing" "forgejo.org/models/db" "forgejo.org/models/organization" "forgejo.org/models/perm" "forgejo.org/models/unittest" - "forgejo.org/modules/setting" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -189,13 +187,7 @@ func TestHasTeamRepo(t *testing.T) { } func TestInconsistentOwnerTeam(t *testing.T) { - defer unittest.OverrideFixtures( - unittest.FixturesOptions{ - Dir: filepath.Join(setting.AppWorkPath, "models/fixtures/"), - Base: setting.AppWorkPath, - Dirs: []string{"models/organization/TestInconsistentOwnerTeam/"}, - }, - )() + defer unittest.OverrideFixtures("models/organization/TestInconsistentOwnerTeam")() require.NoError(t, unittest.PrepareTestDatabase()) unittest.AssertExistsAndLoadBean(t, &organization.TeamUnit{ID: 1000, TeamID: 1000, AccessMode: perm.AccessModeNone}) diff --git a/models/packages/main_test.go b/models/packages/main_test.go index 8114461502..f9083d705d 100644 --- a/models/packages/main_test.go +++ b/models/packages/main_test.go @@ -4,11 +4,9 @@ package packages import ( - "path/filepath" "testing" "forgejo.org/models/unittest" - "forgejo.org/modules/setting" _ "forgejo.org/models" _ "forgejo.org/models/actions" @@ -16,16 +14,6 @@ import ( _ "forgejo.org/models/forgefed" ) -func AddFixtures(dirs ...string) func() { - return unittest.OverrideFixtures( - unittest.FixturesOptions{ - Dir: filepath.Join(setting.AppWorkPath, "models/fixtures/"), - Base: setting.AppWorkPath, - Dirs: dirs, - }, - ) -} - func TestMain(m *testing.M) { unittest.MainTest(m) } diff --git a/models/packages/package_blob_test.go b/models/packages/package_blob_test.go index 3ad45a56f9..efcfeae39d 100644 --- a/models/packages/package_blob_test.go +++ b/models/packages/package_blob_test.go @@ -13,7 +13,7 @@ import ( ) func TestPackagesGetOrInsertBlob(t *testing.T) { - defer AddFixtures("models/fixtures/TestPackagesGetOrInsertBlob/")() + defer unittest.OverrideFixtures("models/fixtures/TestPackagesGetOrInsertBlob")() require.NoError(t, unittest.PrepareTestDatabase()) blake2bIsSet := unittest.AssertExistsAndLoadBean(t, &PackageBlob{ID: 1}) diff --git a/models/repo/repo_list_test.go b/models/repo/repo_list_test.go index 18e39969bc..89873c299b 100644 --- a/models/repo/repo_list_test.go +++ b/models/repo/repo_list_test.go @@ -4,7 +4,6 @@ package repo_test import ( - "path/filepath" "slices" "strings" "testing" @@ -14,7 +13,6 @@ import ( "forgejo.org/models/unittest" "forgejo.org/models/user" "forgejo.org/modules/optional" - "forgejo.org/modules/setting" "forgejo.org/modules/structs" "github.com/stretchr/testify/assert" @@ -410,13 +408,7 @@ func TestSearchRepositoryByTopicName(t *testing.T) { } func TestSearchRepositoryIDsByCondition(t *testing.T) { - defer unittest.OverrideFixtures( - unittest.FixturesOptions{ - Dir: filepath.Join(setting.AppWorkPath, "models/fixtures/"), - Base: setting.AppWorkPath, - Dirs: []string{"models/repo/TestSearchRepositoryIDsByCondition/"}, - }, - )() + defer unittest.OverrideFixtures("models/repo/TestSearchRepositoryIDsByCondition")() require.NoError(t, unittest.PrepareTestDatabase()) // Sanity check of the database limitedUser := unittest.AssertExistsAndLoadBean(t, &user.User{ID: 33, Visibility: structs.VisibleTypeLimited}) diff --git a/models/unittest/fixtures.go b/models/unittest/fixtures.go index 940830d20f..cbda01410d 100644 --- a/models/unittest/fixtures.go +++ b/models/unittest/fixtures.go @@ -29,9 +29,14 @@ func GetXORMEngine(engine ...*xorm.Engine) (x *xorm.Engine, err error) { return db.GetMasterEngine(db.DefaultContext.(*db.Context).Engine()) } -func OverrideFixtures(opts FixturesOptions, engine ...*xorm.Engine) func() { +func OverrideFixtures(dir string) func() { old := fixturesLoader - if err := InitFixtures(opts, engine...); err != nil { + opts := FixturesOptions{ + Dir: filepath.Join(setting.AppWorkPath, "models/fixtures/"), + Base: setting.AppWorkPath, + Dirs: []string{dir}, + } + if err := InitFixtures(opts); err != nil { panic(err) } return func() { diff --git a/models/user/main_test.go b/models/user/main_test.go index 685b1116f3..f0dae086e0 100644 --- a/models/user/main_test.go +++ b/models/user/main_test.go @@ -11,6 +11,7 @@ import ( _ "forgejo.org/models" _ "forgejo.org/models/actions" _ "forgejo.org/models/activities" + _ "forgejo.org/models/forgefed" _ "forgejo.org/models/user" ) diff --git a/models/user/user_test.go b/models/user/user_test.go index 52ebe2e204..139d6b8a47 100644 --- a/models/user/user_test.go +++ b/models/user/user_test.go @@ -25,7 +25,6 @@ import ( "forgejo.org/modules/timeutil" "forgejo.org/modules/util" "forgejo.org/modules/validation" - "forgejo.org/tests" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -73,7 +72,7 @@ func TestGetUserFromMap(t *testing.T) { } func TestGetUserByName(t *testing.T) { - defer tests.AddFixtures("models/user/fixtures/")() + defer unittest.OverrideFixtures("models/user/fixtures")() require.NoError(t, unittest.PrepareTestDatabase()) { @@ -120,7 +119,7 @@ func TestCanCreateOrganization(t *testing.T) { } func TestGetAllUsers(t *testing.T) { - defer tests.AddFixtures("models/user/fixtures/")() + defer unittest.OverrideFixtures("models/user/fixtures")() require.NoError(t, unittest.PrepareTestDatabase()) users, err := user_model.GetAllUsers(db.DefaultContext) @@ -157,7 +156,7 @@ func TestAPActorKeyID(t *testing.T) { } func TestSearchUsers(t *testing.T) { - defer tests.AddFixtures("models/user/fixtures/")() + defer unittest.OverrideFixtures("models/user/fixtures")() require.NoError(t, unittest.PrepareTestDatabase()) testSuccess := func(opts *user_model.SearchUserOptions, expectedUserOrOrgIDs []int64) { users, _, err := user_model.SearchUsers(db.DefaultContext, opts) diff --git a/services/user/user_test.go b/services/user/user_test.go index c70c02673a..b229301a1a 100644 --- a/services/user/user_test.go +++ b/services/user/user_test.go @@ -67,13 +67,7 @@ func TestDeleteUser(t *testing.T) { } func TestPurgeUser(t *testing.T) { - defer unittest.OverrideFixtures( - unittest.FixturesOptions{ - Dir: filepath.Join(setting.AppWorkPath, "models/fixtures/"), - Base: setting.AppWorkPath, - Dirs: []string{"services/user/TestPurgeUser/"}, - }, - )() + defer unittest.OverrideFixtures("services/user/TestPurgeUser")() require.NoError(t, unittest.PrepareTestDatabase()) defer test.MockVariableValue(&setting.SSH.RootPath, t.TempDir())() defer test.MockVariableValue(&setting.SSH.CreateAuthorizedKeysFile, true)() diff --git a/services/webhook/notifier_test.go b/services/webhook/notifier_test.go index ac5c22ebc3..b57990a9d8 100644 --- a/services/webhook/notifier_test.go +++ b/services/webhook/notifier_test.go @@ -4,7 +4,6 @@ package webhook import ( - "path/filepath" "testing" "forgejo.org/models/db" @@ -56,13 +55,7 @@ func pushCommits() *repository.PushCommits { } func TestSyncPushCommits(t *testing.T) { - defer unittest.OverrideFixtures( - unittest.FixturesOptions{ - Dir: filepath.Join(setting.AppWorkPath, "models/fixtures/"), - Base: setting.AppWorkPath, - Dirs: []string{"services/webhook/TestPushCommits"}, - }, - )() + defer unittest.OverrideFixtures("services/webhook/TestPushCommits")() require.NoError(t, unittest.PrepareTestDatabase()) user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}) @@ -95,13 +88,7 @@ func TestSyncPushCommits(t *testing.T) { } func TestPushCommits(t *testing.T) { - defer unittest.OverrideFixtures( - unittest.FixturesOptions{ - Dir: filepath.Join(setting.AppWorkPath, "models/fixtures/"), - Base: setting.AppWorkPath, - Dirs: []string{"services/webhook/TestPushCommits"}, - }, - )() + defer unittest.OverrideFixtures("services/webhook/TestPushCommits")() require.NoError(t, unittest.PrepareTestDatabase()) user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}) diff --git a/tests/integration/actions_variables_test.go b/tests/integration/actions_variables_test.go index 795a24e3da..2442710ea1 100644 --- a/tests/integration/actions_variables_test.go +++ b/tests/integration/actions_variables_test.go @@ -19,7 +19,7 @@ import ( ) func TestActionVariablesModification(t *testing.T) { - defer tests.AddFixtures("tests/integration/fixtures/TestActionVariablesModification")() + defer unittest.OverrideFixtures("tests/integration/fixtures/TestActionVariablesModification")() defer tests.PrepareTestEnv(t)() user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}) diff --git a/tests/integration/admin_user_test.go b/tests/integration/admin_user_test.go index c6ce416a22..f460cf22f5 100644 --- a/tests/integration/admin_user_test.go +++ b/tests/integration/admin_user_test.go @@ -98,7 +98,7 @@ func makeRequest(t *testing.T, formData user_model.User, headerCode int) { } func TestAdminDeleteUser(t *testing.T) { - defer tests.AddFixtures("tests/integration/fixtures/TestAdminDeleteUser/")() + defer unittest.OverrideFixtures("tests/integration/fixtures/TestAdminDeleteUser")() defer tests.PrepareTestEnv(t)() session := loginUser(t, "user1") diff --git a/tests/integration/block_test.go b/tests/integration/block_test.go index 67443f40cf..7c328c8936 100644 --- a/tests/integration/block_test.go +++ b/tests/integration/block_test.go @@ -167,7 +167,7 @@ func TestBlockUserFromOrganization(t *testing.T) { // and as a blocked user and are handled cleanly after the blocking has taken // place. func TestBlockActions(t *testing.T) { - defer tests.AddFixtures("tests/integration/fixtures/TestBlockActions/")() + defer unittest.OverrideFixtures("tests/integration/fixtures/TestBlockActions")() defer tests.PrepareTestEnv(t)() doer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}) @@ -438,7 +438,7 @@ func TestBlockActions(t *testing.T) { } func TestBlockedNotification(t *testing.T) { - defer tests.AddFixtures("tests/integration/fixtures/TestBlockedNotifications")() + defer unittest.OverrideFixtures("tests/integration/fixtures/TestBlockedNotifications")() defer tests.PrepareTestEnv(t)() doer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}) diff --git a/tests/integration/comment_roles_system_test.go b/tests/integration/comment_roles_system_test.go index febc086916..4a2b941fda 100644 --- a/tests/integration/comment_roles_system_test.go +++ b/tests/integration/comment_roles_system_test.go @@ -19,7 +19,7 @@ import ( // As it is not possible to do actions as system users, the tests are done using fixtures. func TestSystemCommentRoles(t *testing.T) { - defer tests.AddFixtures("tests/integration/fixtures/TestSystemCommentRoles/")() + defer unittest.OverrideFixtures("tests/integration/fixtures/TestSystemCommentRoles")() defer tests.PrepareTestEnv(t)() repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}) diff --git a/tests/integration/feed_user_test.go b/tests/integration/feed_user_test.go index 51da24252a..dfcb33b35d 100644 --- a/tests/integration/feed_user_test.go +++ b/tests/integration/feed_user_test.go @@ -9,6 +9,7 @@ import ( "testing" "forgejo.org/models/db" + "forgejo.org/models/unittest" user_model "forgejo.org/models/user" "forgejo.org/tests" @@ -33,7 +34,7 @@ type RSS struct { } func TestFeed(t *testing.T) { - defer tests.AddFixtures("tests/integration/fixtures/TestFeed/")() + defer unittest.OverrideFixtures("tests/integration/fixtures/TestFeed")() defer tests.PrepareTestEnv(t)() t.Run("User", func(t *testing.T) { diff --git a/tests/integration/issue_test.go b/tests/integration/issue_test.go index 6391fd4bff..0e185229c9 100644 --- a/tests/integration/issue_test.go +++ b/tests/integration/issue_test.go @@ -1084,7 +1084,7 @@ func TestIssueReferenceURL(t *testing.T) { } func TestGetContentHistory(t *testing.T) { - defer tests.AddFixtures("tests/integration/fixtures/TestGetContentHistory/")() + defer unittest.OverrideFixtures("tests/integration/fixtures/TestGetContentHistory")() defer tests.PrepareTestEnv(t)() issue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 1}) @@ -1136,7 +1136,7 @@ func TestGetContentHistory(t *testing.T) { } func TestCommitRefComment(t *testing.T) { - defer tests.AddFixtures("tests/integration/fixtures/TestCommitRefComment/")() + defer unittest.OverrideFixtures("tests/integration/fixtures/TestCommitRefComment")() defer tests.PrepareTestEnv(t)() t.Run("Pull request", func(t *testing.T) { diff --git a/tests/integration/private_project_test.go b/tests/integration/private_project_test.go index 5259c0531c..e14b677b0f 100644 --- a/tests/integration/private_project_test.go +++ b/tests/integration/private_project_test.go @@ -18,7 +18,7 @@ import ( ) func TestPrivateIssueProject(t *testing.T) { - defer tests.AddFixtures("models/fixtures/PrivateIssueProjects/")() + defer unittest.OverrideFixtures("models/fixtures/PrivateIssueProjects")() defer tests.PrepareTestEnv(t)() user2 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}) diff --git a/tests/integration/pull_review_test.go b/tests/integration/pull_review_test.go index d917452f83..ed3d3baaf4 100644 --- a/tests/integration/pull_review_test.go +++ b/tests/integration/pull_review_test.go @@ -652,7 +652,7 @@ func getUserNotificationCount(t *testing.T, session *TestSession, csrf string) s } func TestPullRequestReplyMail(t *testing.T) { - defer tests.AddFixtures("tests/integration/fixtures/TestPullRequestReplyMail/")() + defer unittest.OverrideFixtures("tests/integration/fixtures/TestPullRequestReplyMail")() defer tests.PrepareTestEnv(t)() user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}) diff --git a/tests/integration/pull_test.go b/tests/integration/pull_test.go index 3695ebe5f2..d5321f6ae5 100644 --- a/tests/integration/pull_test.go +++ b/tests/integration/pull_test.go @@ -67,7 +67,7 @@ func TestPullManuallyMergeWarning(t *testing.T) { } func TestPullCombinedReviewRequest(t *testing.T) { - defer tests.AddFixtures("tests/integration/fixtures/TestPullCombinedReviewRequest/")() + defer unittest.OverrideFixtures("tests/integration/fixtures/TestPullCombinedReviewRequest")() defer tests.PrepareTestEnv(t)() session := loginUser(t, "user2") diff --git a/tests/integration/runner_test.go b/tests/integration/runner_test.go index 1c639eb7c3..2d9c0ec0c4 100644 --- a/tests/integration/runner_test.go +++ b/tests/integration/runner_test.go @@ -19,7 +19,7 @@ import ( ) func TestRunnerModification(t *testing.T) { - defer tests.AddFixtures("tests/integration/fixtures/TestRunnerModification")() + defer unittest.OverrideFixtures("tests/integration/fixtures/TestRunnerModification")() defer tests.PrepareTestEnv(t)() user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2}) diff --git a/tests/integration/xss_test.go b/tests/integration/xss_test.go index 73523a5867..d891910fd7 100644 --- a/tests/integration/xss_test.go +++ b/tests/integration/xss_test.go @@ -68,7 +68,7 @@ func TestXSSWikiLastCommitInfo(t *testing.T) { } func TestXSSReviewDismissed(t *testing.T) { - defer tests.AddFixtures("tests/integration/fixtures/TestXSSReviewDismissed/")() + defer unittest.OverrideFixtures("tests/integration/fixtures/TestXSSReviewDismissed")() defer tests.PrepareTestEnv(t)() review := unittest.AssertExistsAndLoadBean(t, &issues_model.Review{ID: 1000}) diff --git a/tests/test_utils.go b/tests/test_utils.go index 721adbd497..66da5e6bea 100644 --- a/tests/test_utils.go +++ b/tests/test_utils.go @@ -337,16 +337,6 @@ func Printf(format string, args ...any) { testlogger.Printf(format, args...) } -func AddFixtures(dirs ...string) func() { - return unittest.OverrideFixtures( - unittest.FixturesOptions{ - Dir: filepath.Join(setting.AppWorkPath, "models/fixtures/"), - Base: setting.AppWorkPath, - Dirs: dirs, - }, - ) -} - type DeclarativeRepoOptions struct { Name optional.Option[string] EnabledUnits optional.Option[[]unit_model.Type]