Add tests for annotations preservation in Gateway API router

Signed-off-by: Sanskar Jaiswal <jaiswalsanskar078@gmail.com>
This commit is contained in:
Sanskar Jaiswal
2024-12-16 22:16:05 +05:30
parent 282f2b36f0
commit 3b6b550d64
2 changed files with 22 additions and 0 deletions

View File

@@ -57,6 +57,17 @@ func TestGatewayAPIRouter_Reconcile(t *testing.T) {
timeout := routeRules[0].Timeouts
assert.Equal(t, string(*timeout.Request), canary.Spec.Service.Timeout)
// assert that http route annotations injected by the networking controller is preserved.
httpRoute.Annotations["foo"] = "bar"
_, err = router.gatewayAPIClient.GatewayapiV1().HTTPRoutes("default").Update(context.TODO(), httpRoute, metav1.UpdateOptions{})
require.NoError(t, err)
err = router.Reconcile(canary)
require.NoError(t, err)
httpRoute, err = router.gatewayAPIClient.GatewayapiV1().HTTPRoutes("default").Get(context.TODO(), "podinfo", metav1.GetOptions{})
require.NoError(t, err)
assert.Equal(t, httpRoute.Annotations["foo"], "bar")
}
func TestGatewayAPIRouter_Routes(t *testing.T) {

View File

@@ -55,6 +55,17 @@ func TestGatewayAPIV1Beta1Router_Reconcile(t *testing.T) {
require.Equal(t, len(backendRefs), 2)
assert.Equal(t, int32(100), *backendRefs[0].Weight)
assert.Equal(t, int32(0), *backendRefs[1].Weight)
// assert that http route annotations injected by the networking controller is preserved.
httpRoute.Annotations["foo"] = "bar"
_, err = router.gatewayAPIClient.GatewayapiV1beta1().HTTPRoutes("default").Update(context.TODO(), httpRoute, metav1.UpdateOptions{})
require.NoError(t, err)
err = router.Reconcile(canary)
require.NoError(t, err)
httpRoute, err = router.gatewayAPIClient.GatewayapiV1beta1().HTTPRoutes("default").Get(context.TODO(), "podinfo", metav1.GetOptions{})
require.NoError(t, err)
assert.Equal(t, httpRoute.Annotations["foo"], "bar")
}
func TestGatewayAPIV1Beta1Router_Routes(t *testing.T) {