Files
Ryan Richard 531d40a82e fix some unit test failures caused by k8s bump
Signed-off-by: Ryan Richard <richardry@vmware.com>
2026-05-06 08:53:00 -07:00

49 lines
1.5 KiB
Go

// Copyright 2024-2026 the Pinniped contributors. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
package testutil
import (
"testing"
"github.com/stretchr/testify/require"
coretesting "k8s.io/client-go/testing"
)
// ScrubListOptionsForActions ignores certain aspects of Watch Actions which changed in K8s 1.31.
// Because of https://github.com/kubernetes/kubernetes/pull/125560 our test code is busted.
func ScrubListOptionsForActions(t *testing.T, actions []coretesting.Action) []coretesting.Action {
t.Helper()
scrubbedActions := make([]coretesting.Action, 0, len(actions))
for _, action := range actions {
switch action.GetVerb() {
case "watch":
watchAction, ok := action.(coretesting.WatchActionImpl)
require.True(t, ok)
watchAction.ListOptions.AllowWatchBookmarks = false
watchAction.ListOptions.TimeoutSeconds = nil
// These get filled in starting in k8s 1.36 packages, but we don't care to assert about them.
watchAction.ListOptions.ResourceVersion = ""
watchAction.WatchRestrictions.ResourceVersion = ""
scrubbedActions = append(scrubbedActions, watchAction)
case "list":
listAction, ok := action.(coretesting.ListActionImpl)
require.True(t, ok)
listAction.ListOptions.ResourceVersion = ""
listAction.ListOptions.TimeoutSeconds = nil
listAction.ListOptions.Limit = 0
scrubbedActions = append(scrubbedActions, listAction)
default:
scrubbedActions = append(scrubbedActions, action)
}
}
return scrubbedActions
}