github.com/wgh-/mattermost-server@v4.8.0-rc2+incompatible/store/storetest/system_store.go (about) 1 // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. 2 // See License.txt for license information. 3 4 package storetest 5 6 import ( 7 "testing" 8 9 "github.com/mattermost/mattermost-server/model" 10 "github.com/mattermost/mattermost-server/store" 11 ) 12 13 func TestSystemStore(t *testing.T, ss store.Store) { 14 t.Run("", func(t *testing.T) { testSystemStore(t, ss) }) 15 t.Run("SaveOrUpdate", func(t *testing.T) { testSystemStoreSaveOrUpdate(t, ss) }) 16 } 17 18 func testSystemStore(t *testing.T, ss store.Store) { 19 system := &model.System{Name: model.NewId(), Value: "value"} 20 store.Must(ss.System().Save(system)) 21 22 result := <-ss.System().Get() 23 systems := result.Data.(model.StringMap) 24 25 if systems[system.Name] != system.Value { 26 t.Fatal() 27 } 28 29 system.Value = "value2" 30 store.Must(ss.System().Update(system)) 31 32 result2 := <-ss.System().Get() 33 systems2 := result2.Data.(model.StringMap) 34 35 if systems2[system.Name] != system.Value { 36 t.Fatal() 37 } 38 39 result3 := <-ss.System().GetByName(system.Name) 40 rsystem := result3.Data.(*model.System) 41 if rsystem.Value != system.Value { 42 t.Fatal() 43 } 44 } 45 46 func testSystemStoreSaveOrUpdate(t *testing.T, ss store.Store) { 47 system := &model.System{Name: model.NewId(), Value: "value"} 48 49 if err := (<-ss.System().SaveOrUpdate(system)).Err; err != nil { 50 t.Fatal(err) 51 } 52 53 system.Value = "value2" 54 55 if r := <-ss.System().SaveOrUpdate(system); r.Err != nil { 56 t.Fatal(r.Err) 57 } 58 }