github.com/demisto/mattermost-server@v4.9.0-rc3+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  }