mirror of
https://github.com/mattermost/mattermost.git
synced 2026-02-03 20:40:00 -05:00
https://mattermost.atlassian.net/browse/MM-63368 ```release-note Remove MySQL support from the codebase entirely. ```
61 lines
1.4 KiB
Go
61 lines
1.4 KiB
Go
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
package config
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
"github.com/lib/pq"
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"github.com/mattermost/mattermost/server/public/model"
|
|
"github.com/mattermost/mattermost/server/v8/channels/testlib"
|
|
)
|
|
|
|
var mainHelper *testlib.MainHelper
|
|
|
|
func TestMain(m *testing.M) {
|
|
var options = testlib.HelperOptions{
|
|
EnableStore: true,
|
|
}
|
|
|
|
mainHelper = testlib.NewMainHelperWithOptions(&options)
|
|
defer mainHelper.Close()
|
|
|
|
mainHelper.Main(m)
|
|
}
|
|
|
|
// truncateTable clears the given table
|
|
func truncateTable(t *testing.T, table string) {
|
|
t.Helper()
|
|
sqlSetting := mainHelper.GetSQLSettings()
|
|
sqlStore := mainHelper.GetSQLStore()
|
|
|
|
switch *sqlSetting.DriverName {
|
|
case model.DatabaseDriverPostgres:
|
|
_, err := sqlStore.GetMaster().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)
|
|
|
|
default:
|
|
require.Failf(t, "failed", "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")
|
|
truncateTable(t, migrationsTableName)
|
|
}
|