forked from kevadesu/forgejo
[UPGRADE] run sanity checks before the database is upgraded
(cherry picked from commit69741e4e66
) (cherry picked from commit2a3c7b09cb
) (cherry picked from commita1554c1168
) (cherry picked from commitedae2c6d2d
) (cherry picked from commit49737cf009
)
This commit is contained in:
parent
554bca7fae
commit
ec53704c34
4 changed files with 84 additions and 0 deletions
31
services/forgejo/sanity_test.go
Normal file
31
services/forgejo/sanity_test.go
Normal file
|
@ -0,0 +1,31 @@
|
|||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package forgejo
|
||||
|
||||
import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"code.gitea.io/gitea/models/db"
|
||||
"code.gitea.io/gitea/models/unittest"
|
||||
"code.gitea.io/gitea/modules/setting"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestForgejo_PreMigrationSanityChecks(t *testing.T) {
|
||||
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||
ctx := db.DefaultContext
|
||||
e := db.GetEngine(ctx)
|
||||
|
||||
assert.NoError(t, PreMigrationSanityChecks(e, ForgejoV4DatabaseVersion, configFixture(t, "")))
|
||||
}
|
||||
|
||||
func configFixture(t *testing.T, content string) setting.ConfigProvider {
|
||||
config := filepath.Join(t.TempDir(), "app.ini")
|
||||
assert.NoError(t, os.WriteFile(config, []byte(content), 0o777))
|
||||
cfg, err := setting.NewConfigProviderFromFile(config)
|
||||
assert.NoError(t, err)
|
||||
return cfg
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue