Skip to content

Commit

Permalink
e2e: add test for case where an empty secret is populated later (#1131)
Browse files Browse the repository at this point in the history
* test: add test for case where an empty secret is populated later

* install empty secret before app
  • Loading branch information
akshaysngupta committed Feb 5, 2021
1 parent 38cd695 commit ee7d072
Show file tree
Hide file tree
Showing 6 changed files with 111 additions and 0 deletions.
40 changes: 40 additions & 0 deletions scripts/e2e/cmd/runner/mfu_one_namespace_one_ingress_test.go
Expand Up @@ -359,6 +359,46 @@ var _ = Describe("MFU", func() {
Expect(readBody(resp)).To(Equal("app"))
})

It("[empty-secret] should be able to update application gateway if empty secret is populated", func() {
namespaceName := "e2e-empty-secret"
ns := &v1.Namespace{
ObjectMeta: metav1.ObjectMeta{
Name: namespaceName,
},
}
klog.Info("Creating namespace: ", namespaceName)
_, err = clientset.CoreV1().Namespaces().Create(ns)
Expect(err).To(BeNil())

EmptySecretYamlPath := "testdata/one-namespace-one-ingress/empty-secret/empty-secret.yaml"
klog.Info("Applying empty secret yaml: ", EmptySecretYamlPath)
err = applyYaml(clientset, namespaceName, EmptySecretYamlPath)
Expect(err).To(BeNil())
time.Sleep(30 * time.Second)

AppYamlPath := "testdata/one-namespace-one-ingress/empty-secret/app.yaml"
klog.Info("Applying App yaml: ", AppYamlPath)
err = applyYaml(clientset, namespaceName, AppYamlPath)
Expect(err).To(BeNil())
time.Sleep(30 * time.Second)

SecretYamlPath := "testdata/one-namespace-one-ingress/empty-secret/populated-secret.yaml"
klog.Info("Update secret yaml: ", SecretYamlPath)
err = updateYaml(clientset, namespaceName, SecretYamlPath)
Expect(err).To(BeNil())
time.Sleep(30 * time.Second)

// get ip address for 1 ingress
klog.Info("Getting public IP from Ingress...")
publicIP, _ := getPublicIP(clientset, namespaceName)
Expect(publicIP).ToNot(Equal(""))

urlHttps := fmt.Sprintf("https://%s", publicIP)
// http get to return 200 ok
_, err = makeGetRequest(urlHttps, "example.com", 200, true)
Expect(err).To(BeNil())
})

AfterEach(func() {
// clear all namespaces
cleanUp(clientset)
Expand Down
@@ -0,0 +1,52 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: backend-deployment
spec:
selector:
matchLabels:
app: app
replicas: 1
template:
metadata:
labels:
app: app
spec:
containers:
- name: backendapp
imagePullPolicy: Always
image: docker.io/kennethreitz/httpbin
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: backend-service
spec:
selector:
app: app
ports:
- protocol: TCP
port: 80
targetPort: 80
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress
annotations:
kubernetes.io/ingress.class: azure/application-gateway
spec:
tls:
- secretName: testsecret-tls
hosts:
- example.com
rules:
- host: example.com
http:
paths:
- path: /
backend:
serviceName: backend-service
servicePort: 80
@@ -0,0 +1,8 @@
apiVersion: v1
kind: Secret
metadata:
name: testsecret-tls
type: kubernetes.io/tls
data:
tls.crt: ""
tls.key: ""
@@ -0,0 +1,8 @@
apiVersion: v1
kind: Secret
metadata:
name: testsecret-tls
type: kubernetes.io/tls
data:
tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJEVENCdEFJSkFLWTlOYkJMVjlJTE1Bb0dDQ3FHU000OUJBTUNNQTh4RFRBTEJnTlZCQU1NQkhSbGMzUXcKSGhjTk1qQXdOVEU0TWpFeU1UUXpXaGNOTWpFd05URTRNakV5TVRReldqQVBNUTB3Q3dZRFZRUUREQVIwWlhOMApNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUU2eHlzV0lhZUFkenYveXdUNTl5NDNreXppUGViCmMvaEpLOCt1Nm9uMmtOYjJpZ2tuTDZndU9PYWxsamQxOVB1dTYwYmh4aEpobGJpcHpBcWZCcFYzYnpBS0JnZ3EKaGtqT1BRUURBZ05JQURCRkFpRUFzbGNmNjNId0hxUDZoMHJTdjg3TXlBRVVoWmRoUlNZdm5sMGQyazRxZGtZQwpJRG1qNWdDcFAzTldmZWRVZHh6bTlsOEtxRUl2c1VxL1hXYWxUODhTWitWQQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
tls.key: LS0tLS1CRUdJTiBFQyBQQVJBTUVURVJTLS0tLS0KQmdncWhrak9QUU1CQnc9PQotLS0tLUVORCBFQyBQQVJBTUVURVJTLS0tLS0KLS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUdQeE1qSytnOEd1dWhlMW1PQUZHY1V3V09xdHZRbjZCTHBQZVJGUTZUNHhvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFNnh5c1dJYWVBZHp2L3l3VDU5eTQza3l6aVBlYmMvaEpLOCt1Nm9uMmtOYjJpZ2tuTDZndQpPT2FsbGpkMTlQdXU2MGJoeGhKaGxiaXB6QXFmQnBWM2J3PT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo=
1 change: 1 addition & 0 deletions scripts/e2e/go.mod
Expand Up @@ -23,5 +23,6 @@ require (
k8s.io/apimachinery v0.16.5
k8s.io/client-go v0.16.5
k8s.io/klog v1.0.0
k8s.io/klog/v2 v2.0.0
k8s.io/utils v0.0.0-20200414100711-2df71ebbae66 // indirect
)
2 changes: 2 additions & 0 deletions scripts/e2e/go.sum
Expand Up @@ -54,6 +54,7 @@ github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLi
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/go-logr/logr v0.1.0 h1:M1Tv3VzNlEHg6uyACnRdtrploV2P7wZqH8BoQMtz0cg=
github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0=
github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg=
Expand Down Expand Up @@ -237,6 +238,7 @@ k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUc
k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8=
k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I=
k8s.io/klog/v2 v2.0.0 h1:Foj74zO6RbjjP4hBEKjnYtjjAhGg4jNynUdYF6fJrok=
k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/kube-openapi v0.0.0-20190816220812-743ec37842bf/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E=
k8s.io/utils v0.0.0-20190801114015-581e00157fb1/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
Expand Down

0 comments on commit ee7d072

Please sign in to comment.