Skip to content

Commit

Permalink
Improve taskref_test coverage with more error test cases
Browse files Browse the repository at this point in the history
This commit adds test cases with errors to improve taskref_test
coverage with clusterTask test cases.
  • Loading branch information
JeromeJu committed Jun 19, 2023
1 parent 06d2499 commit 9b9991e
Showing 1 changed file with 47 additions and 11 deletions.
58 changes: 47 additions & 11 deletions pkg/reconciler/taskrun/resources/taskref_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -155,11 +155,12 @@ func TestGetTaskKind(t *testing.T) {

func TestLocalTaskRef(t *testing.T) {
testcases := []struct {
name string
tasks []runtime.Object
ref *v1beta1.TaskRef
expected runtime.Object
wantErr bool
name string
tasks []runtime.Object
ref *v1beta1.TaskRef
expected runtime.Object
wantErr error
localTaskRefResolverWithoutNamespace bool
}{
{
name: "local-task",
Expand All @@ -186,7 +187,7 @@ func TestLocalTaskRef(t *testing.T) {
Namespace: "default",
},
},
wantErr: false,
wantErr: nil,
},
{
name: "local-clustertask",
Expand Down Expand Up @@ -215,7 +216,7 @@ func TestLocalTaskRef(t *testing.T) {
Name: "cluster-task",
},
},
wantErr: false,
wantErr: nil,
},
{
name: "task-not-found",
Expand All @@ -224,7 +225,33 @@ func TestLocalTaskRef(t *testing.T) {
Name: "simple",
},
expected: nil,
wantErr: true,
wantErr: errors.New(`tasks.tekton.dev "simple" not found`),
},
{
name: "clustertask-not-found",
tasks: []runtime.Object{},
ref: &v1beta1.TaskRef{
Name: "cluster-task",
Kind: "ClusterTask",
},
expected: nil,
wantErr: errors.New(`clustertasks.tekton.dev "cluster-task" not found`),
},
{
name: "local-task-missing-namespace",
tasks: []runtime.Object{
&v1beta1.Task{
ObjectMeta: metav1.ObjectMeta{
Name: "simple",
Namespace: "default",
},
},
},
ref: &v1beta1.TaskRef{
Name: "simple",
},
wantErr: fmt.Errorf("must specify namespace to resolve reference to task simple"),
localTaskRefResolverWithoutNamespace: true,
},
}

Expand All @@ -241,10 +268,19 @@ func TestLocalTaskRef(t *testing.T) {
Tektonclient: tektonclient,
}

if tc.localTaskRefResolverWithoutNamespace {
lc.Namespace = ""
}

task, refSource, _, err := lc.GetTask(ctx, tc.ref.Name)
if tc.wantErr && err == nil {
t.Fatal("Expected error but found nil instead")
} else if !tc.wantErr && err != nil {
if tc.wantErr != nil {
if err == nil {
t.Fatal("Expected error but found nil instead")
}
if tc.wantErr.Error() != err.Error() {
t.Fatalf("Received different error ( %#v )", err)
}
} else if tc.wantErr == nil && err != nil {
t.Fatalf("Received unexpected error ( %#v )", err)
}

Expand Down

0 comments on commit 9b9991e

Please sign in to comment.