* TestGetLicenseFileFromDisk: avoid using fileutils.FindConfigFile

* config: abstract config-related file access, extend memory store

* simplify config validate to avoid file knowledge

* fix relative file tests

* cluster: fix ConfigChanged event

The old and new configurations were swapped when notifying the enterprise code of configuration changes, creating needless instability in propagating config updates across a cluster.

* config/database: ignore duplicates

* test cleanup

* remove unnecessary Save() in test
Этот коммит содержится в:
Jesse Hallam
2019-03-06 15:06:45 -05:00
коммит произвёл GitHub
родитель 3716918c57
Коммит 1e462da2d4
28 изменённых файлов: 1454 добавлений и 545 удалений

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

@@ -1,6 +1,7 @@
package config_test
import (
"fmt"
"testing"
"github.com/go-sql-driver/mysql"
@@ -22,15 +23,15 @@ func TestMain(m *testing.M) {
mainHelper.Main(m)
}
// truncateTables clears tables used by the config package for reuse in other tests
func truncateTables(t *testing.T) {
// truncateTable clears the given table
func truncateTable(t *testing.T, table string) {
t.Helper()
sqlSetting := mainHelper.GetSqlSettings()
sqlSupplier := mainHelper.GetSqlSupplier()
switch *sqlSetting.DriverName {
case model.DATABASE_DRIVER_MYSQL:
_, err := sqlSupplier.GetMaster().Db.Exec("TRUNCATE TABLE Configurations")
_, err := sqlSupplier.GetMaster().Db.Exec(fmt.Sprintf("TRUNCATE TABLE %s", table))
if err != nil {
if driverErr, ok := err.(*mysql.MySQLError); ok {
// Ignore if the Configurations table does not exist.
@@ -42,10 +43,18 @@ func truncateTables(t *testing.T) {
require.NoError(t, err)
case model.DATABASE_DRIVER_POSTGRES:
_, err := sqlSupplier.GetMaster().Db.Exec("TRUNCATE TABLE Configurations")
_, err := sqlSupplier.GetMaster().Db.Exec(fmt.Sprintf("TRUNCATE TABLE %s", table))
require.NoError(t, err)
default:
t.Fatalf("unsupported driver name: %s", *sqlSetting.DriverName)
}
}
// truncateTables clears tables used by the config package for reuse in other tests
func truncateTables(t *testing.T) {
t.Helper()
truncateTable(t, "Configurations")
truncateTable(t, "ConfigurationFiles")
}