1
0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2025-08-06 02:15:20 +02:00

chore: merge tests.AddFixtures and unittest.OverrideFixtures (#7648)

The only parameter that is ever used is a single directory, make it that only instead of a more complex option structure.

Remove tests.AddFixtures that was the simpler form because it is now redundant.

---

Backporting to v11.0 will help with automated backporting of bug fixes in need of custom made fixtures.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7648
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
This commit is contained in:
Earl Warren 2025-04-25 09:14:33 +00:00 committed by Earl Warren
parent 580b7e2671
commit 7e489eed25
26 changed files with 37 additions and 112 deletions

View file

@ -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)

View file

@ -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 {

View file

@ -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})

View file

@ -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)

View file

@ -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)

View file

@ -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})

View file

@ -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)
}

View file

@ -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})

View file

@ -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})

View file

@ -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() {

View file

@ -11,6 +11,7 @@ import (
_ "forgejo.org/models"
_ "forgejo.org/models/actions"
_ "forgejo.org/models/activities"
_ "forgejo.org/models/forgefed"
_ "forgejo.org/models/user"
)

View file

@ -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)