Move the resetting logic into framework
Stylistic fixes based on feedback
This commit is contained in:
parent
19337f05fb
commit
444914b764
4 changed files with 22 additions and 47 deletions
|
@ -61,6 +61,9 @@ type Framework struct {
|
||||||
// should abort, the AfterSuite hook should run all Cleanup actions.
|
// should abort, the AfterSuite hook should run all Cleanup actions.
|
||||||
cleanupHandle CleanupActionHandle
|
cleanupHandle CleanupActionHandle
|
||||||
|
|
||||||
|
// Map to hold the default nginx-configuration configmap data before a test run
|
||||||
|
DefaultNginxConfigMapData map[string]string
|
||||||
|
|
||||||
NginxHTTPURL string
|
NginxHTTPURL string
|
||||||
NginxHTTPSURL string
|
NginxHTTPSURL string
|
||||||
}
|
}
|
||||||
|
@ -69,7 +72,8 @@ type Framework struct {
|
||||||
// you (you can write additional before/after each functions).
|
// you (you can write additional before/after each functions).
|
||||||
func NewDefaultFramework(baseName string) *Framework {
|
func NewDefaultFramework(baseName string) *Framework {
|
||||||
f := &Framework{
|
f := &Framework{
|
||||||
BaseName: baseName,
|
BaseName: baseName,
|
||||||
|
DefaultNginxConfigMapData: nil,
|
||||||
}
|
}
|
||||||
|
|
||||||
BeforeEach(f.BeforeEach)
|
BeforeEach(f.BeforeEach)
|
||||||
|
@ -101,6 +105,13 @@ func (f *Framework) BeforeEach() {
|
||||||
By("Building NGINX HTTPS URL")
|
By("Building NGINX HTTPS URL")
|
||||||
f.NginxHTTPSURL, err = f.GetNginxURL(HTTPS)
|
f.NginxHTTPSURL, err = f.GetNginxURL(HTTPS)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
|
By("Persist nginx-configuration configMap Data")
|
||||||
|
if f.DefaultNginxConfigMapData == nil {
|
||||||
|
f.DefaultNginxConfigMapData, err = f.GetNginxConfigMapData()
|
||||||
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
Expect(f.DefaultNginxConfigMapData).NotTo(BeNil())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// AfterEach deletes the namespace, after reading its events.
|
// AfterEach deletes the namespace, after reading its events.
|
||||||
|
@ -114,6 +125,10 @@ func (f *Framework) AfterEach() {
|
||||||
By("Waiting for test namespace to no longer exist")
|
By("Waiting for test namespace to no longer exist")
|
||||||
err = WaitForNoPodsInNamespace(f.KubeClientSet, f.Namespace.Name)
|
err = WaitForNoPodsInNamespace(f.KubeClientSet, f.Namespace.Name)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
|
By("Reset nginx-configuration configMap to default state")
|
||||||
|
err = f.SetNginxConfigMapData(f.DefaultNginxConfigMapData)
|
||||||
|
Expect(err).NotTo(HaveOccurred())
|
||||||
}
|
}
|
||||||
|
|
||||||
// IngressNginxDescribe wrapper function for ginkgo describe. Adds namespacing.
|
// IngressNginxDescribe wrapper function for ginkgo describe. Adds namespacing.
|
||||||
|
@ -259,8 +274,7 @@ func (f *Framework) matchNginxConditions(name string, matcher func(cfg string) b
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetNginxConfigMap gets ingress-nginx's nginx-configuration map
|
func (f *Framework) getNginxConfigMap() (*v1.ConfigMap, error) {
|
||||||
func (f *Framework) GetNginxConfigMap() (*v1.ConfigMap, error) {
|
|
||||||
if f.KubeClientSet == nil {
|
if f.KubeClientSet == nil {
|
||||||
return nil, fmt.Errorf("KubeClientSet not initialized")
|
return nil, fmt.Errorf("KubeClientSet not initialized")
|
||||||
}
|
}
|
||||||
|
@ -270,22 +284,15 @@ func (f *Framework) GetNginxConfigMap() (*v1.ConfigMap, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
time.Sleep(1 * time.Second)
|
|
||||||
return config, err
|
return config, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetNginxConfigMapData gets ingress-nginx's nginx-configuration map's data
|
// GetNginxConfigMapData gets ingress-nginx's nginx-configuration map's data
|
||||||
func (f *Framework) GetNginxConfigMapData() (map[string]string, error) {
|
func (f *Framework) GetNginxConfigMapData() (map[string]string, error) {
|
||||||
config, err := f.GetNginxConfigMap()
|
config, err := f.getNginxConfigMap()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if config == nil {
|
|
||||||
return nil, fmt.Errorf("Unable to get nginx-configuration configMap")
|
|
||||||
}
|
|
||||||
|
|
||||||
if config.Data == nil {
|
if config.Data == nil {
|
||||||
config.Data = map[string]string{}
|
config.Data = map[string]string{}
|
||||||
}
|
}
|
||||||
|
@ -297,7 +304,7 @@ func (f *Framework) GetNginxConfigMapData() (map[string]string, error) {
|
||||||
func (f *Framework) SetNginxConfigMapData(cmData map[string]string) error {
|
func (f *Framework) SetNginxConfigMapData(cmData map[string]string) error {
|
||||||
// Needs to do a Get and Set, Update will not take just the Data field
|
// Needs to do a Get and Set, Update will not take just the Data field
|
||||||
// or a configMap that is not the very last revision
|
// or a configMap that is not the very last revision
|
||||||
config, err := f.GetNginxConfigMap()
|
config, err := f.getNginxConfigMap()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,7 +41,6 @@ var _ = framework.IngressNginxDescribe("No Auth locations", func() {
|
||||||
secretName := "test-secret"
|
secretName := "test-secret"
|
||||||
host := "no-auth-locations"
|
host := "no-auth-locations"
|
||||||
noAuthPath := "/noauth"
|
noAuthPath := "/noauth"
|
||||||
var defaultNginxConfigMapData map[string]string = nil
|
|
||||||
|
|
||||||
BeforeEach(func() {
|
BeforeEach(func() {
|
||||||
err := f.NewEchoDeployment()
|
err := f.NewEchoDeployment()
|
||||||
|
@ -52,24 +51,16 @@ var _ = framework.IngressNginxDescribe("No Auth locations", func() {
|
||||||
Expect(s).NotTo(BeNil())
|
Expect(s).NotTo(BeNil())
|
||||||
Expect(s.ObjectMeta).NotTo(BeNil())
|
Expect(s.ObjectMeta).NotTo(BeNil())
|
||||||
|
|
||||||
|
err = f.UpdateNginxConfigMapData(setting, noAuthPath)
|
||||||
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
bi := buildBasicAuthIngressWithSecondPath(host, f.Namespace.Name, s.Name, noAuthPath)
|
bi := buildBasicAuthIngressWithSecondPath(host, f.Namespace.Name, s.Name, noAuthPath)
|
||||||
ing, err := f.EnsureIngress(bi)
|
ing, err := f.EnsureIngress(bi)
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
Expect(ing).NotTo(BeNil())
|
Expect(ing).NotTo(BeNil())
|
||||||
|
|
||||||
if defaultNginxConfigMapData == nil {
|
|
||||||
defaultNginxConfigMapData, err = f.GetNginxConfigMapData()
|
|
||||||
Expect(err).NotTo(HaveOccurred())
|
|
||||||
Expect(defaultNginxConfigMapData).NotTo(BeNil())
|
|
||||||
}
|
|
||||||
|
|
||||||
err = f.UpdateNginxConfigMapData(setting, noAuthPath)
|
|
||||||
Expect(err).NotTo(HaveOccurred())
|
|
||||||
})
|
})
|
||||||
|
|
||||||
AfterEach(func() {
|
AfterEach(func() {
|
||||||
err := f.SetNginxConfigMapData(defaultNginxConfigMapData)
|
|
||||||
Expect(err).NotTo(HaveOccurred())
|
|
||||||
})
|
})
|
||||||
|
|
||||||
It("should return status code 401 when accessing '/' unauthentication", func() {
|
It("should return status code 401 when accessing '/' unauthentication", func() {
|
||||||
|
|
|
@ -35,25 +35,16 @@ var _ = framework.IngressNginxDescribe("Proxy Protocol", func() {
|
||||||
f := framework.NewDefaultFramework("proxy-protocol")
|
f := framework.NewDefaultFramework("proxy-protocol")
|
||||||
|
|
||||||
setting := "use-proxy-protocol"
|
setting := "use-proxy-protocol"
|
||||||
var defaultNginxConfigMapData map[string]string = nil
|
|
||||||
|
|
||||||
BeforeEach(func() {
|
BeforeEach(func() {
|
||||||
err := f.NewEchoDeployment()
|
err := f.NewEchoDeployment()
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
if defaultNginxConfigMapData == nil {
|
|
||||||
defaultNginxConfigMapData, err = f.GetNginxConfigMapData()
|
|
||||||
Expect(err).NotTo(HaveOccurred())
|
|
||||||
Expect(defaultNginxConfigMapData).NotTo(BeNil())
|
|
||||||
}
|
|
||||||
|
|
||||||
err = f.UpdateNginxConfigMapData(setting, "false")
|
err = f.UpdateNginxConfigMapData(setting, "false")
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
})
|
})
|
||||||
|
|
||||||
AfterEach(func() {
|
AfterEach(func() {
|
||||||
err := f.SetNginxConfigMapData(defaultNginxConfigMapData)
|
|
||||||
Expect(err).NotTo(HaveOccurred())
|
|
||||||
})
|
})
|
||||||
|
|
||||||
It("should respect port passed by the PROXY Protocol", func() {
|
It("should respect port passed by the PROXY Protocol", func() {
|
||||||
|
|
|
@ -31,32 +31,18 @@ import (
|
||||||
var _ = framework.IngressNginxDescribe("Server Tokens", func() {
|
var _ = framework.IngressNginxDescribe("Server Tokens", func() {
|
||||||
f := framework.NewDefaultFramework("server-tokens")
|
f := framework.NewDefaultFramework("server-tokens")
|
||||||
serverTokens := "server-tokens"
|
serverTokens := "server-tokens"
|
||||||
var defaultNginxConfigMapData map[string]string = nil
|
|
||||||
|
|
||||||
BeforeEach(func() {
|
BeforeEach(func() {
|
||||||
err := f.NewEchoDeployment()
|
err := f.NewEchoDeployment()
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
if defaultNginxConfigMapData == nil {
|
|
||||||
defaultNginxConfigMapData, err = f.GetNginxConfigMapData()
|
|
||||||
Expect(err).NotTo(HaveOccurred())
|
|
||||||
Expect(defaultNginxConfigMapData).NotTo(BeNil())
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
|
||||||
AfterEach(func() {
|
AfterEach(func() {
|
||||||
err := f.SetNginxConfigMapData(defaultNginxConfigMapData)
|
|
||||||
Expect(err).NotTo(HaveOccurred())
|
|
||||||
})
|
})
|
||||||
|
|
||||||
<<<<<<< HEAD
|
|
||||||
It("should not exist Server header in the response", func() {
|
|
||||||
updateConfigmap(serverTokens, "false", f.KubeClientSet)
|
|
||||||
=======
|
|
||||||
It("should not exists Server header in the response", func() {
|
It("should not exists Server header in the response", func() {
|
||||||
err := f.UpdateNginxConfigMapData(serverTokens, "false")
|
err := f.UpdateNginxConfigMapData(serverTokens, "false")
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
>>>>>>> Introduce ConfigMap updating helpers into e2e/framework and retain default nginx-configuration state between tests
|
|
||||||
|
|
||||||
ing, err := f.EnsureIngress(&v1beta1.Ingress{
|
ing, err := f.EnsureIngress(&v1beta1.Ingress{
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
|
|
Loading…
Reference in a new issue