|
|
|
@@ -8,8 +8,8 @@ import ( |
|
|
|
"net/http/httptest" |
|
|
|
"testing" |
|
|
|
|
|
|
|
cfgpkg "github.com/jan/fm-rds-tx/internal/config" |
|
|
|
"github.com/jan/fm-rds-tx/internal/audio" |
|
|
|
cfgpkg "github.com/jan/fm-rds-tx/internal/config" |
|
|
|
"github.com/jan/fm-rds-tx/internal/output" |
|
|
|
) |
|
|
|
|
|
|
|
@@ -92,6 +92,23 @@ func TestStatusReportsQueueStats(t *testing.T) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
func TestStatusReportsRuntimeState(t *testing.T) { |
|
|
|
srv := NewServer(cfgpkg.Default()) |
|
|
|
srv.SetTXController(&fakeTXController{stats: map[string]any{"state": "faulted"}}) |
|
|
|
rec := httptest.NewRecorder() |
|
|
|
srv.Handler().ServeHTTP(rec, httptest.NewRequest(http.MethodGet, "/status", nil)) |
|
|
|
if rec.Code != 200 { |
|
|
|
t.Fatalf("status: %d", rec.Code) |
|
|
|
} |
|
|
|
var body map[string]any |
|
|
|
if err := json.Unmarshal(rec.Body.Bytes(), &body); err != nil { |
|
|
|
t.Fatalf("unmarshal runtime state: %v", err) |
|
|
|
} |
|
|
|
if body["runtimeState"] != "faulted" { |
|
|
|
t.Fatalf("expected runtimeState faulted, got %v", body["runtimeState"]) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
func TestDryRunEndpoint(t *testing.T) { |
|
|
|
srv := NewServer(cfgpkg.Default()) |
|
|
|
rec := httptest.NewRecorder() |
|
|
|
@@ -301,4 +318,4 @@ func (f *fakeTXController) TXStats() map[string]any { |
|
|
|
return map[string]any{} |
|
|
|
} |
|
|
|
func (f *fakeTXController) UpdateConfig(_ LivePatch) error { return f.updateErr } |
|
|
|
func (f *fakeTXController) ResetFault() error { return f.resetErr } |
|
|
|
func (f *fakeTXController) ResetFault() error { return f.resetErr } |