summaryrefslogtreecommitdiffstats
path: root/store/sqlstore/upgrade_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'store/sqlstore/upgrade_test.go')
-rw-r--r--store/sqlstore/upgrade_test.go41
1 files changed, 41 insertions, 0 deletions
diff --git a/store/sqlstore/upgrade_test.go b/store/sqlstore/upgrade_test.go
new file mode 100644
index 000000000..d8d6a9e9d
--- /dev/null
+++ b/store/sqlstore/upgrade_test.go
@@ -0,0 +1,41 @@
+// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+package sqlstore
+
+import (
+ "testing"
+
+ "github.com/mattermost/mattermost-server/model"
+ "github.com/mattermost/mattermost-server/store"
+)
+
+func TestStoreUpgrade(t *testing.T) {
+ ss := Setup()
+
+ saveSchemaVersion(ss.(*store.LayeredStore).DatabaseLayer.(SqlStore), VERSION_3_0_0)
+ UpgradeDatabase(ss.(*store.LayeredStore).DatabaseLayer.(SqlStore))
+
+ saveSchemaVersion(ss.(*store.LayeredStore).DatabaseLayer.(SqlStore), "")
+ UpgradeDatabase(ss.(*store.LayeredStore).DatabaseLayer.(SqlStore))
+}
+
+func TestSaveSchemaVersion(t *testing.T) {
+ ss := Setup()
+
+ saveSchemaVersion(ss.(*store.LayeredStore).DatabaseLayer.(SqlStore), VERSION_3_0_0)
+ if result := <-ss.System().Get(); result.Err != nil {
+ t.Fatal(result.Err)
+ } else {
+ props := result.Data.(model.StringMap)
+ if props["Version"] != VERSION_3_0_0 {
+ t.Fatal("version not updated")
+ }
+ }
+
+ if ss.(*store.LayeredStore).DatabaseLayer.(SqlStore).GetCurrentSchemaVersion() != VERSION_3_0_0 {
+ t.Fatal("version not updated")
+ }
+
+ saveSchemaVersion(ss.(*store.LayeredStore).DatabaseLayer.(SqlStore), model.CurrentVersion)
+}