Skip to content

Commit

Permalink
WIP reformat tests
Browse files Browse the repository at this point in the history
  • Loading branch information
JeromeJu committed Aug 11, 2022
1 parent a758238 commit 055ecf0
Show file tree
Hide file tree
Showing 4 changed files with 225 additions and 235 deletions.
156 changes: 73 additions & 83 deletions pkg/apis/pipeline/v1/taskrun_defaults_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import (
"github.com/google/go-cmp/cmp/cmpopts"
"github.com/tektoncd/pipeline/pkg/apis/config"
"github.com/tektoncd/pipeline/pkg/apis/pipeline/pod"
"github.com/tektoncd/pipeline/pkg/apis/pipeline/v1beta1"
v1 "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1"
"github.com/tektoncd/pipeline/test/diff"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
Expand All @@ -39,57 +39,47 @@ var (
func TestTaskRunSpec_SetDefaults(t *testing.T) {
cases := []struct {
desc string
trs *v1beta1.TaskRunSpec
want *v1beta1.TaskRunSpec
trs *v1.TaskRunSpec
want *v1.TaskRunSpec
}{{
desc: "taskref is nil",
trs: &v1beta1.TaskRunSpec{
trs: &v1.TaskRunSpec{
TaskRef: nil,
Timeout: &metav1.Duration{Duration: 500 * time.Millisecond},
},
want: &v1beta1.TaskRunSpec{
want: &v1.TaskRunSpec{
TaskRef: nil,
ServiceAccountName: config.DefaultServiceAccountValue,
Timeout: &metav1.Duration{Duration: 500 * time.Millisecond},
},
}, {
desc: "taskref kind is empty",
trs: &v1beta1.TaskRunSpec{
TaskRef: &v1beta1.TaskRef{},
trs: &v1.TaskRunSpec{
TaskRef: &v1.TaskRef{},
Timeout: &metav1.Duration{Duration: 500 * time.Millisecond},
},
want: &v1beta1.TaskRunSpec{
TaskRef: &v1beta1.TaskRef{Kind: v1beta1.NamespacedTaskKind},
want: &v1.TaskRunSpec{
TaskRef: &v1.TaskRef{Kind: v1.NamespacedTaskKind},
ServiceAccountName: config.DefaultServiceAccountValue,
Timeout: &metav1.Duration{Duration: 500 * time.Millisecond},
},
}, {
desc: "timeout is nil",
trs: &v1beta1.TaskRunSpec{
TaskRef: &v1beta1.TaskRef{Kind: v1beta1.ClusterTaskKind},
},
want: &v1beta1.TaskRunSpec{
TaskRef: &v1beta1.TaskRef{Kind: v1beta1.ClusterTaskKind},
ServiceAccountName: config.DefaultServiceAccountValue,
Timeout: &metav1.Duration{Duration: config.DefaultTimeoutMinutes * time.Minute},
},
}, {
desc: "pod template is nil",
trs: &v1beta1.TaskRunSpec{},
want: &v1beta1.TaskRunSpec{
trs: &v1.TaskRunSpec{},
want: &v1.TaskRunSpec{
ServiceAccountName: config.DefaultServiceAccountValue,
Timeout: &metav1.Duration{Duration: config.DefaultTimeoutMinutes * time.Minute},
},
}, {
desc: "pod template is not nil",
trs: &v1beta1.TaskRunSpec{
trs: &v1.TaskRunSpec{
PodTemplate: &pod.Template{
NodeSelector: map[string]string{
"label": "value",
},
},
},
want: &v1beta1.TaskRunSpec{
want: &v1.TaskRunSpec{
ServiceAccountName: config.DefaultServiceAccountValue,
Timeout: &metav1.Duration{Duration: config.DefaultTimeoutMinutes * time.Minute},
PodTemplate: &pod.Template{
Expand All @@ -100,18 +90,18 @@ func TestTaskRunSpec_SetDefaults(t *testing.T) {
},
}, {
desc: "embedded taskSpec",
trs: &v1beta1.TaskRunSpec{
TaskSpec: &v1beta1.TaskSpec{
Params: []v1beta1.ParamSpec{{
trs: &v1.TaskRunSpec{
TaskSpec: &v1.TaskSpec{
Params: []v1.ParamSpec{{
Name: "param-name",
}},
},
},
want: &v1beta1.TaskRunSpec{
TaskSpec: &v1beta1.TaskSpec{
Params: []v1beta1.ParamSpec{{
want: &v1.TaskRunSpec{
TaskSpec: &v1.TaskSpec{
Params: []v1.ParamSpec{{
Name: "param-name",
Type: v1beta1.ParamTypeString,
Type: v1.ParamTypeString,
}},
},
ServiceAccountName: config.DefaultServiceAccountValue,
Expand All @@ -133,52 +123,52 @@ func TestTaskRunSpec_SetDefaults(t *testing.T) {
func TestTaskRunDefaulting(t *testing.T) {
tests := []struct {
name string
in *v1beta1.TaskRun
want *v1beta1.TaskRun
in *v1.TaskRun
want *v1.TaskRun
wc func(context.Context) context.Context
}{{
name: "empty no context",
in: &v1beta1.TaskRun{},
want: &v1beta1.TaskRun{
in: &v1.TaskRun{},
want: &v1.TaskRun{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{"app.kubernetes.io/managed-by": "tekton-pipelines"},
},
Spec: v1beta1.TaskRunSpec{
Spec: v1.TaskRunSpec{
ServiceAccountName: config.DefaultServiceAccountValue,
Timeout: &metav1.Duration{Duration: config.DefaultTimeoutMinutes * time.Minute},
},
},
}, {
name: "TaskRef default to namespace kind",
in: &v1beta1.TaskRun{
Spec: v1beta1.TaskRunSpec{
TaskRef: &v1beta1.TaskRef{Name: "foo"},
in: &v1.TaskRun{
Spec: v1.TaskRunSpec{
TaskRef: &v1.TaskRef{Name: "foo"},
},
},
want: &v1beta1.TaskRun{
want: &v1.TaskRun{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{"app.kubernetes.io/managed-by": "tekton-pipelines"},
},
Spec: v1beta1.TaskRunSpec{
TaskRef: &v1beta1.TaskRef{Name: "foo", Kind: v1beta1.NamespacedTaskKind},
Spec: v1.TaskRunSpec{
TaskRef: &v1.TaskRef{Name: "foo", Kind: v1.NamespacedTaskKind},
ServiceAccountName: config.DefaultServiceAccountValue,
Timeout: &metav1.Duration{Duration: config.DefaultTimeoutMinutes * time.Minute},
},
},
}, {
name: "TaskRef default config context",
in: &v1beta1.TaskRun{
Spec: v1beta1.TaskRunSpec{
TaskRef: &v1beta1.TaskRef{Name: "foo"},
in: &v1.TaskRun{
Spec: v1.TaskRunSpec{
TaskRef: &v1.TaskRef{Name: "foo"},
},
},
want: &v1beta1.TaskRun{
want: &v1.TaskRun{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{"app.kubernetes.io/managed-by": "tekton-pipelines"},
},
Spec: v1beta1.TaskRunSpec{
Spec: v1.TaskRunSpec{
ServiceAccountName: config.DefaultServiceAccountValue,
TaskRef: &v1beta1.TaskRef{Name: "foo", Kind: v1beta1.NamespacedTaskKind},
TaskRef: &v1.TaskRef{Name: "foo", Kind: v1.NamespacedTaskKind},
Timeout: &metav1.Duration{Duration: 5 * time.Minute},
},
},
Expand All @@ -196,17 +186,17 @@ func TestTaskRunDefaulting(t *testing.T) {
},
}, {
name: "TaskRef default config context with SA",
in: &v1beta1.TaskRun{
Spec: v1beta1.TaskRunSpec{
TaskRef: &v1beta1.TaskRef{Name: "foo"},
in: &v1.TaskRun{
Spec: v1.TaskRunSpec{
TaskRef: &v1.TaskRef{Name: "foo"},
},
},
want: &v1beta1.TaskRun{
want: &v1.TaskRun{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{"app.kubernetes.io/managed-by": "tekton-pipelines"},
},
Spec: v1beta1.TaskRunSpec{
TaskRef: &v1beta1.TaskRef{Name: "foo", Kind: v1beta1.NamespacedTaskKind},
Spec: v1.TaskRunSpec{
TaskRef: &v1.TaskRef{Name: "foo", Kind: v1.NamespacedTaskKind},
Timeout: &metav1.Duration{Duration: 5 * time.Minute},
ServiceAccountName: "tekton",
},
Expand All @@ -226,17 +216,17 @@ func TestTaskRunDefaulting(t *testing.T) {
},
}, {
name: "TaskRun managed-by set in config",
in: &v1beta1.TaskRun{
Spec: v1beta1.TaskRunSpec{
TaskRef: &v1beta1.TaskRef{Name: "foo"},
in: &v1.TaskRun{
Spec: v1.TaskRunSpec{
TaskRef: &v1.TaskRef{Name: "foo"},
},
},
want: &v1beta1.TaskRun{
want: &v1.TaskRun{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{"app.kubernetes.io/managed-by": "something-else"},
},
Spec: v1beta1.TaskRunSpec{
TaskRef: &v1beta1.TaskRef{Name: "foo", Kind: v1beta1.NamespacedTaskKind},
Spec: v1.TaskRunSpec{
TaskRef: &v1.TaskRef{Name: "foo", Kind: v1.NamespacedTaskKind},
ServiceAccountName: config.DefaultServiceAccountValue,
Timeout: &metav1.Duration{Duration: 5 * time.Minute},
},
Expand All @@ -256,20 +246,20 @@ func TestTaskRunDefaulting(t *testing.T) {
},
}, {
name: "TaskRun managed-by set in request and config (request wins)",
in: &v1beta1.TaskRun{
in: &v1.TaskRun{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{"app.kubernetes.io/managed-by": "user-specified"},
},
Spec: v1beta1.TaskRunSpec{
TaskRef: &v1beta1.TaskRef{Name: "foo"},
Spec: v1.TaskRunSpec{
TaskRef: &v1.TaskRef{Name: "foo"},
},
},
want: &v1beta1.TaskRun{
want: &v1.TaskRun{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{"app.kubernetes.io/managed-by": "user-specified"},
},
Spec: v1beta1.TaskRunSpec{
TaskRef: &v1beta1.TaskRef{Name: "foo", Kind: v1beta1.NamespacedTaskKind},
Spec: v1.TaskRunSpec{
TaskRef: &v1.TaskRef{Name: "foo", Kind: v1.NamespacedTaskKind},
ServiceAccountName: config.DefaultServiceAccountValue,
Timeout: &metav1.Duration{Duration: 5 * time.Minute},
},
Expand All @@ -289,17 +279,17 @@ func TestTaskRunDefaulting(t *testing.T) {
},
}, {
name: "TaskRef pod template is coming from default config pod template",
in: &v1beta1.TaskRun{
Spec: v1beta1.TaskRunSpec{
TaskRef: &v1beta1.TaskRef{Name: "foo"},
in: &v1.TaskRun{
Spec: v1.TaskRunSpec{
TaskRef: &v1.TaskRef{Name: "foo"},
},
},
want: &v1beta1.TaskRun{
want: &v1.TaskRun{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{"app.kubernetes.io/managed-by": "tekton-pipelines"},
},
Spec: v1beta1.TaskRunSpec{
TaskRef: &v1beta1.TaskRef{Name: "foo", Kind: v1beta1.NamespacedTaskKind},
Spec: v1.TaskRunSpec{
TaskRef: &v1.TaskRef{Name: "foo", Kind: v1.NamespacedTaskKind},
Timeout: &metav1.Duration{Duration: 5 * time.Minute},
ServiceAccountName: "tekton",
PodTemplate: &pod.Template{
Expand All @@ -325,22 +315,22 @@ func TestTaskRunDefaulting(t *testing.T) {
},
}, {
name: "TaskRef pod template NodeSelector takes precedence over default config pod template NodeSelector",
in: &v1beta1.TaskRun{
Spec: v1beta1.TaskRunSpec{
TaskRef: &v1beta1.TaskRef{Name: "foo"},
in: &v1.TaskRun{
Spec: v1.TaskRunSpec{
TaskRef: &v1.TaskRef{Name: "foo"},
PodTemplate: &pod.Template{
NodeSelector: map[string]string{
"label2": "value2",
},
},
},
},
want: &v1beta1.TaskRun{
want: &v1.TaskRun{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{"app.kubernetes.io/managed-by": "tekton-pipelines"},
},
Spec: v1beta1.TaskRunSpec{
TaskRef: &v1beta1.TaskRef{Name: "foo", Kind: v1beta1.NamespacedTaskKind},
Spec: v1.TaskRunSpec{
TaskRef: &v1.TaskRef{Name: "foo", Kind: v1.NamespacedTaskKind},
Timeout: &metav1.Duration{Duration: 5 * time.Minute},
ServiceAccountName: "tekton",
PodTemplate: &pod.Template{
Expand All @@ -366,22 +356,22 @@ func TestTaskRunDefaulting(t *testing.T) {
},
}, {
name: "TaskRef pod template merges non competing fields with default config pod template",
in: &v1beta1.TaskRun{
Spec: v1beta1.TaskRunSpec{
TaskRef: &v1beta1.TaskRef{Name: "foo"},
in: &v1.TaskRun{
Spec: v1.TaskRunSpec{
TaskRef: &v1.TaskRef{Name: "foo"},
PodTemplate: &pod.Template{
SecurityContext: &corev1.PodSecurityContext{
RunAsNonRoot: &ttrue,
},
},
},
},
want: &v1beta1.TaskRun{
want: &v1.TaskRun{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{"app.kubernetes.io/managed-by": "tekton-pipelines"},
},
Spec: v1beta1.TaskRunSpec{
TaskRef: &v1beta1.TaskRef{Name: "foo", Kind: v1beta1.NamespacedTaskKind},
Spec: v1.TaskRunSpec{
TaskRef: &v1.TaskRef{Name: "foo", Kind: v1.NamespacedTaskKind},
Timeout: &metav1.Duration{Duration: 5 * time.Minute},
ServiceAccountName: "tekton",
PodTemplate: &pod.Template{
Expand Down
4 changes: 2 additions & 2 deletions pkg/apis/pipeline/v1/taskrun_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ import (
"k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/clock"
"knative.dev/pkg/apis"
duckv1beta1 "knative.dev/pkg/apis/duck/v1beta1"
duckv1 "knative.dev/pkg/apis/duck/v1"
)

// TaskRunSpec defines the desired state of TaskRun
Expand Down Expand Up @@ -118,7 +118,7 @@ var taskRunCondSet = apis.NewBatchConditionSet()

// TaskRunStatus defines the observed state of TaskRun
type TaskRunStatus struct {
duckv1beta1.Status `json:",inline"`
duckv1.Status `json:",inline"`

// TaskRunStatusFields inlines the status fields.
TaskRunStatusFields `json:",inline"`
Expand Down
Loading

0 comments on commit 055ecf0

Please sign in to comment.