From 7d5a53486772f18278056978683cdb45fc70beff Mon Sep 17 00:00:00 2001 From: Vibhav Bobade Date: Fri, 24 Jan 2025 14:36:45 +0530 Subject: [PATCH] test: invalid step result reference --- pkg/reconciler/taskrun/resources/apply.go | 5 +- .../taskrun/resources/taskspec_test.go | 47 +++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) diff --git a/pkg/reconciler/taskrun/resources/apply.go b/pkg/reconciler/taskrun/resources/apply.go index ae601e415f8..7302c11e95f 100644 --- a/pkg/reconciler/taskrun/resources/apply.go +++ b/pkg/reconciler/taskrun/resources/apply.go @@ -99,7 +99,10 @@ func applyStepActionParameters(step *v1.Step, spec *v1.TaskSpec, tr *v1.TaskRun, } // 4. set step result replacements last - stepResultReplacements, _ := replacementsFromStepResults(step, stepParams, defaults) + stepResultReplacements, err := replacementsFromStepResults(step, stepParams, defaults) + if err != nil { + return nil, err + } for k, v := range stepResultReplacements { stringReplacements[k] = v } diff --git a/pkg/reconciler/taskrun/resources/taskspec_test.go b/pkg/reconciler/taskrun/resources/taskspec_test.go index 16f262bf3d8..b5752c957d6 100644 --- a/pkg/reconciler/taskrun/resources/taskspec_test.go +++ b/pkg/reconciler/taskrun/resources/taskspec_test.go @@ -1625,3 +1625,50 @@ func TestGetStepActionsData_Error(t *testing.T) { } } } + +func TestGetStepActionsData_InvalidStepResultReference(t *testing.T) { + tr := &v1.TaskRun{ + ObjectMeta: metav1.ObjectMeta{ + Name: "mytaskrun", + Namespace: "default", + }, + Spec: v1.TaskRunSpec{ + TaskSpec: &v1.TaskSpec{ + Steps: []v1.Step{{ + Name: "step1", + Ref: &v1.Ref{ + Name: "stepAction", + }, + Params: v1.Params{{ + Name: "param1", + Value: v1.ParamValue{ + Type: v1.ParamTypeString, + StringVal: "$(steps.invalid.step)", + }, + }}, + }}, + }, + }, + } + + stepAction := &v1beta1.StepAction{ + ObjectMeta: metav1.ObjectMeta{ + Name: "stepAction", + Namespace: "default", + }, + Spec: v1beta1.StepActionSpec{ + Image: "myimage", + Params: v1.ParamSpecs{{ + Name: "param1", + Type: v1.ParamTypeString, + }}, + }, + } + + ctx := context.Background() + tektonclient := fake.NewSimpleClientset(stepAction) + _, err := resources.GetStepActionsData(ctx, *tr.Spec.TaskSpec, tr, tektonclient, nil, nil) + if err == nil { + t.Error("Expected error due to invalid step result reference, but got nil") + } +}