From 15d93876c87825550e924db3235433413da831b5 Mon Sep 17 00:00:00 2001 From: Michal Fojtik Date: Wed, 30 Jan 2019 09:34:43 +0100 Subject: [PATCH] Wait for post-hooks to run before checking the healthz output Kubernetes-commit: 8a2f709b35e750a40b12ccf287e279b1da0f07ec --- pkg/server/config_test.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkg/server/config_test.go b/pkg/server/config_test.go index 8d7aa170c..524b79138 100644 --- a/pkg/server/config_test.go +++ b/pkg/server/config_test.go @@ -56,7 +56,9 @@ func TestNewWithDelegate(t *testing.T) { w.WriteHeader(http.StatusForbidden) }) + delegatePostStartHookChan := make(chan struct{}) delegateServer.AddPostStartHook("delegate-post-start-hook", func(context PostStartHookContext) error { + defer close(delegatePostStartHookChan) return nil }) @@ -82,7 +84,9 @@ func TestNewWithDelegate(t *testing.T) { w.WriteHeader(http.StatusUnauthorized) }) + wrappingPostStartHookChan := make(chan struct{}) wrappingServer.AddPostStartHook("wrapping-post-start-hook", func(context PostStartHookContext) error { + defer close(wrappingPostStartHookChan) return nil }) @@ -94,6 +98,10 @@ func TestNewWithDelegate(t *testing.T) { server := httptest.NewServer(wrappingServer.Handler) defer server.Close() + // Wait for the hooks to finish before checking the response + <-delegatePostStartHookChan + <-wrappingPostStartHookChan + checkPath(server.URL, http.StatusOK, `{ "paths": [ "/apis",