Files
glpi-neuroforge-mega/platform/neuroforge/cmd/server/main_test.go
T
groot e0bf42bf32
mega-ci / static-release-gates (push) Failing after 11s
release-tag / release-image (push) Successful in 6m46s
mega-ci / go-quality (services/control) (push) Successful in 10m7s
mega-ci / go-quality (platform/neuroforge) (push) Successful in 10m20s
mega-ci / go-quality (services/agent) (push) Successful in 11m1s
mega-ci / go-quality (services/knowledge) (push) Successful in 11m13s
mega-ci / docker-build (push) Has been skipped
update
2026-09-09 11:10:31 +02:00

39 lines
1.2 KiB
Go

package main
import (
"net/http"
"net/http/httptest"
"strings"
"testing"
)
func TestBootstrapHandlerExposesLivenessAndStartupUI(t *testing.T) {
b := newBootstrapHandler()
b.SetPhase("hnsw.rebuild")
rr := httptest.NewRecorder()
b.ServeHTTP(rr, httptest.NewRequest(http.MethodGet, "/livez", nil))
if rr.Code != http.StatusOK || !strings.Contains(rr.Body.String(), "hnsw.rebuild") {
t.Fatalf("livez=%d %s", rr.Code, rr.Body.String())
}
rr = httptest.NewRecorder()
b.ServeHTTP(rr, httptest.NewRequest(http.MethodGet, "/readyz", nil))
if rr.Code != http.StatusServiceUnavailable {
t.Fatalf("readyz=%d", rr.Code)
}
rr = httptest.NewRecorder()
b.ServeHTTP(rr, httptest.NewRequest(http.MethodGet, "/admin", nil))
if rr.Code != http.StatusServiceUnavailable || !strings.Contains(rr.Body.String(), "hnsw.rebuild") {
t.Fatalf("admin=%d %s", rr.Code, rr.Body.String())
}
b.SetHandler(http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) { w.WriteHeader(http.StatusNoContent) }))
rr = httptest.NewRecorder()
b.ServeHTTP(rr, httptest.NewRequest(http.MethodGet, "/admin", nil))
if rr.Code != http.StatusNoContent {
t.Fatalf("delegated=%d", rr.Code)
}
}