Skip to content

Commit

Permalink
Test fixes for NodeSelectors on Build and BuildRun objects
Browse files Browse the repository at this point in the history
  • Loading branch information
dorzel committed Oct 1, 2024
1 parent b04c4c2 commit 1834a24
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 18 deletions.
1 change: 1 addition & 0 deletions pkg/reconciler/build/build_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -619,6 +619,7 @@ var _ = Describe("Reconcile Build", func() {
It("should fail to validate when the nodeSelector is invalid", func() {
// set nodeSelector to be invalid
buildSample.Spec.NodeSelector = map[string]string{strings.Repeat("s", 64): "amd64"}
buildSample.Spec.Output.PushSecret = nil

statusCall := ctl.StubFunc(corev1.ConditionFalse, build.NodeSelectorNotValid, "must be no more than 63 characters")
statusWriter.UpdateCalls(statusCall)
Expand Down
22 changes: 9 additions & 13 deletions test/integration/build_to_taskruns_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import (
corev1 "k8s.io/api/core/v1"

"github.com/shipwright-io/build/pkg/apis/build/v1beta1"
"github.com/shipwright-io/build/pkg/reconciler/buildrun/resources"
utils "github.com/shipwright-io/build/test/utils/v1beta1"
test "github.com/shipwright-io/build/test/v1beta1_samples"
)
Expand Down Expand Up @@ -208,8 +207,8 @@ var _ = Describe("Integration tests Build and TaskRun", func() {

Context("when a build with nodeSelector is defined", func() {
BeforeEach(func() {
buildSample = []byte(test.MinimalBuildahBuildWithNodeSelector)
buildRunSample = []byte(test.MinimalBuildahBuildRun)
buildSample = []byte(test.MinimalBuildWithNodeSelector)
buildRunSample = []byte(test.MinimalBuildRun)
})

Context("when the TaskRun is created", func() {
Expand All @@ -221,6 +220,9 @@ var _ = Describe("Integration tests Build and TaskRun", func() {

Expect(tb.CreateBR(buildRunObject)).To(BeNil())

_, err = tb.GetBRTillStartTime(buildRunObject.Name)
Expect(err).To(BeNil())

tr, err := tb.GetTaskRunFromBuildRun(buildRunObject.Name)
Expect(err).To(BeNil())
Expect(buildObject.Spec.NodeSelector).To(Equal(tr.Spec.PodTemplate.NodeSelector))
Expand All @@ -229,21 +231,15 @@ var _ = Describe("Integration tests Build and TaskRun", func() {

Context("when the nodeSelector is invalid", func() {
It("fails the build with a proper error in Reason", func() {
// set nodeSelector label to be invalid
buildObject.Spec.NodeSelector = map[string]string{strings.Repeat("s", 64): ""}
Expect(tb.CreateBuild(buildObject)).To(BeNil())

buildObject, err = tb.GetBuildTillValidation(buildObject.Name)
Expect(err).To(BeNil())
// set nodeSelector label to be invalid
buildRunObject.Spec.NodeSelector = map[string]string{strings.Repeat("s", 64): ""}
Expect(tb.CreateBR(buildRunObject)).To(BeNil())

br, err := tb.GetBRTillCompletion(buildRunObject.Name)
Expect(err).To(BeNil())

condition := br.Status.GetCondition(v1beta1.Succeeded)
Expect(condition.Status).To(Equal(corev1.ConditionFalse))
Expect(condition.Reason).To(Equal(resources.ConditionBuildRegistrationFailed))
Expect(buildObject.Status.Reason).To(Equal(v1beta1.NodeSelectorNotValid))
Expect(*buildObject.Status.Registered).To(Equal(corev1.ConditionFalse))
Expect(*buildObject.Status.Reason).To(Equal(v1beta1.NodeSelectorNotValid))
})
})
})
Expand Down
14 changes: 9 additions & 5 deletions test/integration/buildruns_to_taskruns_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -539,8 +539,8 @@ var _ = Describe("Integration tests BuildRuns and TaskRuns", func() {

Context("when a buildrun is created with a nodeSelector defined", func() {
BeforeEach(func() {
buildSample = []byte(test.MinimalBuildahBuild)
buildRunSample = []byte(test.MinimalBuildahBuildRunWithNodeSelector)
buildSample = []byte(test.MinimalBuild)
buildRunSample = []byte(test.MinimalBuildRunWithNodeSelector)
})

Context("when the taskrun is created", func() {
Expand All @@ -552,9 +552,12 @@ var _ = Describe("Integration tests BuildRuns and TaskRuns", func() {

Expect(tb.CreateBR(buildRunObject)).To(BeNil())

br, err := tb.GetBRTillCompletion(buildRunObject.Name)
Expect(err).To(BeNil())

tr, err := tb.GetTaskRunFromBuildRun(buildRunObject.Name)
Expect(err).To(BeNil())
Expect(buildObject.Spec.NodeSelector).To(Equal(tr.Spec.PodTemplate.NodeSelector))
Expect(br.Spec.NodeSelector).To(Equal(tr.Spec.PodTemplate.NodeSelector))
})
})

Expand All @@ -564,6 +567,7 @@ var _ = Describe("Integration tests BuildRuns and TaskRuns", func() {

buildObject, err = tb.GetBuildTillValidation(buildObject.Name)
Expect(err).To(BeNil())

// set nodeSelector label to be invalid
buildRunObject.Spec.NodeSelector = map[string]string{strings.Repeat("s", 64): "amd64"}
Expect(tb.CreateBR(buildRunObject)).To(BeNil())
Expand All @@ -573,8 +577,8 @@ var _ = Describe("Integration tests BuildRuns and TaskRuns", func() {

condition := br.Status.GetCondition(v1beta1.Succeeded)
Expect(condition.Status).To(Equal(corev1.ConditionFalse))
Expect(condition.Reason).To(Equal(resources.ConditionBuildRegistrationFailed))
Expect(*buildObject.Status.Reason).To(Equal(v1beta1.NodeSelectorNotValid))
Expect(condition.Reason).To(Equal("PodCreationFailed"))
Expect(condition.Message).To(ContainSubstring("must be no more than 63 characters"))
})
})
})
Expand Down

0 comments on commit 1834a24

Please sign in to comment.