refactor: rewrite handler-base as Go module
Replace Python handler-base library with Go module providing: - config: environment-based configuration - health: HTTP health/readiness server for k8s probes - natsutil: NATS/JetStream client with msgpack serialization - telemetry: OpenTelemetry tracing and metrics setup - clients: HTTP clients for LLM, embeddings, reranker, STT, TTS - handler: base Handler runner wiring NATS + health + telemetry Implements ADR-0061 Phase 1.
This commit is contained in:
42
config/config_test.go
Normal file
42
config/config_test.go
Normal file
@@ -0,0 +1,42 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
func TestLoadDefaults(t *testing.T) {
|
||||
s := Load()
|
||||
if s.ServiceName != "handler" {
|
||||
t.Errorf("expected default ServiceName 'handler', got %q", s.ServiceName)
|
||||
}
|
||||
if s.HealthPort != 8080 {
|
||||
t.Errorf("expected default HealthPort 8080, got %d", s.HealthPort)
|
||||
}
|
||||
if s.HTTPTimeout != 60*time.Second {
|
||||
t.Errorf("expected default HTTPTimeout 60s, got %v", s.HTTPTimeout)
|
||||
}
|
||||
}
|
||||
|
||||
func TestLoadFromEnv(t *testing.T) {
|
||||
os.Setenv("SERVICE_NAME", "test-svc")
|
||||
os.Setenv("HEALTH_PORT", "9090")
|
||||
os.Setenv("OTEL_ENABLED", "false")
|
||||
defer func() {
|
||||
os.Unsetenv("SERVICE_NAME")
|
||||
os.Unsetenv("HEALTH_PORT")
|
||||
os.Unsetenv("OTEL_ENABLED")
|
||||
}()
|
||||
|
||||
s := Load()
|
||||
if s.ServiceName != "test-svc" {
|
||||
t.Errorf("expected ServiceName 'test-svc', got %q", s.ServiceName)
|
||||
}
|
||||
if s.HealthPort != 9090 {
|
||||
t.Errorf("expected HealthPort 9090, got %d", s.HealthPort)
|
||||
}
|
||||
if s.OTELEnabled {
|
||||
t.Error("expected OTELEnabled false")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user