mirror of https://github.com/matrix-org/gomatrix
add tests for store.go
This commit is contained in:
parent
be2af5ef2e
commit
2250f190b1
|
@ -0,0 +1,74 @@
|
||||||
|
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)
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue