gomatrix/store_test.go

75 lines
1.9 KiB
Go

package gomatrix
import (
"testing"
)
func TestNewInMemoryStore(t *testing.T) {
s := NewInMemoryStore()
if s.Filters == nil || s.NextBatch == nil || s.Rooms == nil {
t.Fatal("TestNewInMemoryStore: New InMemoryStore object has not been correctly initialized")
}
}
func TestSaveFilterID(t *testing.T) {
uid, fid := "user001", "Filter001"
s := NewInMemoryStore()
s.SaveFilterID(uid, fid)
f, ok := s.Filters[uid]
if !ok || f != fid {
t.Fatalf("TestSaveFilterID: The desired value '%s' was not correctly stored under key '%s' and could not be retrieved", fid, uid)
}
}
func TestLoadFilterID(t *testing.T) {
uid, fid := "user001", "Filter001"
s := NewInMemoryStore()
s.SaveFilterID(uid, fid)
f := s.LoadFilterID(uid)
if f != fid {
t.Fatalf("TestLoadFilterID: The desired value '%s' has not been correctly loaded. Obtained '%s' instead", fid, f)
}
}
func TestSaveNextBatch(t *testing.T) {
uid, btok := "user001", "Batch001"
s := NewInMemoryStore()
s.SaveNextBatch(uid, btok)
b, ok := s.NextBatch[uid]
if !ok || b != btok {
t.Fatalf("TestSaveNextBatch: The desired value '%s' has not been correctly stored in memory under key '%s'", btok, uid)
}
}
func TestLoadNextBatch(t *testing.T) {
uid, btok := "user001", "Batch001"
s := NewInMemoryStore()
s.SaveNextBatch(uid, btok)
b := s.LoadNextBatch(uid)
if b != btok {
t.Fatalf("TestSaveNextBatch: The desired value '%s' has not been correctly loaded. Obtained '%s'", btok, b)
}
}
func TestSaveRoom(t *testing.T) {
rid := "room001"
s := NewInMemoryStore()
r := NewRoom(rid)
s.SaveRoom(r)
memr, ok := s.Rooms[rid]
if !ok || memr != r {
t.Fatalf("TestSaveRoom: Failed to correctly save room of id '%s' to memory", rid)
}
}
func TestLoadRoom(t *testing.T) {
rid := "room001"
s := NewInMemoryStore()
r := NewRoom(rid)
s.SaveRoom(r)
memr := s.LoadRoom(rid)
if memr != r {
t.Fatalf("TestSaveRoom: Failed to correctly Load room of id '%s' from memory", rid)
}
}