From 897c350c3d60649fdc6fc2634ef095f345385b02 Mon Sep 17 00:00:00 2001 From: Manuel de Brito Fontes Date: Tue, 16 Jan 2018 16:46:18 -0300 Subject: [PATCH] Fix tests --- test/e2e/framework/framework.go | 15 ++++++++++++++- test/e2e/settings/server_tokens.go | 4 ++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/test/e2e/framework/framework.go b/test/e2e/framework/framework.go index 20994decc6..58cebbefb5 100644 --- a/test/e2e/framework/framework.go +++ b/test/e2e/framework/framework.go @@ -173,6 +173,13 @@ func (f *Framework) WaitForNginxServer(name string, matcher func(cfg string) boo return wait.PollImmediate(Poll, time.Minute*2, f.matchNginxConditions(name, matcher)) } +// WaitForNginxConfiguration waits until the nginx configuration contains a particular configuration +func (f *Framework) WaitForNginxConfiguration(matcher func(cfg string) bool) error { + // initial wait to allow the update of the ingress controller + time.Sleep(5 * time.Second) + return wait.PollImmediate(Poll, time.Minute*2, f.matchNginxConditions("", matcher)) +} + // NginxLogs returns the logs of the nginx ingress controller pod running func (f *Framework) NginxLogs() (string, error) { l, err := f.KubeClientSet.CoreV1().Pods("ingress-nginx").List(metav1.ListOptions{ @@ -210,7 +217,13 @@ func (f *Framework) matchNginxConditions(name string, matcher func(cfg string) b return false, fmt.Errorf("unexpected number of nginx ingress controller pod is running (%v)", len(l.Items)) } - cmd := fmt.Sprintf("cat /etc/nginx/nginx.conf | awk '/## start server %v/,/## end server %v/'", name, name) + var cmd string + if name == "" { + cmd = fmt.Sprintf("cat /etc/nginx/nginx.conf") + } else { + cmd = fmt.Sprintf("cat /etc/nginx/nginx.conf | awk '/## start server %v/,/## end server %v/'", name, name) + } + o, err := f.ExecCommand(&l.Items[0], cmd) if err != nil { return false, err diff --git a/test/e2e/settings/server_tokens.go b/test/e2e/settings/server_tokens.go index e2ad95ebcc..e0b9077f28 100644 --- a/test/e2e/settings/server_tokens.go +++ b/test/e2e/settings/server_tokens.go @@ -75,7 +75,7 @@ var _ = framework.IngressNginxDescribe("Server Tokens", func() { Expect(err).NotTo(HaveOccurred()) Expect(ing).NotTo(BeNil()) - err = f.WaitForNginxServer(serverTokens, + err = f.WaitForNginxConfiguration( func(server string) bool { return strings.Contains(server, "server_tokens off") && strings.Contains(server, "more_set_headers \"Server: \"") @@ -119,7 +119,7 @@ var _ = framework.IngressNginxDescribe("Server Tokens", func() { Expect(err).NotTo(HaveOccurred()) Expect(ing).NotTo(BeNil()) - err = f.WaitForNginxServer(serverTokens, + err = f.WaitForNginxConfiguration( func(server string) bool { return strings.Contains(server, "server_tokens on") })