summaryrefslogtreecommitdiff
path: root/internal/flamegraph/webserver_timeout_test.go
diff options
context:
space:
mode:
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)
+ }
+}