meowlib/client/messagestorage_test.go

84 lines
1.8 KiB
Go
Raw Permalink Normal View History

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")
2024-05-28 16:47:04 +02:00
peers, err := id.Peers.GetPeers()
if err != nil {
log.Fatal(err)
}
2024-05-28 16:47:04 +02:00
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")
2024-02-29 21:03:15 +01:00
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)
}
}
}
2023-02-17 22:30:13 +01:00
func TestManyStoreMessage(t *testing.T) {
id := createId()
2024-05-28 16:47:04 +02:00
peers, err := id.Peers.GetPeers()
2024-03-05 23:15:19 +01:00
// test with zero messages
2024-05-28 16:47:04 +02:00
messages, err := GetMessagesHistory(peers[0], 0, 0, 10, GetConfig().memoryPassword)
2024-03-05 23:15:19 +01:00
if err != nil {
log.Fatal(err)
}
assert.Equal(t, len(messages), 0, "not 0 message")
2023-02-17 22:30:13 +01:00
for i := 1; i < 100; i++ {
var um meowlib.UserMessage
um.Data = []byte(randomLenString(20, 200))
2024-05-28 16:47:04 +02:00
err := StoreMessage(peers[0], &um, []string{}, GetConfig().memoryPassword)
2023-02-17 22:30:13 +01:00
if err != nil {
log.Fatal(err)
}
}
2024-05-28 16:47:04 +02:00
messages, err = GetMessagesHistory(peers[0], 0, 0, 10, GetConfig().memoryPassword)
2023-02-17 22:30:13 +01:00
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)
}
}
}