Improve admission e2e-tests (#7953)
Check if the message equals an expected value for checks without errors.
This commit is contained in:
parent
e9c297e74d
commit
042e426b01
1 changed files with 11 additions and 6 deletions
|
@ -150,7 +150,8 @@ var _ = framework.IngressNginxDescribe("[Serial] admission controller", func() {
|
||||||
})
|
})
|
||||||
|
|
||||||
ginkgo.It("should not return an error if the Ingress V1 definition is valid with Ingress Class", func() {
|
ginkgo.It("should not return an error if the Ingress V1 definition is valid with Ingress Class", func() {
|
||||||
err := createIngress(f.Namespace, validV1Ingress)
|
out, err := createIngress(f.Namespace, validV1Ingress)
|
||||||
|
assert.Equal(ginkgo.GinkgoT(), "ingress.networking.k8s.io/extensions created\n", out)
|
||||||
assert.Nil(ginkgo.GinkgoT(), err, "creating an ingress using kubectl")
|
assert.Nil(ginkgo.GinkgoT(), err, "creating an ingress using kubectl")
|
||||||
|
|
||||||
f.WaitForNginxConfiguration(func(cfg string) bool {
|
f.WaitForNginxConfiguration(func(cfg string) bool {
|
||||||
|
@ -165,7 +166,8 @@ var _ = framework.IngressNginxDescribe("[Serial] admission controller", func() {
|
||||||
})
|
})
|
||||||
|
|
||||||
ginkgo.It("should not return an error if the Ingress V1 definition is valid with IngressClass annotation", func() {
|
ginkgo.It("should not return an error if the Ingress V1 definition is valid with IngressClass annotation", func() {
|
||||||
err := createIngress(f.Namespace, validV1IngressAnnotation)
|
out, err := createIngress(f.Namespace, validV1IngressAnnotation)
|
||||||
|
assert.Equal(ginkgo.GinkgoT(), "ingress.networking.k8s.io/extensions-class created\n", out)
|
||||||
assert.Nil(ginkgo.GinkgoT(), err, "creating an ingress using kubectl")
|
assert.Nil(ginkgo.GinkgoT(), err, "creating an ingress using kubectl")
|
||||||
|
|
||||||
f.WaitForNginxConfiguration(func(cfg string) bool {
|
f.WaitForNginxConfiguration(func(cfg string) bool {
|
||||||
|
@ -180,7 +182,8 @@ var _ = framework.IngressNginxDescribe("[Serial] admission controller", func() {
|
||||||
})
|
})
|
||||||
|
|
||||||
ginkgo.It("should return an error if the Ingress V1 definition contains invalid annotations", func() {
|
ginkgo.It("should return an error if the Ingress V1 definition contains invalid annotations", func() {
|
||||||
err := createIngress(f.Namespace, invalidV1Ingress)
|
out, err := createIngress(f.Namespace, invalidV1Ingress)
|
||||||
|
assert.Empty(ginkgo.GinkgoT(), out)
|
||||||
assert.NotNil(ginkgo.GinkgoT(), err, "creating an ingress using kubectl")
|
assert.NotNil(ginkgo.GinkgoT(), err, "creating an ingress using kubectl")
|
||||||
|
|
||||||
_, err = f.KubeClientSet.NetworkingV1().Ingresses(f.Namespace).Get(context.TODO(), "extensions-invalid", metav1.GetOptions{})
|
_, err = f.KubeClientSet.NetworkingV1().Ingresses(f.Namespace).Get(context.TODO(), "extensions-invalid", metav1.GetOptions{})
|
||||||
|
@ -270,20 +273,22 @@ spec:
|
||||||
`
|
`
|
||||||
)
|
)
|
||||||
|
|
||||||
func createIngress(namespace, ingressDefinition string) error {
|
func createIngress(namespace, ingressDefinition string) (string, error) {
|
||||||
var (
|
var (
|
||||||
|
execOut bytes.Buffer
|
||||||
execErr bytes.Buffer
|
execErr bytes.Buffer
|
||||||
)
|
)
|
||||||
|
|
||||||
cmd := exec.Command("/bin/bash", "-c", fmt.Sprintf("%v --warnings-as-errors=false apply --namespace %s -f -", framework.KubectlPath, namespace))
|
cmd := exec.Command("/bin/bash", "-c", fmt.Sprintf("%v --warnings-as-errors=false apply --namespace %s -f -", framework.KubectlPath, namespace))
|
||||||
cmd.Stdin = strings.NewReader(ingressDefinition)
|
cmd.Stdin = strings.NewReader(ingressDefinition)
|
||||||
|
cmd.Stdout = &execOut
|
||||||
cmd.Stderr = &execErr
|
cmd.Stderr = &execErr
|
||||||
|
|
||||||
err := cmd.Run()
|
err := cmd.Run()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
stderr := strings.TrimSpace(execErr.String())
|
stderr := strings.TrimSpace(execErr.String())
|
||||||
return fmt.Errorf("Kubectl error: %v\n%v", err, stderr)
|
return "", fmt.Errorf("kubectl error: %v\n%v", err, stderr)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return execOut.String(), nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue