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 удалений

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

@@ -2609,9 +2609,16 @@ func TestAutocompleteChannels(t *testing.T) {
Type: model.CHANNEL_PRIVATE, Type: model.CHANNEL_PRIVATE,
TeamId: th.BasicTeam.Id, TeamId: th.BasicTeam.Id,
}) })
tower, _ := th.Client.CreateChannel(&model.Channel{
DisplayName: "Tower",
Name: "tower",
Type: model.CHANNEL_OPEN,
TeamId: th.BasicTeam.Id,
})
utils.EnableDebugLogForTest() utils.EnableDebugLogForTest()
defer func() { defer func() {
th.Client.DeleteChannel(ptown.Id) th.Client.DeleteChannel(ptown.Id)
th.Client.DeleteChannel(tower.Id)
}() }()
for _, tc := range []struct { for _, tc := range []struct {
@@ -2626,21 +2633,21 @@ func TestAutocompleteChannels(t *testing.T) {
th.BasicTeam.Id, th.BasicTeam.Id,
"town", "town",
[]string{"town-square"}, []string{"town-square"},
[]string{"off-topic", "town"}, []string{"off-topic", "town", "tower"},
}, },
{ {
"Basic off-topic", "Basic off-topic",
th.BasicTeam.Id, th.BasicTeam.Id,
"off-to", "off-to",
[]string{"off-topic"}, []string{"off-topic"},
[]string{"town-square", "town"}, []string{"town-square", "town", "tower"},
}, },
{ {
"Basic town square and off topic", "Basic town square and off topic",
th.BasicTeam.Id, th.BasicTeam.Id,
"to", "tow",
[]string{"off-topic", "town-square"}, []string{"town-square", "tower"},
[]string{"town"}, []string{"off-topic", "town"},
}, },
} { } {
t.Run(tc.description, func(t *testing.T) { t.Run(tc.description, func(t *testing.T) {
@@ -2740,11 +2747,11 @@ func TestAutocompleteChannelsForSearch(t *testing.T) {
[]string{"town-square", "town", "townpriv"}, []string{"town-square", "town", "townpriv"},
}, },
{ {
"Basic town square and off topic", "Basic town square and townpriv",
th.BasicTeam.Id, th.BasicTeam.Id,
"to", "tow",
[]string{"off-topic", "town-square", "townpriv"}, []string{"town-square", "townpriv"},
[]string{"town"}, []string{"off-topic", "town"},
}, },
{ {
"Direct and group messages", "Direct and group messages",

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

@@ -20,6 +20,9 @@ services:
POSTGRES_USER: mmuser POSTGRES_USER: mmuser
POSTGRES_PASSWORD: mostest POSTGRES_PASSWORD: mostest
POSTGRES_DB: mattermost_test POSTGRES_DB: mattermost_test
command: postgres -c 'config_file=/etc/postgresql/postgresql.conf'
volumes:
- "./docker/postgres.conf:/etc/postgresql/postgresql.conf"
minio: minio:
image: "minio/minio:RELEASE.2019-10-11T00-38-09Z" image: "minio/minio:RELEASE.2019-10-11T00-38-09Z"
command: "server /data" command: "server /data"

3
build/docker/postgres.conf Обычный файл
Просмотреть файл

@@ -0,0 +1,3 @@
listen_addresses = '*'
fsync = off
full_page_writes = off

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

@@ -5,7 +5,6 @@ package commands
import ( import (
"encoding/json" "encoding/json"
"fmt"
"io/ioutil" "io/ioutil"
"os" "os"
"reflect" "reflect"
@@ -81,6 +80,13 @@ type TestPluginSettings struct {
SignaturePublicKeyFiles []string SignaturePublicKeyFiles []string
} }
func getDsn(driver string, source string) string {
if driver == model.DATABASE_DRIVER_MYSQL {
return driver + "://" + source
}
return source
}
func TestConfigValidate(t *testing.T) { func TestConfigValidate(t *testing.T) {
th := Setup() th := Setup()
defer th.TearDown() defer th.TearDown()
@@ -533,7 +539,7 @@ func TestConfigMigrate(t *testing.T) {
defer th.TearDown() defer th.TearDown()
sqlSettings := mainHelper.GetSQLSettings() sqlSettings := mainHelper.GetSQLSettings()
sqlDSN := fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource) sqlDSN := getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource)
fileDSN := "config.json" fileDSN := "config.json"
ds, err := config.NewStore(sqlDSN, false) ds, err := config.NewStore(sqlDSN, false)

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

@@ -273,7 +273,7 @@ func (ds *DatabaseStore) GetFile(name string) ([]byte, error) {
} }
var data []byte var data []byte
row := ds.db.QueryRowx(query, args...) row := ds.db.QueryRowx(ds.db.Rebind(query), args...)
if err = row.Scan(&data); err != nil { if err = row.Scan(&data); err != nil {
return nil, errors.Wrapf(err, "failed to scan data from row for %s", name) return nil, errors.Wrapf(err, "failed to scan data from row for %s", name)
} }
@@ -324,8 +324,8 @@ func (ds *DatabaseStore) HasFile(name string) (bool, error) {
return false, err return false, err
} }
var count int var count int64
row := ds.db.QueryRowx(query, args...) row := ds.db.QueryRowx(ds.db.Rebind(query), args...)
if err = row.Scan(&count); err != nil { if err = row.Scan(&count); err != nil {
return false, errors.Wrapf(err, "failed to scan count of rows for %s", name) return false, errors.Wrapf(err, "failed to scan count of rows for %s", name)
} }

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

@@ -19,6 +19,13 @@ import (
"github.com/mattermost/mattermost-server/v5/model" "github.com/mattermost/mattermost-server/v5/model"
) )
func getDsn(driver string, source string) string {
if driver == model.DATABASE_DRIVER_MYSQL {
return driver + "://" + source
}
return source
}
func setupConfigDatabase(t *testing.T, cfg *model.Config, files map[string][]byte) (string, func()) { func setupConfigDatabase(t *testing.T, cfg *model.Config, files map[string][]byte) (string, func()) {
t.Helper() t.Helper()
os.Clearenv() os.Clearenv()
@@ -60,6 +67,19 @@ func setupConfigDatabase(t *testing.T, cfg *model.Config, files map[string][]byt
func getActualDatabaseConfig(t *testing.T) (string, *model.Config) { func getActualDatabaseConfig(t *testing.T) (string, *model.Config) {
t.Helper() t.Helper()
if *mainHelper.GetSQLSettings().DriverName == "postgres" {
var actual struct {
ID string `db:"id"`
Value []byte `db:"value"`
}
db := sqlx.NewDb(mainHelper.GetSQLSupplier().GetMaster().Db, *mainHelper.GetSQLSettings().DriverName)
err := db.Get(&actual, "SELECT Id, Value FROM Configurations WHERE Active")
require.NoError(t, err)
actualCfg, _, err := config.UnmarshalConfig(bytes.NewReader(actual.Value), false)
require.Nil(t, err)
return actual.ID, actualCfg
}
var actual struct { var actual struct {
ID string `db:"Id"` ID string `db:"Id"`
Value []byte `db:"Value"` Value []byte `db:"Value"`
@@ -70,7 +90,6 @@ func getActualDatabaseConfig(t *testing.T) (string, *model.Config) {
actualCfg, _, err := config.UnmarshalConfig(bytes.NewReader(actual.Value), false) actualCfg, _, err := config.UnmarshalConfig(bytes.NewReader(actual.Value), false)
require.Nil(t, err) require.Nil(t, err)
return actual.ID, actualCfg return actual.ID, actualCfg
} }
@@ -96,7 +115,7 @@ func TestDatabaseStoreNew(t *testing.T) {
sqlSettings := mainHelper.GetSQLSettings() sqlSettings := mainHelper.GetSQLSettings()
t.Run("no existing configuration - initialization required", func(t *testing.T) { t.Run("no existing configuration - initialization required", func(t *testing.T) {
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -107,7 +126,7 @@ func TestDatabaseStoreNew(t *testing.T) {
_, tearDown := setupConfigDatabase(t, testConfig, nil) _, tearDown := setupConfigDatabase(t, testConfig, nil)
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -119,7 +138,7 @@ func TestDatabaseStoreNew(t *testing.T) {
_, tearDown := setupConfigDatabase(t, minimalConfig, nil) _, tearDown := setupConfigDatabase(t, minimalConfig, nil)
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -148,7 +167,7 @@ func TestDatabaseStoreGet(t *testing.T) {
defer tearDown() defer tearDown()
sqlSettings := mainHelper.GetSQLSettings() sqlSettings := mainHelper.GetSQLSettings()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -174,7 +193,7 @@ func TestDatabaseStoreGetEnivironmentOverrides(t *testing.T) {
defer tearDown() defer tearDown()
sqlSettings := mainHelper.GetSQLSettings() sqlSettings := mainHelper.GetSQLSettings()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -184,7 +203,7 @@ func TestDatabaseStoreGetEnivironmentOverrides(t *testing.T) {
os.Setenv("MM_SERVICESETTINGS_SITEURL", "http://override") os.Setenv("MM_SERVICESETTINGS_SITEURL", "http://override")
defer os.Unsetenv("MM_SERVICESETTINGS_SITEURL") defer os.Unsetenv("MM_SERVICESETTINGS_SITEURL")
ds, err = config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err = config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -197,7 +216,7 @@ func TestDatabaseStoreGetEnivironmentOverrides(t *testing.T) {
defer tearDown() defer tearDown()
sqlSettings := mainHelper.GetSQLSettings() sqlSettings := mainHelper.GetSQLSettings()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -207,7 +226,7 @@ func TestDatabaseStoreGetEnivironmentOverrides(t *testing.T) {
os.Setenv("MM_PLUGINSETTINGS_ENABLEUPLOADS", "true") os.Setenv("MM_PLUGINSETTINGS_ENABLEUPLOADS", "true")
defer os.Unsetenv("MM_PLUGINSETTINGS_ENABLEUPLOADS") defer os.Unsetenv("MM_PLUGINSETTINGS_ENABLEUPLOADS")
ds, err = config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err = config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -220,7 +239,7 @@ func TestDatabaseStoreGetEnivironmentOverrides(t *testing.T) {
defer tearDown() defer tearDown()
sqlSettings := mainHelper.GetSQLSettings() sqlSettings := mainHelper.GetSQLSettings()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -230,7 +249,7 @@ func TestDatabaseStoreGetEnivironmentOverrides(t *testing.T) {
os.Setenv("MM_TEAMSETTINGS_MAXUSERSPERTEAM", "3000") os.Setenv("MM_TEAMSETTINGS_MAXUSERSPERTEAM", "3000")
defer os.Unsetenv("MM_TEAMSETTINGS_MAXUSERSPERTEAM") defer os.Unsetenv("MM_TEAMSETTINGS_MAXUSERSPERTEAM")
ds, err = config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err = config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -243,7 +262,7 @@ func TestDatabaseStoreGetEnivironmentOverrides(t *testing.T) {
defer tearDown() defer tearDown()
sqlSettings := mainHelper.GetSQLSettings() sqlSettings := mainHelper.GetSQLSettings()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -253,7 +272,7 @@ func TestDatabaseStoreGetEnivironmentOverrides(t *testing.T) {
os.Setenv("MM_SERVICESETTINGS_TLSSTRICTTRANSPORTMAXAGE", "123456") os.Setenv("MM_SERVICESETTINGS_TLSSTRICTTRANSPORTMAXAGE", "123456")
defer os.Unsetenv("MM_SERVICESETTINGS_TLSSTRICTTRANSPORTMAXAGE") defer os.Unsetenv("MM_SERVICESETTINGS_TLSSTRICTTRANSPORTMAXAGE")
ds, err = config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err = config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -266,7 +285,7 @@ func TestDatabaseStoreGetEnivironmentOverrides(t *testing.T) {
defer tearDown() defer tearDown()
sqlSettings := mainHelper.GetSQLSettings() sqlSettings := mainHelper.GetSQLSettings()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -276,7 +295,7 @@ func TestDatabaseStoreGetEnivironmentOverrides(t *testing.T) {
os.Setenv("MM_SQLSETTINGS_DATASOURCEREPLICAS", "user:pwd@db:5432/test-db") os.Setenv("MM_SQLSETTINGS_DATASOURCEREPLICAS", "user:pwd@db:5432/test-db")
defer os.Unsetenv("MM_SQLSETTINGS_DATASOURCEREPLICAS") defer os.Unsetenv("MM_SQLSETTINGS_DATASOURCEREPLICAS")
ds, err = config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err = config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -292,7 +311,7 @@ func TestDatabaseStoreGetEnivironmentOverrides(t *testing.T) {
defer tearDown() defer tearDown()
sqlSettings := mainHelper.GetSQLSettings() sqlSettings := mainHelper.GetSQLSettings()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -302,7 +321,7 @@ func TestDatabaseStoreGetEnivironmentOverrides(t *testing.T) {
os.Setenv("MM_SQLSETTINGS_DATASOURCEREPLICAS", "user:pwd@db:5432/test-db user:pwd@db2:5433/test-db2 user:pwd@db3:5434/test-db3") os.Setenv("MM_SQLSETTINGS_DATASOURCEREPLICAS", "user:pwd@db:5432/test-db user:pwd@db2:5433/test-db2 user:pwd@db3:5434/test-db3")
defer os.Unsetenv("MM_SQLSETTINGS_DATASOURCEREPLICAS") defer os.Unsetenv("MM_SQLSETTINGS_DATASOURCEREPLICAS")
ds, err = config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err = config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -320,7 +339,7 @@ func TestDatabaseStoreSet(t *testing.T) {
_, tearDown := setupConfigDatabase(t, emptyConfig, nil) _, tearDown := setupConfigDatabase(t, emptyConfig, nil)
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -334,7 +353,7 @@ func TestDatabaseStoreSet(t *testing.T) {
_, tearDown := setupConfigDatabase(t, minimalConfig, nil) _, tearDown := setupConfigDatabase(t, minimalConfig, nil)
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -353,7 +372,7 @@ func TestDatabaseStoreSet(t *testing.T) {
_, tearDown := setupConfigDatabase(t, ldapConfig, nil) _, tearDown := setupConfigDatabase(t, ldapConfig, nil)
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -373,7 +392,7 @@ func TestDatabaseStoreSet(t *testing.T) {
_, tearDown := setupConfigDatabase(t, emptyConfig, nil) _, tearDown := setupConfigDatabase(t, emptyConfig, nil)
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -392,7 +411,7 @@ func TestDatabaseStoreSet(t *testing.T) {
_, tearDown := setupConfigDatabase(t, minimalConfig, nil) _, tearDown := setupConfigDatabase(t, minimalConfig, nil)
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -411,7 +430,7 @@ func TestDatabaseStoreSet(t *testing.T) {
_, tearDown := setupConfigDatabase(t, readOnlyConfig, nil) _, tearDown := setupConfigDatabase(t, readOnlyConfig, nil)
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -431,7 +450,7 @@ func TestDatabaseStoreSet(t *testing.T) {
_, tearDown := setupConfigDatabase(t, minimalConfig, nil) _, tearDown := setupConfigDatabase(t, minimalConfig, nil)
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -454,7 +473,7 @@ func TestDatabaseStoreSet(t *testing.T) {
_, tearDown := setupConfigDatabase(t, emptyConfig, nil) _, tearDown := setupConfigDatabase(t, emptyConfig, nil)
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -472,10 +491,13 @@ func TestDatabaseStoreSet(t *testing.T) {
}) })
t.Run("persist failed: too long", func(t *testing.T) { t.Run("persist failed: too long", func(t *testing.T) {
if *mainHelper.Settings.DriverName == "postgres" {
t.Skip("No limit for postgres")
}
_, tearDown := setupConfigDatabase(t, emptyConfig, nil) _, tearDown := setupConfigDatabase(t, emptyConfig, nil)
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -492,7 +514,7 @@ func TestDatabaseStoreSet(t *testing.T) {
activeID, tearDown := setupConfigDatabase(t, emptyConfig, nil) activeID, tearDown := setupConfigDatabase(t, emptyConfig, nil)
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -524,7 +546,7 @@ func TestDatabaseStoreLoad(t *testing.T) {
_, tearDown := setupConfigDatabase(t, emptyConfig, nil) _, tearDown := setupConfigDatabase(t, emptyConfig, nil)
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -539,7 +561,7 @@ func TestDatabaseStoreLoad(t *testing.T) {
_, tearDown := setupConfigDatabase(t, minimalConfig, nil) _, tearDown := setupConfigDatabase(t, minimalConfig, nil)
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -561,7 +583,7 @@ func TestDatabaseStoreLoad(t *testing.T) {
os.Setenv("MM_SERVICESETTINGS_SITEURL", "http://overridePersistEnvVariables") os.Setenv("MM_SERVICESETTINGS_SITEURL", "http://overridePersistEnvVariables")
defer os.Unsetenv("MM_SERVICESETTINGS_SITEURL") defer os.Unsetenv("MM_SERVICESETTINGS_SITEURL")
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -582,7 +604,7 @@ func TestDatabaseStoreLoad(t *testing.T) {
os.Setenv("MM_PLUGINSETTINGS_ENABLEUPLOADS", "true") os.Setenv("MM_PLUGINSETTINGS_ENABLEUPLOADS", "true")
defer os.Unsetenv("MM_PLUGINSETTINGS_ENABLEUPLOADS") defer os.Unsetenv("MM_PLUGINSETTINGS_ENABLEUPLOADS")
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -605,7 +627,7 @@ func TestDatabaseStoreLoad(t *testing.T) {
os.Setenv("MM_TEAMSETTINGS_MAXUSERSPERTEAM", "3000") os.Setenv("MM_TEAMSETTINGS_MAXUSERSPERTEAM", "3000")
defer os.Unsetenv("MM_TEAMSETTINGS_MAXUSERSPERTEAM") defer os.Unsetenv("MM_TEAMSETTINGS_MAXUSERSPERTEAM")
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -628,7 +650,7 @@ func TestDatabaseStoreLoad(t *testing.T) {
os.Setenv("MM_SERVICESETTINGS_TLSSTRICTTRANSPORTMAXAGE", "123456") os.Setenv("MM_SERVICESETTINGS_TLSSTRICTTRANSPORTMAXAGE", "123456")
defer os.Unsetenv("MM_SERVICESETTINGS_TLSSTRICTTRANSPORTMAXAGE") defer os.Unsetenv("MM_SERVICESETTINGS_TLSSTRICTTRANSPORTMAXAGE")
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -651,7 +673,7 @@ func TestDatabaseStoreLoad(t *testing.T) {
os.Setenv("MM_SQLSETTINGS_DATASOURCEREPLICAS", "user:pwd@db:5432/test-db") os.Setenv("MM_SQLSETTINGS_DATASOURCEREPLICAS", "user:pwd@db:5432/test-db")
defer os.Unsetenv("MM_SQLSETTINGS_DATASOURCEREPLICAS") defer os.Unsetenv("MM_SQLSETTINGS_DATASOURCEREPLICAS")
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -676,7 +698,7 @@ func TestDatabaseStoreLoad(t *testing.T) {
os.Setenv("MM_SQLSETTINGS_DATASOURCEREPLICAS", "user:pwd@db:5432/test-db") os.Setenv("MM_SQLSETTINGS_DATASOURCEREPLICAS", "user:pwd@db:5432/test-db")
defer os.Unsetenv("MM_SQLSETTINGS_DATASOURCEREPLICAS") defer os.Unsetenv("MM_SQLSETTINGS_DATASOURCEREPLICAS")
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -696,7 +718,7 @@ func TestDatabaseStoreLoad(t *testing.T) {
_, tearDown := setupConfigDatabase(t, emptyConfig, nil) _, tearDown := setupConfigDatabase(t, emptyConfig, nil)
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -723,7 +745,7 @@ func TestDatabaseStoreLoad(t *testing.T) {
_, tearDown := setupConfigDatabase(t, fixesRequiredConfig, nil) _, tearDown := setupConfigDatabase(t, fixesRequiredConfig, nil)
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -737,7 +759,7 @@ func TestDatabaseStoreLoad(t *testing.T) {
_, tearDown := setupConfigDatabase(t, emptyConfig, nil) _, tearDown := setupConfigDatabase(t, emptyConfig, nil)
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -761,7 +783,7 @@ func TestDatabaseGetFile(t *testing.T) {
}) })
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *mainHelper.Settings.DriverName, *mainHelper.Settings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*mainHelper.Settings.DriverName, *mainHelper.Settings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -792,7 +814,7 @@ func TestDatabaseSetFile(t *testing.T) {
_, tearDown := setupConfigDatabase(t, minimalConfig, nil) _, tearDown := setupConfigDatabase(t, minimalConfig, nil)
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *mainHelper.Settings.DriverName, *mainHelper.Settings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*mainHelper.Settings.DriverName, *mainHelper.Settings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -818,14 +840,20 @@ func TestDatabaseSetFile(t *testing.T) {
}) })
t.Run("max length", func(t *testing.T) { t.Run("max length", func(t *testing.T) {
longFile := bytes.Repeat([]byte{0x0}, config.MaxWriteLength) if *mainHelper.Settings.DriverName == "postgres" {
t.Skip("No limit for postgres")
}
longFile := bytes.Repeat([]byte("a"), config.MaxWriteLength)
err := ds.SetFile("toolong", longFile) err := ds.SetFile("toolong", longFile)
require.NoError(t, err) require.NoError(t, err)
}) })
t.Run("too long", func(t *testing.T) { t.Run("too long", func(t *testing.T) {
longFile := bytes.Repeat([]byte{0x0}, config.MaxWriteLength+1) if *mainHelper.Settings.DriverName == "postgres" {
t.Skip("No limit for postgres")
}
longFile := bytes.Repeat([]byte("a"), config.MaxWriteLength+1)
err := ds.SetFile("toolong", longFile) err := ds.SetFile("toolong", longFile)
if assert.Error(t, err) { if assert.Error(t, err) {
@@ -839,7 +867,7 @@ func TestDatabaseHasFile(t *testing.T) {
_, tearDown := setupConfigDatabase(t, minimalConfig, nil) _, tearDown := setupConfigDatabase(t, minimalConfig, nil)
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *mainHelper.Settings.DriverName, *mainHelper.Settings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*mainHelper.Settings.DriverName, *mainHelper.Settings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -852,7 +880,7 @@ func TestDatabaseHasFile(t *testing.T) {
_, tearDown := setupConfigDatabase(t, minimalConfig, nil) _, tearDown := setupConfigDatabase(t, minimalConfig, nil)
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *mainHelper.Settings.DriverName, *mainHelper.Settings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*mainHelper.Settings.DriverName, *mainHelper.Settings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -870,7 +898,7 @@ func TestDatabaseHasFile(t *testing.T) {
}) })
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *mainHelper.Settings.DriverName, *mainHelper.Settings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*mainHelper.Settings.DriverName, *mainHelper.Settings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -883,7 +911,7 @@ func TestDatabaseHasFile(t *testing.T) {
_, tearDown := setupConfigDatabase(t, minimalConfig, nil) _, tearDown := setupConfigDatabase(t, minimalConfig, nil)
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *mainHelper.Settings.DriverName, *mainHelper.Settings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*mainHelper.Settings.DriverName, *mainHelper.Settings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -898,7 +926,7 @@ func TestDatabaseRemoveFile(t *testing.T) {
_, tearDown := setupConfigDatabase(t, minimalConfig, nil) _, tearDown := setupConfigDatabase(t, minimalConfig, nil)
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *mainHelper.Settings.DriverName, *mainHelper.Settings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*mainHelper.Settings.DriverName, *mainHelper.Settings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -910,7 +938,7 @@ func TestDatabaseRemoveFile(t *testing.T) {
_, tearDown := setupConfigDatabase(t, minimalConfig, nil) _, tearDown := setupConfigDatabase(t, minimalConfig, nil)
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *mainHelper.Settings.DriverName, *mainHelper.Settings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*mainHelper.Settings.DriverName, *mainHelper.Settings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -934,7 +962,7 @@ func TestDatabaseRemoveFile(t *testing.T) {
}) })
defer tearDown() defer tearDown()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *mainHelper.Settings.DriverName, *mainHelper.Settings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*mainHelper.Settings.DriverName, *mainHelper.Settings.DataSource))
require.NoError(t, err) require.NoError(t, err)
defer ds.Close() defer ds.Close()
@@ -955,13 +983,20 @@ func TestDatabaseStoreString(t *testing.T) {
defer tearDown() defer tearDown()
sqlSettings := mainHelper.GetSQLSettings() sqlSettings := mainHelper.GetSQLSettings()
ds, err := config.NewDatabaseStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)) ds, err := config.NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
require.NotNil(t, ds) require.NotNil(t, ds)
defer ds.Close() defer ds.Close()
if *mainHelper.GetSQLSettings().DriverName == "postgres" {
maskedDSN := ds.String()
assert.True(t, strings.HasPrefix(maskedDSN, "postgres://"))
assert.True(t, strings.Contains(maskedDSN, "mmuser"))
assert.False(t, strings.Contains(maskedDSN, "mostest"))
} else {
maskedDSN := ds.String() maskedDSN := ds.String()
assert.True(t, strings.HasPrefix(maskedDSN, "mysql://")) assert.True(t, strings.HasPrefix(maskedDSN, "mysql://"))
assert.True(t, strings.Contains(maskedDSN, "mmuser")) assert.True(t, strings.Contains(maskedDSN, "mmuser"))
assert.False(t, strings.Contains(maskedDSN, "mostest")) assert.False(t, strings.Contains(maskedDSN, "mostest"))
} }
}

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

@@ -8,6 +8,7 @@ import (
"testing" "testing"
"github.com/go-sql-driver/mysql" "github.com/go-sql-driver/mysql"
"github.com/lib/pq"
"github.com/mattermost/mattermost-server/v5/model" "github.com/mattermost/mattermost-server/v5/model"
"github.com/mattermost/mattermost-server/v5/testlib" "github.com/mattermost/mattermost-server/v5/testlib"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
@@ -47,6 +48,14 @@ func truncateTable(t *testing.T, table string) {
case model.DATABASE_DRIVER_POSTGRES: case model.DATABASE_DRIVER_POSTGRES:
_, err := sqlSupplier.GetMaster().Db.Exec(fmt.Sprintf("TRUNCATE TABLE %s", table)) _, err := sqlSupplier.GetMaster().Db.Exec(fmt.Sprintf("TRUNCATE TABLE %s", table))
if err != nil {
if driverErr, ok := err.(*pq.Error); ok {
// Ignore if the Configurations table does not exist.
if driverErr.Code == "42P01" {
return
}
}
}
require.NoError(t, err) require.NoError(t, err)
default: default:

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

@@ -4,25 +4,34 @@
package config package config
import ( import (
"fmt"
"testing" "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/mattermost/mattermost-server/v5/testlib"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require" "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) { func TestMigrateDatabaseToFile(t *testing.T) {
helper := testlib.NewMainHelper() helper := testlib.NewMainHelper()
sqlSettings := helper.GetSQLSettings() sqlSettings := helper.GetSQLSettings()
defer storetest.CleanupSqlSettings(sqlSettings)
sqlDSN := fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)
fileDSN := "config.json" fileDSN := "config.json"
files := []string{"IdpCertificateFile", "PublicCertificateFile", "PrivateKeyFile"} files := []string{"IdpCertificateFile", "PublicCertificateFile", "PrivateKeyFile"}
data := make([]byte, 5) data := []byte("aaaaa")
ds, err := NewDatabaseStore(sqlDSN) ds, err := NewDatabaseStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
defer ds.Close() defer ds.Close()
defer func() {
defaultCfg := &model.Config{}
defaultCfg.SetDefaults()
ds.Set(defaultCfg)
}()
require.NoError(t, err) require.NoError(t, err)
config := ds.Get() config := ds.Get()
config.SamlSettings.IdpCertificateFile = &files[0] config.SamlSettings.IdpCertificateFile = &files[0]
@@ -35,7 +44,7 @@ func TestMigrateDatabaseToFile(t *testing.T) {
err = ds.SetFile(file, data) err = ds.SetFile(file, data)
require.NoError(t, err) require.NoError(t, err)
} }
err = Migrate(sqlDSN, fileDSN) err = Migrate(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource), fileDSN)
require.NoError(t, err) require.NoError(t, err)
fs, err := NewFileStore(fileDSN, false) fs, err := NewFileStore(fileDSN, false)
@@ -55,13 +64,11 @@ func TestMigrateDatabaseToFile(t *testing.T) {
func TestMigrateFileToDatabaseWhenFilePathIsNotSpecified(t *testing.T) { func TestMigrateFileToDatabaseWhenFilePathIsNotSpecified(t *testing.T) {
helper := testlib.NewMainHelper() helper := testlib.NewMainHelper()
sqlSettings := helper.GetSQLSettings() sqlSettings := helper.GetSQLSettings()
defer storetest.CleanupSqlSettings(sqlSettings)
sqlDSN := fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)
fileDSN := "config.json" fileDSN := "config.json"
_, err := NewFileStore(fileDSN, true) _, err := NewFileStore(fileDSN, true)
require.NoError(t, err) require.NoError(t, err)
err = Migrate(fileDSN, sqlDSN) err = Migrate(fileDSN, getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource))
require.NoError(t, err) require.NoError(t, err)
} }

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

@@ -4,7 +4,6 @@
package config_test package config_test
import ( import (
"fmt"
"io/ioutil" "io/ioutil"
"os" "os"
"path/filepath" "path/filepath"
@@ -26,13 +25,13 @@ func TestNewStore(t *testing.T) {
require.NoError(t, os.Mkdir(filepath.Join(tempDir, "config"), 0700)) require.NoError(t, os.Mkdir(filepath.Join(tempDir, "config"), 0700))
t.Run("database dsn", func(t *testing.T) { t.Run("database dsn", func(t *testing.T) {
ds, err := config.NewStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource), false) ds, err := config.NewStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource), false)
require.NoError(t, err) require.NoError(t, err)
ds.Close() ds.Close()
}) })
t.Run("database dsn, watch ignored", func(t *testing.T) { t.Run("database dsn, watch ignored", func(t *testing.T) {
ds, err := config.NewStore(fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource), true) ds, err := config.NewStore(getDsn(*sqlSettings.DriverName, *sqlSettings.DataSource), true)
require.NoError(t, err) require.NoError(t, err)
ds.Close() ds.Close()
}) })

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

@@ -913,7 +913,6 @@ func (ss *SqlSupplier) GetAllConns() []*gorp.DbMap {
} }
func (ss *SqlSupplier) Close() { func (ss *SqlSupplier) Close() {
mlog.Info("Closing SqlStore")
ss.master.Db.Close() ss.master.Db.Close()
for _, replica := range ss.replicas { for _, replica := range ss.replicas {
replica.Db.Close() replica.Db.Close()

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

@@ -95,7 +95,7 @@ func (h *MainHelper) Main(m *testing.M) {
func (h *MainHelper) setupStore() { func (h *MainHelper) setupStore() {
driverName := os.Getenv("MM_SQLSETTINGS_DRIVERNAME") driverName := os.Getenv("MM_SQLSETTINGS_DRIVERNAME")
if driverName == "" { if driverName == "" {
driverName = model.DATABASE_DRIVER_MYSQL driverName = model.DATABASE_DRIVER_POSTGRES
} }
h.Settings = storetest.MakeSqlSettings(driverName) h.Settings = storetest.MakeSqlSettings(driverName)
@@ -116,6 +116,9 @@ func (h *MainHelper) setupResources() {
} }
func (h *MainHelper) Close() error { func (h *MainHelper) Close() error {
if h.SQLSupplier != nil {
h.SQLSupplier.Close()
}
if h.Settings != nil { if h.Settings != nil {
storetest.CleanupSqlSettings(h.Settings) storetest.CleanupSqlSettings(h.Settings)
} }