|
- package control
-
- import (
- "encoding/json"
- "net/http"
- "net/http/httptest"
- "testing"
-
- cfgpkg "github.com/jan/fm-rds-tx/internal/config"
- )
-
- func TestHealthz(t *testing.T) {
- srv := NewServer(cfgpkg.Default())
- req := httptest.NewRequest(http.MethodGet, "/healthz", nil)
- rec := httptest.NewRecorder()
- srv.Handler().ServeHTTP(rec, req)
- if rec.Code != http.StatusOK {
- t.Fatalf("unexpected status: %d", rec.Code)
- }
- }
-
- func TestStatus(t *testing.T) {
- srv := NewServer(cfgpkg.Default())
- req := httptest.NewRequest(http.MethodGet, "/status", nil)
- rec := httptest.NewRecorder()
- srv.Handler().ServeHTTP(rec, req)
- if rec.Code != http.StatusOK {
- t.Fatalf("unexpected status: %d", rec.Code)
- }
- var body map[string]any
- if err := json.Unmarshal(rec.Body.Bytes(), &body); err != nil {
- t.Fatalf("decode body: %v", err)
- }
- if body["service"] != "fm-rds-tx" {
- t.Fatalf("unexpected service: %v", body["service"])
- }
- }
-
- func TestDryRunEndpoint(t *testing.T) {
- srv := NewServer(cfgpkg.Default())
- req := httptest.NewRequest(http.MethodGet, "/dry-run", nil)
- rec := httptest.NewRecorder()
- srv.Handler().ServeHTTP(rec, req)
- if rec.Code != http.StatusOK {
- t.Fatalf("unexpected status: %d", rec.Code)
- }
- var body map[string]any
- if err := json.Unmarshal(rec.Body.Bytes(), &body); err != nil {
- t.Fatalf("decode body: %v", err)
- }
- if body["mode"] != "dry-run" {
- t.Fatalf("unexpected mode: %v", body["mode"])
- }
- }
|