summaryrefslogtreecommitdiff
path: root/internal/flamegraph/webserver_timeout_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-02 07:41:33 +0200
committerPaul Buetow <paul@buetow.org>2026-03-02 07:41:33 +0200
commitb6c424b769b6f7d19c805327d59b1daa76f72285 (patch)
treebeb5d7a1325a0953b3442dd4817d27c3f8dd1a99 /internal/flamegraph/webserver_timeout_test.go
parente5409861c00e4334baa9ba75b277332ec14089ed (diff)
Add HTTP timeouts for flamegraph web servers
Diffstat (limited to 'internal/flamegraph/webserver_timeout_test.go')
-rw-r--r--internal/flamegraph/webserver_timeout_test.go43
1 files changed, 43 insertions, 0 deletions
diff --git a/internal/flamegraph/webserver_timeout_test.go b/internal/flamegraph/webserver_timeout_test.go
new file mode 100644
index 0000000..c1df7e5
--- /dev/null
+++ b/internal/flamegraph/webserver_timeout_test.go
@@ -0,0 +1,43 @@
+package flamegraph
+
+import (
+ "net/http"
+ "testing"
+ "time"
+)
+
+func TestNewHTTPServerUsesConfiguredTimeouts(t *testing.T) {
+ mux := http.NewServeMux()
+ timeouts := serverTimeouts{
+ readTimeout: 11 * time.Second,
+ writeTimeout: 44 * time.Second,
+ idleTimeout: 66 * time.Second,
+ }
+
+ srv := newHTTPServer(mux, timeouts)
+
+ if srv.Handler != mux {
+ t.Fatalf("Handler not set from mux")
+ }
+ if srv.ReadTimeout != timeouts.readTimeout {
+ t.Fatalf("ReadTimeout = %v, want %v", srv.ReadTimeout, timeouts.readTimeout)
+ }
+ if srv.WriteTimeout != timeouts.writeTimeout {
+ t.Fatalf("WriteTimeout = %v, want %v", srv.WriteTimeout, timeouts.writeTimeout)
+ }
+ if srv.IdleTimeout != timeouts.idleTimeout {
+ t.Fatalf("IdleTimeout = %v, want %v", srv.IdleTimeout, timeouts.idleTimeout)
+ }
+}
+
+func TestLiveServerWriteTimeoutIsLongerThanDefault(t *testing.T) {
+ if liveServerTimeouts.readTimeout != defaultServerTimeouts.readTimeout {
+ t.Fatalf("read timeout mismatch: live=%v default=%v", liveServerTimeouts.readTimeout, defaultServerTimeouts.readTimeout)
+ }
+ if liveServerTimeouts.idleTimeout != defaultServerTimeouts.idleTimeout {
+ t.Fatalf("idle timeout mismatch: live=%v default=%v", liveServerTimeouts.idleTimeout, defaultServerTimeouts.idleTimeout)
+ }
+ if liveServerTimeouts.writeTimeout <= defaultServerTimeouts.writeTimeout {
+ t.Fatalf("expected live write timeout > default write timeout, got live=%v default=%v", liveServerTimeouts.writeTimeout, defaultServerTimeouts.writeTimeout)
+ }
+}