2021-09-19 20:49:59 +09:00
|
|
|
// Copyright 2019 The Gitea Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a MIT-style
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
|
|
|
package models
|
|
|
|
|
|
|
|
import (
|
|
|
|
"os"
|
|
|
|
"path/filepath"
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"code.gitea.io/gitea/models/db"
|
2021-11-12 23:36:47 +09:00
|
|
|
"code.gitea.io/gitea/models/unittest"
|
2021-09-19 20:49:59 +09:00
|
|
|
"code.gitea.io/gitea/modules/setting"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestDumpDatabase(t *testing.T) {
|
2021-11-12 23:36:47 +09:00
|
|
|
assert.NoError(t, unittest.PrepareTestDatabase())
|
2021-09-19 20:49:59 +09:00
|
|
|
|
2021-09-22 14:38:34 +09:00
|
|
|
dir, err := os.MkdirTemp(os.TempDir(), "dump")
|
2021-09-19 20:49:59 +09:00
|
|
|
assert.NoError(t, err)
|
|
|
|
|
|
|
|
type Version struct {
|
|
|
|
ID int64 `xorm:"pk autoincr"`
|
|
|
|
Version int64
|
|
|
|
}
|
2021-09-24 00:45:36 +09:00
|
|
|
assert.NoError(t, db.GetEngine(db.DefaultContext).Sync2(new(Version)))
|
2021-09-19 20:49:59 +09:00
|
|
|
|
2021-12-07 14:44:08 +09:00
|
|
|
for _, dbType := range setting.SupportedDatabaseTypes {
|
2021-09-19 20:49:59 +09:00
|
|
|
assert.NoError(t, db.DumpDatabase(filepath.Join(dir, dbType+".sql"), dbType))
|
|
|
|
}
|
|
|
|
}
|