Files
mattermost/store/sqlstore/store_test.go
Chris 49fe5fbf3d Move sql store code into store/sqlstore package (#7502)
* move sql store code into store/sqlstore package

* move non-sql constants back up to store

* fix api test

* derp
2017-09-25 10:11:25 -04:00

152 lines
4.0 KiB
Go

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
package sqlstore
import (
"github.com/mattermost/mattermost-server/store"
"github.com/mattermost/mattermost-server/utils"
)
var sqlStore store.Store
func Setup() store.Store {
if sqlStore == nil {
utils.TranslationsPreInit()
utils.LoadConfig("config.json")
utils.InitTranslations(utils.Cfg.LocalizationSettings)
sqlStore = store.NewLayeredStore(NewSqlSupplier(nil), nil, nil)
sqlStore.MarkSystemRanUnitTests()
}
return sqlStore
}
/*
func TestSqlStore1(t *testing.T) {
utils.TranslationsPreInit()
utils.LoadConfig("config.json")
utils.Cfg.SqlSettings.Trace = true
store := NewSqlStore()
ss.Close()
utils.Cfg.SqlSettings.DataSourceReplicas = []string{utils.Cfg.SqlSettings.DataSource}
store = NewSqlStore()
ss.TotalMasterDbConnections()
ss.TotalReadDbConnections()
ss.Close()
utils.LoadConfig("config.json")
}
func TestAlertDbCmds(t *testing.T) {
ss := Setup()
sqlStore := store.(SqlStore)
if !sqlStore.DoesTableExist("Systems") {
t.Fatal("Failed table exists")
}
if sqlStore.DoesColumnExist("Systems", "Test") {
t.Fatal("Column should not exist")
}
if !sqlStore.CreateColumnIfNotExists("Systems", "Test", "VARCHAR(50)", "VARCHAR(50)", "") {
t.Fatal("Failed to create column")
}
maxLen := sqlStore.GetMaxLengthOfColumnIfExists("Systems", "Test")
if maxLen != "50" {
t.Fatal("Failed to get max length found " + maxLen)
}
if !sqlStore.AlterColumnTypeIfExists("Systems", "Test", "VARCHAR(25)", "VARCHAR(25)") {
t.Fatal("failed to alter column size")
}
maxLen2 := sqlStore.GetMaxLengthOfColumnIfExists("Systems", "Test")
if maxLen2 != "25" {
t.Fatal("Failed to get max length")
}
if !sqlStore.RenameColumnIfExists("Systems", "Test", "Test1", "VARCHAR(25)") {
t.Fatal("Failed to rename column")
}
if sqlStore.DoesColumnExist("Systems", "Test") {
t.Fatal("Column should not exist")
}
if !sqlStore.DoesColumnExist("Systems", "Test1") {
t.Fatal("Column should exist")
}
sqlStore.CreateIndexIfNotExists("idx_systems_test1", "Systems", "Test1")
sqlStore.RemoveIndexIfExists("idx_systems_test1", "Systems")
sqlStore.CreateFullTextIndexIfNotExists("idx_systems_test1", "Systems", "Test1")
sqlStore.RemoveIndexIfExists("idx_systems_test1", "Systems")
if !sqlStore.RemoveColumnIfExists("Systems", "Test1") {
t.Fatal("Failed to remove columns")
}
if sqlStore.DoesColumnExist("Systems", "Test1") {
t.Fatal("Column should not exist")
}
}
func TestCreateIndexIfNotExists(t *testing.T) {
ss := Setup()
sqlStore := store.(SqlStore)
defer sqlStore.RemoveColumnIfExists("Systems", "Test")
if !sqlStore.CreateColumnIfNotExists("Systems", "Test", "VARCHAR(50)", "VARCHAR(50)", "") {
t.Fatal("Failed to create test column")
}
defer sqlStore.RemoveIndexIfExists("idx_systems_create_index_test", "Systems")
if !sqlStore.CreateIndexIfNotExists("idx_systems_create_index_test", "Systems", "Test") {
t.Fatal("Should've created test index")
}
if sqlStore.CreateIndexIfNotExists("idx_systems_create_index_test", "Systems", "Test") {
t.Fatal("Shouldn't have created index that already exists")
}
}
func TestRemoveIndexIfExists(t *testing.T) {
ss := Setup()
sqlStore := store.(SqlStore)
defer sqlStore.RemoveColumnIfExists("Systems", "Test")
if !sqlStore.CreateColumnIfNotExists("Systems", "Test", "VARCHAR(50)", "VARCHAR(50)", "") {
t.Fatal("Failed to create test column")
}
if sqlStore.RemoveIndexIfExists("idx_systems_remove_index_test", "Systems") {
t.Fatal("Should've failed to remove index that doesn't exist")
}
defer sqlStore.RemoveIndexIfExists("idx_systems_remove_index_test", "Systems")
if !sqlStore.CreateIndexIfNotExists("idx_systems_remove_index_test", "Systems", "Test") {
t.Fatal("Should've created test index")
}
if !sqlStore.RemoveIndexIfExists("idx_systems_remove_index_test", "Systems") {
t.Fatal("Should've removed index that exists")
}
if sqlStore.RemoveIndexIfExists("idx_systems_remove_index_test", "Systems") {
t.Fatal("Should've failed to remove index that was already removed")
}
}
*/