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

@ -43,7 +43,7 @@ import (
"sigs.k8s.io/cli-utils/pkg/testutil" "sigs.k8s.io/cli-utils/pkg/testutil"
) )
var podCurrent = ` var podCurrentManifest = `
apiVersion: v1 apiVersion: v1
kind: Pod kind: Pod
metadata: metadata:
@ -56,7 +56,7 @@ status:
phase: Running phase: Running
` `
var podNoStatus = ` var podNoStatusManifest = `
apiVersion: v1 apiVersion: v1
kind: Pod kind: Pod
metadata: metadata:
@ -64,7 +64,7 @@ metadata:
namespace: ns namespace: ns
` `
var jobNoStatus = ` var jobNoStatusManifest = `
apiVersion: batch/v1 apiVersion: batch/v1
kind: Job kind: Job
metadata: metadata:
@ -73,7 +73,7 @@ metadata:
generation: 1 generation: 1
` `
var jobComplete = ` var jobCompleteManifest = `
apiVersion: batch/v1 apiVersion: batch/v1
kind: Job kind: Job
metadata: metadata:
@ -88,7 +88,7 @@ status:
status: "True" status: "True"
` `
var pausedDeploymentYaml = ` var pausedDeploymentManifest = `
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
@ -149,20 +149,20 @@ func TestStatusWaitForDelete(t *testing.T) {
t.Parallel() t.Parallel()
tests := []struct { tests := []struct {
name string name string
objToCreate []string manifestsToCreate []string
toDelete []string manifestsToDelete []string
expectErrs []error expectErrs []error
}{ }{
{ {
name: "wait for pod to be deleted", name: "wait for pod to be deleted",
objToCreate: []string{podCurrent}, manifestsToCreate: []string{podCurrentManifest},
toDelete: []string{podCurrent}, manifestsToDelete: []string{podCurrentManifest},
expectErrs: nil, expectErrs: nil,
}, },
{ {
name: "error when not all objects are deleted", name: "error when not all objects are deleted",
objToCreate: []string{jobComplete, podCurrent}, manifestsToCreate: []string{jobCompleteManifest, podCurrentManifest},
toDelete: []string{jobComplete}, manifestsToDelete: []string{jobCompleteManifest},
expectErrs: []error{errors.New("resource still exists, name: good-pod, kind: Pod, status: Current"), errors.New("context deadline exceeded")}, expectErrs: []error{errors.New("resource still exists, name: good-pod, kind: Pod, status: Current"), errors.New("context deadline exceeded")},
}, },
} }
@ -184,9 +184,9 @@ func TestStatusWaitForDelete(t *testing.T) {
log: t.Logf, log: t.Logf,
} }
createdObjs := []runtime.Object{} createdObjs := []runtime.Object{}
for _, objYaml := range tt.objToCreate { for _, manifest := range tt.manifestsToCreate {
m := make(map[string]interface{}) m := make(map[string]interface{})
err := yaml.Unmarshal([]byte(objYaml), &m) err := yaml.Unmarshal([]byte(manifest), &m)
assert.NoError(t, err) assert.NoError(t, err)
resource := &unstructured.Unstructured{Object: m} resource := &unstructured.Unstructured{Object: m}
createdObjs = append(createdObjs, resource) createdObjs = append(createdObjs, resource)
@ -194,9 +194,9 @@ func TestStatusWaitForDelete(t *testing.T) {
err = fakeClient.Tracker().Create(gvr, resource, resource.GetNamespace()) err = fakeClient.Tracker().Create(gvr, resource, resource.GetNamespace())
assert.NoError(t, err) assert.NoError(t, err)
} }
for _, objYaml := range tt.toDelete { for _, manifest := range tt.manifestsToDelete {
m := make(map[string]interface{}) m := make(map[string]interface{})
err := yaml.Unmarshal([]byte(objYaml), &m) err := yaml.Unmarshal([]byte(manifest), &m)
assert.NoError(t, err) assert.NoError(t, err)
resource := &unstructured.Unstructured{Object: m} resource := &unstructured.Unstructured{Object: m}
gvr := getGVR(t, fakeMapper, resource) gvr := getGVR(t, fakeMapper, resource)
@ -227,40 +227,40 @@ func TestStatusWait(t *testing.T) {
t.Parallel() t.Parallel()
tests := []struct { tests := []struct {
name string name string
objYamls []string objManifests []string
expectErrs []error expectErrs []error
waitForJobs bool waitForJobs bool
}{ }{
{ {
name: "Job is complete", name: "Job is complete",
objYamls: []string{jobComplete}, objManifests: []string{jobCompleteManifest},
expectErrs: nil, expectErrs: nil,
}, },
{ {
name: "Job is not complete", name: "Job is not complete",
objYamls: []string{jobNoStatus}, objManifests: []string{jobNoStatusManifest},
expectErrs: []error{errors.New("resource not ready, name: test, kind: Job, status: InProgress"), errors.New("context deadline exceeded")}, expectErrs: []error{errors.New("resource not ready, name: test, kind: Job, status: InProgress"), errors.New("context deadline exceeded")},
waitForJobs: true, waitForJobs: true,
}, },
{ {
name: "Job is not ready, but we pass wait anyway", name: "Job is not ready, but we pass wait anyway",
objYamls: []string{jobNoStatus}, objManifests: []string{jobNoStatusManifest},
expectErrs: nil, expectErrs: nil,
waitForJobs: false, waitForJobs: false,
}, },
{ {
name: "Pod is ready", name: "Pod is ready",
objYamls: []string{podCurrent}, objManifests: []string{podCurrentManifest},
expectErrs: nil, expectErrs: nil,
}, },
{ {
name: "one of the pods never becomes ready", name: "one of the pods never becomes ready",
objYamls: []string{podNoStatus, podCurrent}, objManifests: []string{podNoStatusManifest, podCurrentManifest},
expectErrs: []error{errors.New("resource not ready, name: in-progress-pod, kind: Pod, status: InProgress"), errors.New("context deadline exceeded")}, expectErrs: []error{errors.New("resource not ready, name: in-progress-pod, kind: Pod, status: InProgress"), errors.New("context deadline exceeded")},
}, },
{ {
name: "paused deployment passes", name: "paused deployment passes",
objYamls: []string{pausedDeploymentYaml}, objManifests: []string{pausedDeploymentManifest},
expectErrs: nil, expectErrs: nil,
}, },
} }
@ -282,7 +282,7 @@ func TestStatusWait(t *testing.T) {
} }
objs := []runtime.Object{} objs := []runtime.Object{}
for _, podYaml := range tt.objYamls { for _, podYaml := range tt.objManifests {
m := make(map[string]interface{}) m := make(map[string]interface{})
err := yaml.Unmarshal([]byte(podYaml), &m) err := yaml.Unmarshal([]byte(podYaml), &m)
assert.NoError(t, err) assert.NoError(t, err)

Loading…
Cancel
Save