Commit c0d8ad15 authored by Dr. Stefan Schimanski's avatar Dr. Stefan Schimanski

apiserver: check that request fail after shutdown

parent b18660eb
...@@ -517,19 +517,24 @@ func TestGracefulShutdown(t *testing.T) { ...@@ -517,19 +517,24 @@ func TestGracefulShutdown(t *testing.T) {
return handler return handler
} }
handler := http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { s, err := config.Complete(nil).New("test", NewEmptyDelegate())
if err != nil {
t.Fatalf("Error in bringing up the server: %v", err)
}
twoSecondHandler := http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
wg.Done() wg.Done()
time.Sleep(2 * time.Second) time.Sleep(2 * time.Second)
w.WriteHeader(http.StatusOK) w.WriteHeader(http.StatusOK)
graceShutdown = true graceShutdown = true
}) })
okHandler := http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
wg.Done()
w.WriteHeader(http.StatusOK)
})
s, err := config.Complete(nil).New("test", NewEmptyDelegate()) s.Handler.NonGoRestfulMux.Handle("/test", twoSecondHandler)
if err != nil { s.Handler.NonGoRestfulMux.Handle("/200", okHandler)
t.Fatalf("Error in bringing up the server: %v", err)
}
s.Handler.NonGoRestfulMux.Handle("/test", handler)
insecureServer := &http.Server{ insecureServer := &http.Server{
Addr: "0.0.0.0:0", Addr: "0.0.0.0:0",
...@@ -565,6 +570,12 @@ func TestGracefulShutdown(t *testing.T) { ...@@ -565,6 +570,12 @@ func TestGracefulShutdown(t *testing.T) {
// close stopCh after request sent to server to guarantee request handler is running. // close stopCh after request sent to server to guarantee request handler is running.
wg.Wait() wg.Wait()
close(stopCh) close(stopCh)
time.Sleep(500 * time.Millisecond)
if _, err := http.Get("http://127.0.0.1:" + strconv.Itoa(serverPort) + "/200"); err == nil {
t.Errorf("Unexpected http success after stopCh was closed")
}
// wait for wait group handler finish // wait for wait group handler finish
s.HandlerChainWaitGroup.Wait() s.HandlerChainWaitGroup.Wait()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment