Only update Ingress status for the configured class
This commit is contained in:
parent
858e3ff235
commit
ad24784700
6 changed files with 139 additions and 106 deletions
|
|
@ -29,8 +29,6 @@ import (
|
|||
"k8s.io/ingress/core/pkg/ingress/annotations/proxy"
|
||||
"k8s.io/ingress/core/pkg/ingress/annotations/ratelimit"
|
||||
"k8s.io/ingress/core/pkg/ingress/annotations/rewrite"
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/apis/extensions"
|
||||
)
|
||||
|
||||
type fakeError struct{}
|
||||
|
|
@ -39,63 +37,6 @@ func (fe *fakeError) Error() string {
|
|||
return "fakeError"
|
||||
}
|
||||
|
||||
// just 2 combinations are valid
|
||||
// 1 - ingress with default class (or no args) | blank annotation on ingress | valid
|
||||
// 2 - ingress with specified class | same annotation on ingress | valid
|
||||
//
|
||||
// this combinations are invalid
|
||||
// 3 - ingress with default class (or no args) | fixed annotation on ingress | invalid
|
||||
// 4 - ingress with specified class | different annotation on ingress | invalid
|
||||
func TestIsValidClass(t *testing.T) {
|
||||
ing := &extensions.Ingress{
|
||||
ObjectMeta: api.ObjectMeta{
|
||||
Name: "foo",
|
||||
Namespace: api.NamespaceDefault,
|
||||
},
|
||||
}
|
||||
|
||||
config := &Configuration{DefaultIngressClass: "nginx", IngressClass: ""}
|
||||
b := IsValidClass(ing, config)
|
||||
if !b {
|
||||
t.Error("Expected a valid class (missing annotation)")
|
||||
}
|
||||
|
||||
config.IngressClass = "custom"
|
||||
b = IsValidClass(ing, config)
|
||||
if b {
|
||||
t.Error("Expected a invalid class (missing annotation)")
|
||||
}
|
||||
|
||||
data := map[string]string{}
|
||||
data[ingressClassKey] = "custom"
|
||||
ing.SetAnnotations(data)
|
||||
b = IsValidClass(ing, config)
|
||||
if !b {
|
||||
t.Errorf("Expected valid class but %v returned", b)
|
||||
}
|
||||
|
||||
config.IngressClass = "killer"
|
||||
b = IsValidClass(ing, config)
|
||||
if b {
|
||||
t.Errorf("Expected invalid class but %v returned", b)
|
||||
}
|
||||
|
||||
data[ingressClassKey] = ""
|
||||
ing.SetAnnotations(data)
|
||||
config.IngressClass = "killer"
|
||||
b = IsValidClass(ing, config)
|
||||
if b {
|
||||
t.Errorf("Expected invalid class but %v returned", b)
|
||||
}
|
||||
|
||||
config.IngressClass = ""
|
||||
b = IsValidClass(ing, config)
|
||||
if !b {
|
||||
t.Errorf("Expected valid class but %v returned", b)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestIsHostValid(t *testing.T) {
|
||||
fkCert := &ingress.SSLCert{
|
||||
CAFileName: "foo",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue