Files
mattermost/config/migrate_test.go
2019-07-14 09:19:51 +02:00

61 lines
1.6 KiB
Go

package config
import (
"fmt"
"github.com/mattermost/mattermost-server/testlib"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"testing"
)
func TestMigrateDatabaseToFile(t *testing.T) {
helper := testlib.NewMainHelper()
sqlSettings := helper.GetSqlSettings()
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)
defer ds.Close()
require.NoError(t, err)
config := ds.Get()
config.SamlSettings.IdpCertificateFile = &files[0]
config.SamlSettings.PublicCertificateFile = &files[1]
config.SamlSettings.PrivateKeyFile = &files[2]
_, err = ds.Set(config)
require.NoError(t, err)
for _, file := range files {
err = ds.SetFile(file, data)
require.NoError(t, err)
}
err = Migrate(sqlDSN, fileDSN)
require.NoError(t, err)
fs, err := NewFileStore(fileDSN, false)
require.NoError(t, err)
defer fs.Close()
for _, file := range files {
hasFile, err := fs.HasFile(file)
require.NoError(t, err)
defer fs.RemoveFile(file)
assert.True(t, hasFile)
}
assert.Equal(t, ds.Get(), fs.Get())
}
func TestMigrateFileToDatabaseWhenFilePathIsNotSpecified(t *testing.T) {
helper := testlib.NewMainHelper()
sqlSettings := helper.GetSqlSettings()
sqlDSN := fmt.Sprintf("%s://%s", *sqlSettings.DriverName, *sqlSettings.DataSource)
fileDSN := "config.json"
_, err := NewFileStore(fileDSN, true)
require.NoError(t, err)
err = Migrate(fileDSN, sqlDSN)
require.NoError(t, err)
}