Signed-off-by: Austin Abro <AustinAbro321@gmail.com>
pull/13604/head
Austin Abro 7 months ago
parent b79dfd09b0
commit 75292c5e04
No known key found for this signature in database
GPG Key ID: 92EB5159E403F9D6

@ -160,7 +160,7 @@ func getGVR(t *testing.T, mapper meta.RESTMapper, obj *unstructured.Unstructured
return mapping.Resource return mapping.Resource
} }
func getUnstructuredObjsFromManifests(t *testing.T, manifests []string) []runtime.Object { func getRuntimeObjFromManifests(t *testing.T, manifests []string) []runtime.Object {
objects := []runtime.Object{} objects := []runtime.Object{}
for _, manifest := range manifests { for _, manifest := range manifests {
m := make(map[string]interface{}) m := make(map[string]interface{})
@ -172,6 +172,16 @@ func getUnstructuredObjsFromManifests(t *testing.T, manifests []string) []runtim
return objects return objects
} }
func getResourceListFromRuntimeObjs(t *testing.T, c *Client, objs []runtime.Object) ResourceList {
resourceList := ResourceList{}
for _, obj := range objs {
list, err := c.Build(objBody(obj), false)
assert.NoError(t, err)
resourceList = append(resourceList, list...)
}
return resourceList
}
func TestStatusWaitForDelete(t *testing.T) { func TestStatusWaitForDelete(t *testing.T) {
t.Parallel() t.Parallel()
tests := []struct { tests := []struct {
@ -209,14 +219,14 @@ func TestStatusWaitForDelete(t *testing.T) {
client: fakeClient, client: fakeClient,
log: t.Logf, log: t.Logf,
} }
objsToCreate := getUnstructuredObjsFromManifests(t, tt.manifestsToCreate) objsToCreate := getRuntimeObjFromManifests(t, tt.manifestsToCreate)
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()) err := fakeClient.Tracker().Create(gvr, u, u.GetNamespace())
assert.NoError(t, err) assert.NoError(t, err)
} }
objsToDelete := getUnstructuredObjsFromManifests(t, tt.manifestsToDelete) objsToDelete := getRuntimeObjFromManifests(t, tt.manifestsToDelete)
for _, objToDelete := range objsToDelete { for _, objToDelete := range objsToDelete {
u := objToDelete.(*unstructured.Unstructured) u := objToDelete.(*unstructured.Unstructured)
gvr := getGVR(t, fakeMapper, u) gvr := getGVR(t, fakeMapper, u)
@ -226,12 +236,7 @@ func TestStatusWaitForDelete(t *testing.T) {
assert.NoError(t, err) assert.NoError(t, err)
}() }()
} }
resourceList := ResourceList{} resourceList := getResourceListFromRuntimeObjs(t, c, objsToCreate)
for _, obj := range objsToCreate {
list, err := c.Build(objBody(obj), false)
assert.NoError(t, err)
resourceList = append(resourceList, list...)
}
err := statusWaiter.WaitForDelete(resourceList, timeout) err := statusWaiter.WaitForDelete(resourceList, timeout)
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())
@ -255,19 +260,10 @@ func TestStatusWaitForDeleteNonExistentObject(t *testing.T) {
client: fakeClient, client: fakeClient,
log: t.Logf, log: t.Logf,
} }
createdObjs := []runtime.Object{} // Don't create the object to test that the wait for delete works when the object doesn't exist
m := make(map[string]interface{}) objManifest := getRuntimeObjFromManifests(t, []string{podCurrentManifest})
err := yaml.Unmarshal([]byte(podCurrentManifest), &m) resourceList := getResourceListFromRuntimeObjs(t, c, objManifest)
assert.NoError(t, err) err := statusWaiter.WaitForDelete(resourceList, timeout)
resource := &unstructured.Unstructured{Object: m}
createdObjs = append(createdObjs, resource)
resourceList := ResourceList{}
for _, obj := range createdObjs {
list, err := c.Build(objBody(obj), false)
assert.NoError(t, err)
resourceList = append(resourceList, list...)
}
err = statusWaiter.WaitForDelete(resourceList, timeout)
assert.NoError(t, err) assert.NoError(t, err)
} }

Loading…
Cancel
Save