test: cover on-demand liveview refresh (#54)

This commit is contained in:
ila
2026-08-13 15:08:23 +08:00
parent ea4940eba4
commit 07b08f12b1
@@ -44,3 +44,28 @@ func TestTTLIsBounded(t *testing.T) {
t.Fatalf("ttl=%v", service.ttl)
}
}
func TestSessionPollRefreshesOnDemandMediaState(t *testing.T) {
service, err := NewService("http://127.0.0.1:8889", time.Minute)
if err != nil {
t.Fatal(err)
}
route := media.Route{ID: "device:main", DeviceID: "device", ProfileToken: "main", Path: "sense_device_main", Desired: "running", Actual: "waiting"}
service.route = func(context.Context, string) (media.Route, error) { return route, nil }
service.refresh = func(context.Context, string) (media.Route, error) {
updated := route
updated.Actual = "ready"
updated.Detail = "上游拉流正常"
updated.Readers = 1
return updated, nil
}
session, err := service.Create(context.Background(), "owner", route.ID)
if err != nil || session.Status != "waiting" || session.PlayerURL == "" {
t.Fatalf("session=%#v err=%v", session, err)
}
updated, err := service.Get(context.Background(), "owner", session.ID)
if err != nil || updated.Status != "ready" || updated.Detail != "上游拉流正常" {
t.Fatalf("updated=%#v err=%v", updated, err)
}
}