From 1be52afa8d6a536b01f29146af838c931e8b7b5b Mon Sep 17 00:00:00 2001 From: Elvin Efendi Date: Wed, 14 Aug 2019 15:58:02 -0400 Subject: [PATCH] e2e test for service with incomplete external name --- .../servicebackend/service_externalname.go | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/test/e2e/servicebackend/service_externalname.go b/test/e2e/servicebackend/service_externalname.go index 7ae65616d..4447f5e17 100644 --- a/test/e2e/servicebackend/service_externalname.go +++ b/test/e2e/servicebackend/service_externalname.go @@ -41,6 +41,40 @@ var _ = framework.IngressNginxDescribe("Service Type ExternalName", func() { AfterEach(func() { }) + It("works with external name set to incomplete fdqn", func() { + f.NewEchoDeployment() + + host := "echo" + + svc := &core.Service{ + ObjectMeta: metav1.ObjectMeta{ + Name: "httpbin", + Namespace: f.Namespace, + }, + Spec: corev1.ServiceSpec{ + ExternalName: "http-svc", + Type: corev1.ServiceTypeExternalName, + }, + } + + f.EnsureService(svc) + + ing := framework.NewSingleIngress(host, "/", host, f.Namespace, "httpbin", 80, nil) + f.EnsureIngress(ing) + + f.WaitForNginxServer(host, + func(server string) bool { + return strings.Contains(server, "proxy_pass http://upstream_balancer;") + }) + + resp, _, errs := gorequest.New(). + Get(f.GetURL(framework.HTTP)+"/get"). + Set("Host", host). + End() + Expect(errs).Should(BeEmpty()) + Expect(resp.StatusCode).Should(Equal(200)) + }) + It("should return 200 for service type=ExternalName without a port defined", func() { host := "echo"