Skip to content
Snippets Groups Projects
Commit a10b25ff authored by Jake Taylor's avatar Jake Taylor
Browse files

more tests

parent 6e13c55e
No related branches found
No related tags found
2 merge requests!60Revert "Fail a test to be sure it works",!4Xx 4114/index db
...@@ -258,11 +258,12 @@ func (w *wasmModel) receiveHelper(newMessage *Message) error { ...@@ -258,11 +258,12 @@ func (w *wasmModel) receiveHelper(newMessage *Message) error {
if err != nil { if err != nil {
return errors.Errorf("Upserting Message failed: %+v", err) return errors.Errorf("Upserting Message failed: %+v", err)
} }
jww.DEBUG.Printf("Successfully received message: %s", newMessage.Id) jww.DEBUG.Printf("Successfully stored message from %s",
newMessage.SenderUsername)
return nil return nil
} }
// dump is used to output given ObjectStore contents to log for debugging // dump given [idb.ObjectStore] contents to string slice for debugging purposes
func (w *wasmModel) dump(objectStoreName string) ([]string, error) { func (w *wasmModel) dump(objectStoreName string) ([]string, error) {
parentErr := errors.Errorf("failed to dump %s", objectStoreName) parentErr := errors.Errorf("failed to dump %s", objectStoreName)
......
...@@ -8,17 +8,78 @@ ...@@ -8,17 +8,78 @@
package indexedDb package indexedDb
import ( import (
"encoding/json"
jww "github.com/spf13/jwalterweatherman" jww "github.com/spf13/jwalterweatherman"
"gitlab.com/elixxir/client/channels"
cryptoBroadcast "gitlab.com/elixxir/crypto/broadcast" cryptoBroadcast "gitlab.com/elixxir/crypto/broadcast"
"gitlab.com/elixxir/crypto/channel"
"gitlab.com/xx_network/primitives/id" "gitlab.com/xx_network/primitives/id"
"os"
"testing" "testing"
"time"
) )
func TestWasmModel_JoinChannel_LeaveChannel(t *testing.T) { func TestMain(m *testing.M) {
testDbName := "test" jww.SetStdoutThreshold(jww.LevelDebug)
jww.SetStdoutThreshold(jww.LevelTrace) os.Exit(m.Run())
}
// Test UpdateSentStatus happy path and ensure fields don't change
func TestWasmModel_UpdateSentStatus(t *testing.T) {
testString := "test"
testMsgId := channel.MakeMessageID([]byte(testString))
eventModel, err := newWasmModel(testString)
if err != nil {
t.Fatalf("%+v", err)
}
// Store a test message
testMsg := buildMessage([]byte(testString), testMsgId.Bytes(),
nil, testString, testString, time.Now(), time.Second, channels.Sent)
err = eventModel.receiveHelper(testMsg)
if err != nil {
t.Fatalf("%+v", err)
}
// Ensure one message is stored
results, err := eventModel.dump(messageStoreName)
if err != nil {
t.Fatalf("%+v", err)
}
if len(results) != 1 {
t.Fatalf("Expected 1 message to exist")
}
eventModel, err := newWasmModel(testDbName) // Update the sentStatus
expectedStatus := channels.Failed
eventModel.UpdateSentStatus(testMsgId, expectedStatus)
// Check the resulting status
results, err = eventModel.dump(messageStoreName)
if err != nil {
t.Fatalf("%+v", err)
}
if len(results) != 1 {
t.Fatalf("Expected 1 message to exist")
}
resultMsg := &Message{}
err = json.Unmarshal([]byte(results[0]), resultMsg)
if err != nil {
t.Fatalf("%+v", err)
}
if resultMsg.Status != uint8(expectedStatus) {
t.Fatalf("Unexpected Status: %v", resultMsg.Status)
}
// Make sure other fields didn't change
if resultMsg.SenderUsername != testString {
t.Fatalf("Unexpected SenderUsername: %v", resultMsg.SenderUsername)
}
}
// Smoke test JoinChannel/LeaveChannel happy paths
func TestWasmModel_JoinChannel_LeaveChannel(t *testing.T) {
eventModel, err := newWasmModel("test")
if err != nil { if err != nil {
t.Fatalf("%+v", err) t.Fatalf("%+v", err)
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment