From acfe87d5b39a3ca58bad2dd0d26c25e81cc6982c Mon Sep 17 00:00:00 2001 From: Michalina Kotwica Date: Tue, 14 Jun 2022 14:05:02 +0200 Subject: [PATCH] add tests for actual array results --- pkg/pod/status_test.go | 99 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) diff --git a/pkg/pod/status_test.go b/pkg/pod/status_test.go index 6c1fb59b9cd..5f8635d617a 100644 --- a/pkg/pod/status_test.go +++ b/pkg/pod/status_test.go @@ -1619,6 +1619,105 @@ func TestMakeTaskRunStatusMatchesType(t *testing.T) { CompletionTime: &metav1.Time{Time: time.Now()}, }, }, + }, { + desc: "test generating array of strings (declared in taskSpec)", + spec: v1beta1.TaskRunSpec{ + TaskSpec: &v1beta1.TaskSpec{ + Results: []v1beta1.TaskResult{{ + Name: "arr-str", + Type: v1beta1.ResultsTypeArray, + }}, + }, + }, + podStatus: corev1.PodStatus{ + Phase: corev1.PodSucceeded, + ContainerStatuses: []corev1.ContainerStatus{{ + Name: "step-arr-str-gen", + State: corev1.ContainerState{ + Terminated: &corev1.ContainerStateTerminated{ + Message: `[{"key":"arr-str","value":"[\"a\",\"b\",\"c\"]", "type":1}, {"key":"digest","value":"sha256:1234","resourceRef":{"name":"source-image"}}]`, + }, + }, + }}, + }, + want: v1beta1.TaskRunStatus{ + Status: statusSuccess(), + TaskRunStatusFields: v1beta1.TaskRunStatusFields{ + Steps: []v1beta1.StepState{{ + ContainerState: corev1.ContainerState{ + Terminated: &corev1.ContainerStateTerminated{ + Message: `[{"key":"arr-str","value":"[\"a\",\"b\",\"c\"]","type":1},{"key":"digest","value":"sha256:1234","resourceRef":{"name":"source-image"}}]`, + }}, + Name: "arr-str-gen", + ContainerName: "step-arr-str-gen", + }}, + Sidecars: []v1beta1.SidecarState{}, + ResourcesResult: []v1beta1.PipelineResourceResult{{ + Key: "digest", + Value: "sha256:1234", + ResourceRef: &v1beta1.PipelineResourceRef{Name: "source-image"}, + }}, + TaskRunResults: []v1beta1.TaskRunResult{{ + Name: "arr-str", + Type: v1beta1.ResultsTypeArray, + Value: *v1beta1.NewArrayOrString("a", "b", "c"), + }}, + // We don't actually care about the time, just that it's not nil + CompletionTime: &metav1.Time{Time: time.Now()}, + }, + }, + }, { + desc: "test generating array of strings (declared in taskRef)", + spec: v1beta1.TaskRunSpec{ + TaskRef: &v1beta1.TaskRef{ + Name: "arr-str-gen", + }, + }, + getTask: GetTaskSpecMappingReconciler(map[string]*v1beta1.TaskSpec{ + "arr-str-gen": { + Results: []v1beta1.TaskResult{{ + Name: "arr-str", + Type: v1beta1.ResultsTypeArray, + }}, + }, + }), + podStatus: corev1.PodStatus{ + Phase: corev1.PodSucceeded, + ContainerStatuses: []corev1.ContainerStatus{{ + Name: "step-arr-str-gen", + State: corev1.ContainerState{ + Terminated: &corev1.ContainerStateTerminated{ + Message: `[{"key":"arr-str","value":"[\"a\",\"b\",\"c\"]", "type":1}, {"key":"digest","value":"sha256:1234","resourceRef":{"name":"source-image"}}]`, + }, + }, + }}, + }, + want: v1beta1.TaskRunStatus{ + Status: statusSuccess(), + TaskRunStatusFields: v1beta1.TaskRunStatusFields{ + Steps: []v1beta1.StepState{{ + ContainerState: corev1.ContainerState{ + Terminated: &corev1.ContainerStateTerminated{ + Message: `[{"key":"arr-str","value":"[\"a\",\"b\",\"c\"]","type":1},{"key":"digest","value":"sha256:1234","resourceRef":{"name":"source-image"}}]`, + }}, + Name: "arr-str-gen", + ContainerName: "step-arr-str-gen", + }}, + Sidecars: []v1beta1.SidecarState{}, + ResourcesResult: []v1beta1.PipelineResourceResult{{ + Key: "digest", + Value: "sha256:1234", + ResourceRef: &v1beta1.PipelineResourceRef{Name: "source-image"}, + }}, + TaskRunResults: []v1beta1.TaskRunResult{{ + Name: "arr-str", + Type: v1beta1.ResultsTypeArray, + Value: *v1beta1.NewArrayOrString("a", "b", "c"), + }}, + // We don't actually care about the time, just that it's not nil + CompletionTime: &metav1.Time{Time: time.Now()}, + }, + }, }} { t.Run(c.desc, func(t *testing.T) { now := metav1.Now()