Switch to Postgres when running tests and turn off the fsync setting (#13678)
* Run all tests fasts in postgres * Moving postgres config to a file * Addressing PR review comments * Testing against mysql in the CI to keep things less changed * Revert "Testing against mysql in the CI to keep things less changed" This reverts commit fc940c111db269a821c54e005d76df87cb70e031. * Fixing a test broken in postgres but working in mysql * Fixing some tests * Fixing some config tests with postgres * Fixing the rest of config tests * Fixing govet error * Fixing search tests for postgres
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
55b646ecf8
Коммит
596f986755
@@ -4,25 +4,34 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/mattermost/mattermost-server/v5/store/storetest"
|
||||
"github.com/mattermost/mattermost-server/v5/model"
|
||||
"github.com/mattermost/mattermost-server/v5/testlib"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func getDsn(driver string, source string) string {
|
||||
if driver == model.DATABASE_DRIVER_MYSQL {
|
||||
return driver + "://" + source
|
||||
}
|
||||
return source
|
||||
}
|
||||
|
||||
func TestMigrateDatabaseToFile(t *testing.T) {
|
||||
helper := testlib.NewMainHelper()
|
||||
sqlSettings := helper.GetSQLSettings()
|
||||
defer storetest.CleanupSqlSettings(sqlSettings)
|
||||
sqlDSN := fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)
|
||||
fileDSN := "config.json"
|
||||
files := []string{"IdpCertificateFile", "PublicCertificateFile", "PrivateKeyFile"}
|
||||
data := make([]byte, 5)
|
||||
ds, err := NewDatabaseStore(sqlDSN)
|
||||
data := []byte("aaaaa")
|
||||
ds, err := NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
|
||||
defer ds.Close()
|
||||
defer func() {
|
||||
defaultCfg := &model.Config{}
|
||||
defaultCfg.SetDefaults()
|
||||
ds.Set(defaultCfg)
|
||||
}()
|
||||
require.NoError(t, err)
|
||||
config := ds.Get()
|
||||
config.SamlSettings.IdpCertificateFile = &files[0]
|
||||
@@ -35,7 +44,7 @@ func TestMigrateDatabaseToFile(t *testing.T) {
|
||||
err = ds.SetFile(file, data)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
err = Migrate(sqlDSN, fileDSN)
|
||||
err = Migrate(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource), fileDSN)
|
||||
require.NoError(t, err)
|
||||
|
||||
fs, err := NewFileStore(fileDSN, false)
|
||||
@@ -55,13 +64,11 @@ func TestMigrateDatabaseToFile(t *testing.T) {
|
||||
func TestMigrateFileToDatabaseWhenFilePathIsNotSpecified(t *testing.T) {
|
||||
helper := testlib.NewMainHelper()
|
||||
sqlSettings := helper.GetSQLSettings()
|
||||
defer storetest.CleanupSqlSettings(sqlSettings)
|
||||
sqlDSN := fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)
|
||||
fileDSN := "config.json"
|
||||
|
||||
_, err := NewFileStore(fileDSN, true)
|
||||
require.NoError(t, err)
|
||||
|
||||
err = Migrate(fileDSN, sqlDSN)
|
||||
err = Migrate(fileDSN, getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user