2021-09-19 07:49:59 -04: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 09:36:47 -05:00
|
|
|
"code.gitea.io/gitea/models/unittest"
|
2021-09-19 07:49:59 -04:00
|
|
|
"code.gitea.io/gitea/modules/setting"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestDumpDatabase(t *testing.T) {
|
2021-11-12 09:36:47 -05:00
|
|
|
assert.NoError(t, unittest.PrepareTestDatabase())
|
2021-09-19 07:49:59 -04:00
|
|
|
|
2021-09-22 01:38:34 -04:00
|
|
|
dir, err := os.MkdirTemp(os.TempDir(), "dump")
|
2021-09-19 07:49:59 -04:00
|
|
|
assert.NoError(t, err)
|
|
|
|
|
|
|
|
type Version struct {
|
|
|
|
ID int64 `xorm:"pk autoincr"`
|
|
|
|
Version int64
|
|
|
|
}
|
2021-09-23 11:45:36 -04:00
|
|
|
assert.NoError(t, db.GetEngine(db.DefaultContext).Sync2(new(Version)))
|
2021-09-19 07:49:59 -04:00
|
|
|
|
|
|
|
for _, dbName := range setting.SupportedDatabases {
|
|
|
|
dbType := setting.GetDBTypeByName(dbName)
|
|
|
|
assert.NoError(t, db.DumpDatabase(filepath.Join(dir, dbType+".sql"), dbType))
|
|
|
|
}
|
|
|
|
}
|