Ejemplo n.º 1
0
								Ω(scheduledBuildID).Should(Equal(128))
								Ω(jobConfig).Should(Equal(job))

								Ω(factory.CreateCallCount()).Should(Equal(1))
								createJob, createResources, createInputs := factory.CreateArgsForCall(0)
								Ω(createJob).Should(Equal(job))
								Ω(createResources).Should(Equal(resources))
								Ω(createInputs).Should(Equal(newInputs))

								Ω(fakePipelineDB.UseInputsForBuildCallCount()).Should(Equal(1))
								usedBuildID, usedInputs := fakePipelineDB.UseInputsForBuildArgsForCall(0)
								Ω(usedBuildID).Should(Equal(128))
								Ω(usedInputs).Should(Equal(newInputs))

								Ω(fakeEngine.CreateBuildCallCount()).Should(Equal(1))
								builtBuild, plan := fakeEngine.CreateBuildArgsForCall(0)
								Ω(builtBuild).Should(Equal(db.Build{ID: 128, Name: "42"}))
								Ω(plan).Should(Equal(createdPlan))
							})

							It("immediately resumes the build", func() {
								err := scheduler.BuildLatestInputs(logger, job, resources)
								Ω(err).ShouldNot(HaveOccurred())

								Eventually(createdBuild.ResumeCallCount).Should(Equal(1))
							})
						})
					})

					Context("when the build cannot be scheduled", func() {
						BeforeEach(func() {
Ejemplo n.º 2
0
							var plan atc.Plan
							var fakeEngineBuild *enginefakes.FakeBuild

							BeforeEach(func() {
								plan = atc.Plan{}
								factory.CreateReturns(plan, nil)

								fakeEngineBuild = new(enginefakes.FakeBuild)

								fakeEngine.CreateBuildReturns(fakeEngineBuild, nil)
							})

							It("tells the engine to create the build", func() {
								Expect(fakeEngine.CreateBuildCallCount()).To(Equal(1))

								_, passedBuild, passedPlan := fakeEngine.CreateBuildArgsForCall(0)
								Expect(passedBuild).To(Equal(build))
								Expect(passedPlan).To(Equal(plan))
							})

							It("returns back created build", func() {
								Expect(engineBuild).To(Equal(fakeEngineBuild))
							})

							It("calls Resume() on the created build", func() {
								Expect(logger).To(gbytes.Say("building"))
								Eventually(fakeEngineBuild.ResumeCallCount).Should(Equal(1))
							})

							Context("when the engine fails to create the build due to an error", func() {
								BeforeEach(func() {