73 lines
1.5 KiB
Go
73 lines
1.5 KiB
Go
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")
|
|
err := StoreMessage(&id.Peers[0], &um, GetConfig().memoryPassword)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
messages, err := GetMessagesHistory(&id.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.Data, 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()
|
|
for i := 1; i < 100; i++ {
|
|
var um meowlib.UserMessage
|
|
um.Data = []byte(randomLenString(20, 200))
|
|
err := StoreMessage(&id.Peers[0], &um, GetConfig().memoryPassword)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
}
|
|
messages, err := GetMessagesHistory(&id.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)
|
|
}
|
|
}
|
|
}
|