package client import ( "log" "os" "path/filepath" "testing" "forge.redroom.link/yves/meowlib" "github.com/stretchr/testify/assert" ) func TestStoreMessage(t *testing.T) { id := createId() var um meowlib.UserMessage um.Data = []byte("blabla") peers, err := id.Peers.GetPeers() if err != nil { log.Fatal(err) } err = StoreMessage(peers[0], &um, []string{}, GetConfig().memoryPassword) if err != nil { log.Fatal(err) } messages, err := GetMessagesHistory(peers[0], 0, 0, 10, GetConfig().memoryPassword) if err != nil { log.Fatal(err) } // Checks assert.Equal(t, len(messages), 1, "not 1 message") assert.Equal(t, messages[0].Message, string(um.Data), "not 1 message") // Cleanup if exists("test.id") { os.Remove("test.id") } files, err := filepath.Glob("*.sqlite") if err != nil { panic(err) } for _, f := range files { if err := os.Remove(f); err != nil { panic(err) } } } func TestManyStoreMessage(t *testing.T) { id := createId() peers, err := id.Peers.GetPeers() // test with zero messages messages, err := GetMessagesHistory(peers[0], 0, 0, 10, GetConfig().memoryPassword) if err != nil { log.Fatal(err) } assert.Equal(t, len(messages), 0, "not 0 message") for i := 1; i < 100; i++ { var um meowlib.UserMessage um.Data = []byte(randomLenString(20, 200)) err := StoreMessage(peers[0], &um, []string{}, GetConfig().memoryPassword) if err != nil { log.Fatal(err) } } messages, err = GetMessagesHistory(peers[0], 0, 0, 10, GetConfig().memoryPassword) if err != nil { log.Fatal(err) } // Checks assert.Equal(t, len(messages), 10, "not 10 message") // Cleanup if exists("test.id") { os.Remove("test.id") } files, err := filepath.Glob("*.sqlite") if err != nil { panic(err) } for _, f := range files { if err := os.Remove(f); err != nil { panic(err) } } }