Files
meowlib/client/peerstorage_test.go
2026-02-02 18:15:57 +01:00

55 lines
1.2 KiB
Go

package client
import (
"testing"
"github.com/google/uuid"
)
func TestStorePeer(t *testing.T) {
id := createId(t)
err := GetConfig().SetMemPass("test")
if err != nil {
t.Fatalf("Failed to set password: %v", err)
}
GetConfig().SetIdentity(id)
ps := &PeerStorage{
DbFile: "peerdb.test",
cache: nil,
db: nil,
}
peer := &Peer{
Uid: uuid.New().String(),
Name: "testName",
InvitationId: "testInvitationId",
MyName: "testMyName",
ContactPublicKey: "testContactPublicKey",
}
err = ps.StorePeer(peer)
if err != nil {
t.Errorf("Failed to store peer: %v", err)
}
// load the peer from the database
password, err := GetConfig().GetMemPass()
if err != nil {
t.Fatalf("Failed to get password: %v", err)
}
peers, err := ps.LoadPeers(password)
if err != nil {
t.Errorf("Failed to load peers: %v", err)
}
if len(peers) != 1 {
t.Errorf("Expected 1 peer, got %d", len(peers))
}
if peers[0].Uid != peer.Uid {
t.Errorf("Expected peer to have uid %s, got %s", peer.Uid, peers[0].Uid)
}
if peers[0].MyName != peer.MyName {
t.Errorf("Expected peer to have MyName %s, got %s", peer.MyName, peers[0].MyName)
}
}