diff options
Diffstat (limited to 'store/sqlstore/store_test.go')
-rw-r--r-- | store/sqlstore/store_test.go | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/store/sqlstore/store_test.go b/store/sqlstore/store_test.go new file mode 100644 index 000000000..0f306a475 --- /dev/null +++ b/store/sqlstore/store_test.go @@ -0,0 +1,151 @@ +// 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") + } +} +*/ |