39 lines
959 B
Go
39 lines
959 B
Go
package storage
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"safesight-control/internal/models"
|
|
)
|
|
|
|
func TestDevicesRepoUpsertsRuntimeSnapshot(t *testing.T) {
|
|
store := openTestStore(t)
|
|
defer store.Close()
|
|
|
|
repo := NewDevicesRepo(store.DB())
|
|
dev := &models.Device{
|
|
DeviceID: "edge-01",
|
|
Hostname: "orangepi5plus",
|
|
IP: "10.0.0.8",
|
|
AgentPort: 9100,
|
|
MediaPort: 9000,
|
|
DeviceName: "入口识别节点",
|
|
Online: true,
|
|
Version: "1.0.0",
|
|
}
|
|
if err := repo.Upsert(dev); err != nil {
|
|
t.Fatalf("Upsert: %v", err)
|
|
}
|
|
|
|
saved, err := repo.List()
|
|
if err != nil {
|
|
t.Fatalf("List: %v", err)
|
|
}
|
|
if len(saved) != 1 {
|
|
t.Fatalf("expected one device snapshot, got %d", len(saved))
|
|
}
|
|
if saved[0].DeviceID != "edge-01" || saved[0].IP != "10.0.0.8" || !saved[0].Online {
|
|
t.Fatalf("unexpected saved device snapshot: %#v", saved[0])
|
|
}
|
|
}
|