@ -272,8 +272,7 @@ func getRuntimeObjFromManifests(t *testing.T, manifests []string) []runtime.Obje
objects := [ ] runtime . Object { }
objects := [ ] runtime . Object { }
for _ , manifest := range manifests {
for _ , manifest := range manifests {
m := make ( map [ string ] any )
m := make ( map [ string ] any )
err := yaml . Unmarshal ( [ ] byte ( manifest ) , & m )
require . NoError ( t , yaml . Unmarshal ( [ ] byte ( manifest ) , & m ) )
require . NoError ( t , err )
resource := & unstructured . Unstructured { Object : m }
resource := & unstructured . Unstructured { Object : m }
objects = append ( objects , resource )
objects = append ( objects , resource )
}
}
@ -332,8 +331,7 @@ func TestStatusWaitForDelete(t *testing.T) {
for _ , objToCreate := range objsToCreate {
for _ , objToCreate := range objsToCreate {
u := objToCreate . ( * unstructured . Unstructured )
u := objToCreate . ( * unstructured . Unstructured )
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
err := fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) )
require . NoError ( t , fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) ) )
require . NoError ( t , err )
}
}
objsToDelete := getRuntimeObjFromManifests ( t , tt . manifestsToDelete )
objsToDelete := getRuntimeObjFromManifests ( t , tt . manifestsToDelete )
for _ , objToDelete := range objsToDelete {
for _ , objToDelete := range objsToDelete {
@ -341,8 +339,7 @@ func TestStatusWaitForDelete(t *testing.T) {
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
go func ( gvr schema . GroupVersionResource , u * unstructured . Unstructured ) {
go func ( gvr schema . GroupVersionResource , u * unstructured . Unstructured ) {
time . Sleep ( timeUntilPodDelete )
time . Sleep ( timeUntilPodDelete )
err := fakeClient . Tracker ( ) . Delete ( gvr , u . GetNamespace ( ) , u . GetName ( ) )
assert . NoError ( t , fakeClient . Tracker ( ) . Delete ( gvr , u . GetNamespace ( ) , u . GetName ( ) ) )
assert . NoError ( t , err )
} ( gvr , u )
} ( gvr , u )
}
}
resourceList := getResourceListFromRuntimeObjs ( t , c , objsToCreate )
resourceList := getResourceListFromRuntimeObjs ( t , c , objsToCreate )
@ -352,9 +349,9 @@ func TestStatusWaitForDelete(t *testing.T) {
for _ , expectedErrStr := range tt . expectErrs {
for _ , expectedErrStr := range tt . expectErrs {
require . ErrorContains ( t , err , expectedErrStr )
require . ErrorContains ( t , err , expectedErrStr )
}
}
return
} else {
assert . NoError ( t , err )
}
}
assert . NoError ( t , err )
} )
} )
}
}
}
}
@ -375,8 +372,7 @@ func TestStatusWaitForDeleteNonExistentObject(t *testing.T) {
// Don't create the object to test that the wait for delete works when the object doesn't exist
// Don't create the object to test that the wait for delete works when the object doesn't exist
objManifest := getRuntimeObjFromManifests ( t , [ ] string { podCurrentManifest } )
objManifest := getRuntimeObjFromManifests ( t , [ ] string { podCurrentManifest } )
resourceList := getResourceListFromRuntimeObjs ( t , c , objManifest )
resourceList := getResourceListFromRuntimeObjs ( t , c , objManifest )
err := statusWaiter . WaitForDelete ( resourceList , timeout )
assert . NoError ( t , statusWaiter . WaitForDelete ( resourceList , timeout ) )
assert . NoError ( t , err )
}
}
func TestStatusWait ( t * testing . T ) {
func TestStatusWait ( t * testing . T ) {
@ -433,8 +429,7 @@ func TestStatusWait(t *testing.T) {
for _ , obj := range objs {
for _ , obj := range objs {
u := obj . ( * unstructured . Unstructured )
u := obj . ( * unstructured . Unstructured )
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
err := fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) )
require . NoError ( t , fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) ) )
require . NoError ( t , err )
}
}
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
err := statusWaiter . Wait ( resourceList , time . Second * 3 )
err := statusWaiter . Wait ( resourceList , time . Second * 3 )
@ -443,9 +438,9 @@ func TestStatusWait(t *testing.T) {
for _ , expectedErrStr := range tt . expectErrStrs {
for _ , expectedErrStr := range tt . expectErrStrs {
require . ErrorContains ( t , err , expectedErrStr )
require . ErrorContains ( t , err , expectedErrStr )
}
}
return
} else {
assert . NoError ( t , err )
}
}
assert . NoError ( t , err )
} )
} )
}
}
}
}
@ -490,8 +485,7 @@ func TestWaitForJobComplete(t *testing.T) {
for _ , obj := range objs {
for _ , obj := range objs {
u := obj . ( * unstructured . Unstructured )
u := obj . ( * unstructured . Unstructured )
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
err := fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) )
require . NoError ( t , fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) ) )
require . NoError ( t , err )
}
}
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
err := statusWaiter . WaitWithJobs ( resourceList , time . Second * 3 )
err := statusWaiter . WaitWithJobs ( resourceList , time . Second * 3 )
@ -500,9 +494,9 @@ func TestWaitForJobComplete(t *testing.T) {
for _ , expectedErrStr := range tt . expectErrStrs {
for _ , expectedErrStr := range tt . expectErrStrs {
require . ErrorContains ( t , err , expectedErrStr )
require . ErrorContains ( t , err , expectedErrStr )
}
}
return
} else {
assert . NoError ( t , err )
}
}
assert . NoError ( t , err )
} )
} )
}
}
}
}
@ -553,8 +547,7 @@ func TestWatchForReady(t *testing.T) {
for _ , obj := range objs {
for _ , obj := range objs {
u := obj . ( * unstructured . Unstructured )
u := obj . ( * unstructured . Unstructured )
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
err := fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) )
require . NoError ( t , fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) ) )
require . NoError ( t , err )
}
}
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
err := statusWaiter . WatchUntilReady ( resourceList , time . Second * 3 )
err := statusWaiter . WatchUntilReady ( resourceList , time . Second * 3 )
@ -563,9 +556,9 @@ func TestWatchForReady(t *testing.T) {
for _ , expectedErrStr := range tt . expectErrStrs {
for _ , expectedErrStr := range tt . expectErrStrs {
require . ErrorContains ( t , err , expectedErrStr )
require . ErrorContains ( t , err , expectedErrStr )
}
}
return
} else {
assert . NoError ( t , err )
}
}
assert . NoError ( t , err )
} )
} )
}
}
}
}
@ -657,8 +650,7 @@ func TestStatusWaitMultipleNamespaces(t *testing.T) {
for _ , obj := range objs {
for _ , obj := range objs {
u := obj . ( * unstructured . Unstructured )
u := obj . ( * unstructured . Unstructured )
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
err := fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) )
require . NoError ( t , fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) ) )
require . NoError ( t , err )
}
}
if strings . Contains ( tt . name , "delete" ) {
if strings . Contains ( tt . name , "delete" ) {
@ -668,8 +660,7 @@ func TestStatusWaitMultipleNamespaces(t *testing.T) {
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
go func ( gvr schema . GroupVersionResource , u * unstructured . Unstructured ) {
go func ( gvr schema . GroupVersionResource , u * unstructured . Unstructured ) {
time . Sleep ( timeUntilDelete )
time . Sleep ( timeUntilDelete )
err := fakeClient . Tracker ( ) . Delete ( gvr , u . GetNamespace ( ) , u . GetName ( ) )
assert . NoError ( t , fakeClient . Tracker ( ) . Delete ( gvr , u . GetNamespace ( ) , u . GetName ( ) ) )
assert . NoError ( t , err )
} ( gvr , u )
} ( gvr , u )
}
}
}
}
@ -681,9 +672,9 @@ func TestStatusWaitMultipleNamespaces(t *testing.T) {
for _ , expectedErrStr := range tt . expectErrStrs {
for _ , expectedErrStr := range tt . expectErrStrs {
require . ErrorContains ( t , err , expectedErrStr )
require . ErrorContains ( t , err , expectedErrStr )
}
}
return
} else {
assert . NoError ( t , err )
}
}
assert . NoError ( t , err )
} )
} )
}
}
}
}
@ -839,8 +830,7 @@ func TestStatusWaitRestrictedRBAC(t *testing.T) {
for _ , obj := range objs {
for _ , obj := range objs {
u := obj . ( * unstructured . Unstructured )
u := obj . ( * unstructured . Unstructured )
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
err := baseFakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) )
require . NoError ( t , baseFakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) ) )
require . NoError ( t , err )
}
}
if strings . Contains ( tt . name , "delet" ) {
if strings . Contains ( tt . name , "delet" ) {
@ -850,8 +840,7 @@ func TestStatusWaitRestrictedRBAC(t *testing.T) {
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
go func ( gvr schema . GroupVersionResource , u * unstructured . Unstructured ) {
go func ( gvr schema . GroupVersionResource , u * unstructured . Unstructured ) {
time . Sleep ( timeUntilDelete )
time . Sleep ( timeUntilDelete )
err := baseFakeClient . Tracker ( ) . Delete ( gvr , u . GetNamespace ( ) , u . GetName ( ) )
assert . NoError ( t , baseFakeClient . Tracker ( ) . Delete ( gvr , u . GetNamespace ( ) , u . GetName ( ) ) )
assert . NoError ( t , err )
} ( gvr , u )
} ( gvr , u )
}
}
}
}
@ -863,10 +852,10 @@ func TestStatusWaitRestrictedRBAC(t *testing.T) {
for _ , expectedErr := range tt . expectErrs {
for _ , expectedErr := range tt . expectErrs {
require . ErrorContains ( t , err , expectedErr . Error ( ) )
require . ErrorContains ( t , err , expectedErr . Error ( ) )
}
}
return
} else {
require . NoError ( t , err )
assert . False ( t , restrictedConfig . clusterScopedListAttempted )
}
}
require . NoError ( t , err )
assert . False ( t , restrictedConfig . clusterScopedListAttempted )
} )
} )
}
}
}
}
@ -947,8 +936,7 @@ func TestStatusWaitMixedResources(t *testing.T) {
for _ , obj := range objs {
for _ , obj := range objs {
u := obj . ( * unstructured . Unstructured )
u := obj . ( * unstructured . Unstructured )
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
err := baseFakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) )
require . NoError ( t , baseFakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) ) )
require . NoError ( t , err )
}
}
if strings . Contains ( tt . name , "delet" ) {
if strings . Contains ( tt . name , "delet" ) {
@ -958,8 +946,7 @@ func TestStatusWaitMixedResources(t *testing.T) {
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
go func ( gvr schema . GroupVersionResource , u * unstructured . Unstructured ) {
go func ( gvr schema . GroupVersionResource , u * unstructured . Unstructured ) {
time . Sleep ( timeUntilDelete )
time . Sleep ( timeUntilDelete )
err := baseFakeClient . Tracker ( ) . Delete ( gvr , u . GetNamespace ( ) , u . GetName ( ) )
assert . NoError ( t , baseFakeClient . Tracker ( ) . Delete ( gvr , u . GetNamespace ( ) , u . GetName ( ) ) )
assert . NoError ( t , err )
} ( gvr , u )
} ( gvr , u )
}
}
}
}
@ -971,10 +958,10 @@ func TestStatusWaitMixedResources(t *testing.T) {
for _ , expectedErr := range tt . expectErrs {
for _ , expectedErr := range tt . expectErrs {
require . ErrorContains ( t , err , expectedErr . Error ( ) )
require . ErrorContains ( t , err , expectedErr . Error ( ) )
}
}
return
} else {
require . NoError ( t , err )
assert . False ( t , restrictedConfig . clusterScopedListAttempted )
}
}
require . NoError ( t , err )
assert . False ( t , restrictedConfig . clusterScopedListAttempted )
} )
} )
}
}
}
}
@ -1067,8 +1054,7 @@ func TestStatusWaitWithCustomReaders(t *testing.T) {
for _ , obj := range objs {
for _ , obj := range objs {
u := obj . ( * unstructured . Unstructured )
u := obj . ( * unstructured . Unstructured )
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
err := fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) )
require . NoError ( t , fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) ) )
require . NoError ( t , err )
}
}
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
err := statusWaiter . Wait ( resourceList , time . Second * 3 )
err := statusWaiter . Wait ( resourceList , time . Second * 3 )
@ -1077,9 +1063,9 @@ func TestStatusWaitWithCustomReaders(t *testing.T) {
for _ , expectedErrStr := range tt . expectErrStrs {
for _ , expectedErrStr := range tt . expectErrStrs {
require . ErrorContains ( t , err , expectedErrStr )
require . ErrorContains ( t , err , expectedErrStr )
}
}
return
} else {
assert . NoError ( t , err )
}
}
assert . NoError ( t , err )
} )
} )
}
}
}
}
@ -1139,16 +1125,15 @@ func TestStatusWaitWithJobsAndCustomReaders(t *testing.T) {
for _ , obj := range objs {
for _ , obj := range objs {
u := obj . ( * unstructured . Unstructured )
u := obj . ( * unstructured . Unstructured )
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
err := fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) )
require . NoError ( t , fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) ) )
require . NoError ( t , err )
}
}
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
err := statusWaiter . WaitWithJobs ( resourceList , time . Second * 3 )
err := statusWaiter . WaitWithJobs ( resourceList , time . Second * 3 )
if tt . expectErrs != nil {
if tt . expectErrs != nil {
assert . EqualError ( t , err , errors . Join ( tt . expectErrs ... ) . Error ( ) )
assert . EqualError ( t , err , errors . Join ( tt . expectErrs ... ) . Error ( ) )
return
} else {
assert . NoError ( t , err )
}
}
assert . NoError ( t , err )
} )
} )
}
}
}
}
@ -1238,8 +1223,7 @@ func TestStatusWaitWithFailedResources(t *testing.T) {
for _ , obj := range objs {
for _ , obj := range objs {
u := obj . ( * unstructured . Unstructured )
u := obj . ( * unstructured . Unstructured )
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
err := fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) )
require . NoError ( t , fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) ) )
require . NoError ( t , err )
}
}
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
err := tt . testFunc ( & sw , resourceList , time . Second * 3 )
err := tt . testFunc ( & sw , resourceList , time . Second * 3 )
@ -1248,9 +1232,9 @@ func TestStatusWaitWithFailedResources(t *testing.T) {
for _ , expectedErrStr := range tt . expectErrStrs {
for _ , expectedErrStr := range tt . expectErrStrs {
require . ErrorContains ( t , err , expectedErrStr )
require . ErrorContains ( t , err , expectedErrStr )
}
}
return
} else {
assert . NoError ( t , err )
}
}
assert . NoError ( t , err )
} )
} )
}
}
}
}
@ -1343,14 +1327,12 @@ func TestMethodSpecificContextCancellation(t *testing.T) {
for _ , obj := range objs {
for _ , obj := range objs {
u := obj . ( * unstructured . Unstructured )
u := obj . ( * unstructured . Unstructured )
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
err := fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) )
require . NoError ( t , fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) ) )
require . NoError ( t , err )
}
}
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
err := sw . WatchUntilReady ( resourceList , time . Second * 3 )
// Should fail due to cancelled method context
// Should fail due to cancelled method context
assert . ErrorContains ( t , err, "context canceled" )
assert . ErrorContains ( t , sw. WatchUntilR eady( resou rceList, time . Second * 3 ) , "context canceled" )
} )
} )
t . Run ( "Wait uses method-specific context" , func ( t * testing . T ) {
t . Run ( "Wait uses method-specific context" , func ( t * testing . T ) {
@ -1376,14 +1358,12 @@ func TestMethodSpecificContextCancellation(t *testing.T) {
for _ , obj := range objs {
for _ , obj := range objs {
u := obj . ( * unstructured . Unstructured )
u := obj . ( * unstructured . Unstructured )
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
err := fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) )
require . NoError ( t , fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) ) )
require . NoError ( t , err )
}
}
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
err := sw . Wait ( resourceList , time . Second * 3 )
// Should fail due to cancelled method context
// Should fail due to cancelled method context
assert . ErrorContains ( t , err , "context canceled" )
assert . ErrorContains ( t , sw. Wait ( resourceList , time . Second * 3 ) , "context canceled" )
} )
} )
t . Run ( "WaitWithJobs uses method-specific context" , func ( t * testing . T ) {
t . Run ( "WaitWithJobs uses method-specific context" , func ( t * testing . T ) {
@ -1409,14 +1389,12 @@ func TestMethodSpecificContextCancellation(t *testing.T) {
for _ , obj := range objs {
for _ , obj := range objs {
u := obj . ( * unstructured . Unstructured )
u := obj . ( * unstructured . Unstructured )
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
err := fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) )
require . NoError ( t , fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) ) )
require . NoError ( t , err )
}
}
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
err := sw . WaitWithJobs ( resourceList , time . Second * 3 )
// Should fail due to cancelled method context
// Should fail due to cancelled method context
assert . ErrorContains ( t , err , "context canceled" )
assert . ErrorContains ( t , sw. WaitWithJobs ( resourceList , time . Second * 3 ) , "context canceled" )
} )
} )
t . Run ( "WaitForDelete uses method-specific context" , func ( t * testing . T ) {
t . Run ( "WaitForDelete uses method-specific context" , func ( t * testing . T ) {
@ -1442,14 +1420,12 @@ func TestMethodSpecificContextCancellation(t *testing.T) {
for _ , obj := range objs {
for _ , obj := range objs {
u := obj . ( * unstructured . Unstructured )
u := obj . ( * unstructured . Unstructured )
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
err := fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) )
require . NoError ( t , fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) ) )
require . NoError ( t , err )
}
}
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
err := sw . WaitForDelete ( resourceList , time . Second * 3 )
// Should fail due to cancelled method context
// Should fail due to cancelled method context
assert . ErrorContains ( t , err, "context canceled" )
assert . ErrorContains ( t , sw. WaitForD elete( resou rceList, time . Second * 3 ) , "context canceled" )
} )
} )
}
}
@ -1479,14 +1455,12 @@ func TestMethodContextFallbackToGeneralContext(t *testing.T) {
for _ , obj := range objs {
for _ , obj := range objs {
u := obj . ( * unstructured . Unstructured )
u := obj . ( * unstructured . Unstructured )
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
err := fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) )
require . NoError ( t , fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) ) )
require . NoError ( t , err )
}
}
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
err := sw . WatchUntilReady ( resourceList , time . Second * 3 )
// Should fail due to cancelled general context
// Should fail due to cancelled general context
assert . ErrorContains ( t , err, "context canceled" )
assert . ErrorContains ( t , sw. WatchUntilR eady( resou rceList, time . Second * 3 ) , "context canceled" )
} )
} )
t . Run ( "Wait falls back to general context when method context is nil" , func ( t * testing . T ) {
t . Run ( "Wait falls back to general context when method context is nil" , func ( t * testing . T ) {
@ -1512,14 +1486,12 @@ func TestMethodContextFallbackToGeneralContext(t *testing.T) {
for _ , obj := range objs {
for _ , obj := range objs {
u := obj . ( * unstructured . Unstructured )
u := obj . ( * unstructured . Unstructured )
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
err := fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) )
require . NoError ( t , fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) ) )
require . NoError ( t , err )
}
}
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
err := sw . Wait ( resourceList , time . Second * 3 )
// Should fail due to cancelled general context
// Should fail due to cancelled general context
assert . ErrorContains ( t , err , "context canceled" )
assert . ErrorContains ( t , sw. Wait ( resourceList , time . Second * 3 ) , "context canceled" )
} )
} )
t . Run ( "WaitWithJobs falls back to general context when method context is nil" , func ( t * testing . T ) {
t . Run ( "WaitWithJobs falls back to general context when method context is nil" , func ( t * testing . T ) {
@ -1545,14 +1517,12 @@ func TestMethodContextFallbackToGeneralContext(t *testing.T) {
for _ , obj := range objs {
for _ , obj := range objs {
u := obj . ( * unstructured . Unstructured )
u := obj . ( * unstructured . Unstructured )
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
err := fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) )
require . NoError ( t , fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) ) )
require . NoError ( t , err )
}
}
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
err := sw . WaitWithJobs ( resourceList , time . Second * 3 )
// Should fail due to cancelled general context
// Should fail due to cancelled general context
assert . ErrorContains ( t , err , "context canceled" )
assert . ErrorContains ( t , sw. WaitWithJobs ( resourceList , time . Second * 3 ) , "context canceled" )
} )
} )
t . Run ( "WaitForDelete falls back to general context when method context is nil" , func ( t * testing . T ) {
t . Run ( "WaitForDelete falls back to general context when method context is nil" , func ( t * testing . T ) {
@ -1578,14 +1548,12 @@ func TestMethodContextFallbackToGeneralContext(t *testing.T) {
for _ , obj := range objs {
for _ , obj := range objs {
u := obj . ( * unstructured . Unstructured )
u := obj . ( * unstructured . Unstructured )
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
err := fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) )
require . NoError ( t , fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) ) )
require . NoError ( t , err )
}
}
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
err := sw . WaitForDelete ( resourceList , time . Second * 3 )
// Should fail due to cancelled general context
// Should fail due to cancelled general context
assert . ErrorContains ( t , err, "context canceled" )
assert . ErrorContains ( t , sw. WaitForD elete( resou rceList, time . Second * 3 ) , "context canceled" )
} )
} )
}
}
@ -1615,14 +1583,12 @@ func TestMethodContextOverridesGeneralContext(t *testing.T) {
for _ , obj := range objs {
for _ , obj := range objs {
u := obj . ( * unstructured . Unstructured )
u := obj . ( * unstructured . Unstructured )
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
err := fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) )
require . NoError ( t , fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) ) )
require . NoError ( t , err )
}
}
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
err := sw . WatchUntilReady ( resourceList , time . Second * 3 )
// Should succeed because method context is used and it's not cancelled
// Should succeed because method context is used and it's not cancelled
assert . NoError ( t , err)
assert . NoError ( t , sw. WatchUntilR eady( resou rceList, time . Second * 3 ) )
} )
} )
t . Run ( "method-specific context overrides general context for Wait" , func ( t * testing . T ) {
t . Run ( "method-specific context overrides general context for Wait" , func ( t * testing . T ) {
@ -1648,14 +1614,12 @@ func TestMethodContextOverridesGeneralContext(t *testing.T) {
for _ , obj := range objs {
for _ , obj := range objs {
u := obj . ( * unstructured . Unstructured )
u := obj . ( * unstructured . Unstructured )
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
err := fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) )
require . NoError ( t , fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) ) )
require . NoError ( t , err )
}
}
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
err := sw . Wait ( resourceList , time . Second * 3 )
// Should succeed because method context is used and it's not cancelled
// Should succeed because method context is used and it's not cancelled
assert . NoError ( t , err )
assert . NoError ( t , sw. Wait ( resourceList , time . Second * 3 ) )
} )
} )
t . Run ( "method-specific context overrides general context for WaitWithJobs" , func ( t * testing . T ) {
t . Run ( "method-specific context overrides general context for WaitWithJobs" , func ( t * testing . T ) {
@ -1681,14 +1645,12 @@ func TestMethodContextOverridesGeneralContext(t *testing.T) {
for _ , obj := range objs {
for _ , obj := range objs {
u := obj . ( * unstructured . Unstructured )
u := obj . ( * unstructured . Unstructured )
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
err := fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) )
require . NoError ( t , fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) ) )
require . NoError ( t , err )
}
}
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
err := sw . WaitWithJobs ( resourceList , time . Second * 3 )
// Should succeed because method context is used and it's not cancelled
// Should succeed because method context is used and it's not cancelled
assert . NoError ( t , err )
assert . NoError ( t , sw. WaitWithJobs ( resourceList , time . Second * 3 ) )
} )
} )
t . Run ( "method-specific context overrides general context for WaitForDelete" , func ( t * testing . T ) {
t . Run ( "method-specific context overrides general context for WaitForDelete" , func ( t * testing . T ) {
@ -1717,9 +1679,8 @@ func TestMethodContextOverridesGeneralContext(t *testing.T) {
// immediately cancelled and the call would return a context error.
// immediately cancelled and the call would return a context error.
objs := getRuntimeObjFromManifests ( t , [ ] string { podCurrentManifest } )
objs := getRuntimeObjFromManifests ( t , [ ] string { podCurrentManifest } )
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
err := sw . WaitForDelete ( resourceList , time . Second )
// Should succeed because method context is used and it's not cancelled
// Should succeed because method context is used and it's not cancelled
assert . NoError ( t , err)
assert . NoError ( t , sw. WaitForD elete( resou rceList, time . Second ) )
} )
} )
}
}
@ -1801,8 +1762,7 @@ func TestWatchUntilReadyWithCustomReaders(t *testing.T) {
for _ , obj := range objs {
for _ , obj := range objs {
u := obj . ( * unstructured . Unstructured )
u := obj . ( * unstructured . Unstructured )
gvr := getGVR ( t , fakeMapper , u )
gvr := getGVR ( t , fakeMapper , u )
err := fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) )
require . NoError ( t , fakeClient . Tracker ( ) . Create ( gvr , u , u . GetNamespace ( ) ) )
require . NoError ( t , err )
}
}
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
resourceList := getResourceListFromRuntimeObjs ( t , c , objs )
err := statusWaiter . WatchUntilReady ( resourceList , time . Second * 3 )
err := statusWaiter . WatchUntilReady ( resourceList , time . Second * 3 )
@ -1811,9 +1771,9 @@ func TestWatchUntilReadyWithCustomReaders(t *testing.T) {
for _ , expectedErrStr := range tt . expectErrStrs {
for _ , expectedErrStr := range tt . expectErrStrs {
require . ErrorContains ( t , err , expectedErrStr )
require . ErrorContains ( t , err , expectedErrStr )
}
}
return
} else {
assert . NoError ( t , err )
}
}
assert . NoError ( t , err )
} )
} )
}
}
}
}