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
Этот коммит содержится в:
Jesús Espino
2020-02-06 15:15:18 +01:00
коммит произвёл GitHub
родитель 55b646ecf8
Коммит 596f986755
11 изменённых файлов: 154 добавлений и 83 удалений

Просмотреть файл

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