Files
kandev/apps/backend/internal/gateway/websocket/lsp_capacity_test.go
T
2026-08-21 19:28:21 +01:00

33 lines
910 B
Go

package websocket
import "testing"
func TestLSPCapacityLimiterRejectsAboveMaxAndReleases(t *testing.T) {
limiter := newLSPCapacityLimiter(1)
if !limiter.TryAcquire() {
t.Fatal("first acquire should succeed")
}
if limiter.TryAcquire() {
t.Fatal("second acquire should fail at capacity")
}
limiter.Release()
if !limiter.TryAcquire() {
t.Fatal("acquire after release should succeed")
}
}
func TestLSPCapacityLimiterFallsBackToDefaultForInvalidEnv(t *testing.T) {
t.Setenv("KANDEV_LSP_MAX_CONNECTIONS", "not-a-number")
limiter := newLSPCapacityLimiterFromEnv()
if limiter.max != defaultLSPMaxConnections {
t.Fatalf("max = %d, want %d", limiter.max, defaultLSPMaxConnections)
}
}
func TestNewLSPHandlerUsesTypedCapacity(t *testing.T) {
handler := NewLSPHandler(nil, nil, testLogger(), 21)
if handler.capacity.max != 21 {
t.Fatalf("LSP capacity = %d, want 21", handler.capacity.max)
}
}