Skip to content
This repository was archived by the owner on Feb 21, 2024. It is now read-only.
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions store_test.go
Original file line number Diff line number Diff line change
@@ -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)
}
}