diff options
Diffstat (limited to 'internal/flamegraph/webserver_timeout_test.go')
| -rw-r--r-- | internal/flamegraph/webserver_timeout_test.go | 43 |
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) + } +} |
