mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-06 02:34:03 +00:00
apiserver: check that request fail after shutdown
This commit is contained in:
parent
b18660eb6c
commit
c0d8ad1578
@ -517,19 +517,24 @@ func TestGracefulShutdown(t *testing.T) {
|
|||||||
return handler
|
return handler
|
||||||
}
|
}
|
||||||
|
|
||||||
handler := http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
|
|
||||||
wg.Done()
|
|
||||||
time.Sleep(2 * time.Second)
|
|
||||||
w.WriteHeader(http.StatusOK)
|
|
||||||
graceShutdown = true
|
|
||||||
})
|
|
||||||
|
|
||||||
s, err := config.Complete(nil).New("test", NewEmptyDelegate())
|
s, err := config.Complete(nil).New("test", NewEmptyDelegate())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Error in bringing up the server: %v", err)
|
t.Fatalf("Error in bringing up the server: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
s.Handler.NonGoRestfulMux.Handle("/test", handler)
|
twoSecondHandler := http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
|
||||||
|
wg.Done()
|
||||||
|
time.Sleep(2 * time.Second)
|
||||||
|
w.WriteHeader(http.StatusOK)
|
||||||
|
graceShutdown = true
|
||||||
|
})
|
||||||
|
okHandler := http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
|
||||||
|
wg.Done()
|
||||||
|
w.WriteHeader(http.StatusOK)
|
||||||
|
})
|
||||||
|
|
||||||
|
s.Handler.NonGoRestfulMux.Handle("/test", twoSecondHandler)
|
||||||
|
s.Handler.NonGoRestfulMux.Handle("/200", okHandler)
|
||||||
|
|
||||||
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) {
|
|||||||
// 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()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user