Example #1
0
							It("triggers a build of the job with the found inputs", func() {
								err := scheduler.BuildLatestInputs(logger, job, resources)
								Ω(err).ShouldNot(HaveOccurred())

								Ω(fakePipelineDB.ScheduleBuildCallCount()).Should(Equal(1))
								scheduledBuildID, jobConfig := fakePipelineDB.ScheduleBuildArgsForCall(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))
Example #2
0
							It("triggers a build of the job with the found inputs", func() {
								err := scheduler.BuildLatestInputs(logger, someVersions, job, resources)
								Expect(err).NotTo(HaveOccurred())

								Expect(fakePipelineDB.ScheduleBuildCallCount()).To(Equal(1))
								scheduledBuildID, jobConfig := fakePipelineDB.ScheduleBuildArgsForCall(0)
								Expect(scheduledBuildID).To(Equal(128))
								Expect(jobConfig).To(Equal(job))

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

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

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

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

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