mirror of
https://github.com/kubernetes-sigs/external-dns.git
synced 2025-08-07 10:06:57 +02:00
Add tests for annotation override (gateway sources)
This commit is contained in:
parent
56eb581aa5
commit
76f8fbddcd
@ -1033,6 +1033,128 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
|
|||||||
}},
|
}},
|
||||||
endpoints: nil,
|
endpoints: nil,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: "AnnotationOverride",
|
||||||
|
config: Config{
|
||||||
|
GatewayNamespace: "gateway-namespace",
|
||||||
|
},
|
||||||
|
namespaces: namespaces("gateway-namespace", "route-namespace"),
|
||||||
|
gateways: []*v1beta1.Gateway{
|
||||||
|
{
|
||||||
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
|
Name: "overriden-gateway",
|
||||||
|
Namespace: "gateway-namespace",
|
||||||
|
Annotations: map[string]string{
|
||||||
|
targetAnnotationKey: "4.3.2.1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Spec: v1beta1.GatewaySpec{
|
||||||
|
Listeners: []v1beta1.Listener{{
|
||||||
|
Protocol: v1beta1.HTTPProtocolType,
|
||||||
|
AllowedRoutes: allowAllNamespaces,
|
||||||
|
}},
|
||||||
|
},
|
||||||
|
Status: gatewayStatus("1.2.3.4"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
routes: []*v1beta1.HTTPRoute{{
|
||||||
|
ObjectMeta: objectMeta("route-namespace", "test"),
|
||||||
|
Spec: v1beta1.HTTPRouteSpec{
|
||||||
|
Hostnames: hostnames("test.example.internal"),
|
||||||
|
},
|
||||||
|
Status: httpRouteStatus( // The route is attached to both gateways.
|
||||||
|
gatewayParentRef("gateway-namespace", "overriden-gateway"),
|
||||||
|
),
|
||||||
|
}},
|
||||||
|
endpoints: []*endpoint.Endpoint{
|
||||||
|
newTestEndpoint("test.example.internal", "A", "4.3.2.1"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "AnnotationOverrideMultipleStatusAddresses",
|
||||||
|
config: Config{
|
||||||
|
GatewayNamespace: "gateway-namespace",
|
||||||
|
},
|
||||||
|
namespaces: namespaces("gateway-namespace", "route-namespace"),
|
||||||
|
gateways: []*v1beta1.Gateway{
|
||||||
|
{
|
||||||
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
|
Name: "overriden-gateway",
|
||||||
|
Namespace: "gateway-namespace",
|
||||||
|
Annotations: map[string]string{
|
||||||
|
targetAnnotationKey: "4.3.2.1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Spec: v1beta1.GatewaySpec{
|
||||||
|
Listeners: []v1beta1.Listener{{
|
||||||
|
Protocol: v1beta1.HTTPProtocolType,
|
||||||
|
AllowedRoutes: allowAllNamespaces,
|
||||||
|
}},
|
||||||
|
},
|
||||||
|
Status: gatewayStatus("1.2.3.4", "2.3.4.5"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
routes: []*v1beta1.HTTPRoute{{
|
||||||
|
ObjectMeta: objectMeta("route-namespace", "test"),
|
||||||
|
Spec: v1beta1.HTTPRouteSpec{
|
||||||
|
Hostnames: hostnames("test.example.internal"),
|
||||||
|
},
|
||||||
|
Status: httpRouteStatus( // The route is attached to both gateways.
|
||||||
|
gatewayParentRef("gateway-namespace", "overriden-gateway"),
|
||||||
|
),
|
||||||
|
}},
|
||||||
|
endpoints: []*endpoint.Endpoint{
|
||||||
|
newTestEndpoint("test.example.internal", "A", "4.3.2.1"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: "MutlipleGatewaysOneAnnotationOverride",
|
||||||
|
config: Config{
|
||||||
|
GatewayNamespace: "gateway-namespace",
|
||||||
|
},
|
||||||
|
namespaces: namespaces("gateway-namespace", "route-namespace"),
|
||||||
|
gateways: []*v1beta1.Gateway{
|
||||||
|
{
|
||||||
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
|
Name: "overriden-gateway",
|
||||||
|
Namespace: "gateway-namespace",
|
||||||
|
Annotations: map[string]string{
|
||||||
|
targetAnnotationKey: "4.3.2.1",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Spec: v1beta1.GatewaySpec{
|
||||||
|
Listeners: []v1beta1.Listener{{
|
||||||
|
Protocol: v1beta1.HTTPProtocolType,
|
||||||
|
AllowedRoutes: allowAllNamespaces,
|
||||||
|
}},
|
||||||
|
},
|
||||||
|
Status: gatewayStatus("1.2.3.4"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ObjectMeta: objectMeta("gateway-namespace", "test"),
|
||||||
|
Spec: v1beta1.GatewaySpec{
|
||||||
|
Listeners: []v1beta1.Listener{{
|
||||||
|
Protocol: v1beta1.HTTPProtocolType,
|
||||||
|
AllowedRoutes: allowAllNamespaces,
|
||||||
|
}},
|
||||||
|
},
|
||||||
|
Status: gatewayStatus("2.3.4.5"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
routes: []*v1beta1.HTTPRoute{{
|
||||||
|
ObjectMeta: objectMeta("route-namespace", "test"),
|
||||||
|
Spec: v1beta1.HTTPRouteSpec{
|
||||||
|
Hostnames: hostnames("test.example.internal"),
|
||||||
|
},
|
||||||
|
Status: httpRouteStatus( // The route is attached to both gateways.
|
||||||
|
gatewayParentRef("gateway-namespace", "overriden-gateway"),
|
||||||
|
gatewayParentRef("gateway-namespace", "test"),
|
||||||
|
),
|
||||||
|
}},
|
||||||
|
endpoints: []*endpoint.Endpoint{
|
||||||
|
newTestEndpoint("test.example.internal", "A", "4.3.2.1", "2.3.4.5"),
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
tt := tt
|
tt := tt
|
||||||
|
Loading…
Reference in New Issue
Block a user