예제 #1
0
파일: scheduler_test.go 프로젝트: utako/atc
						createJob, createResources, createInputs := factory.CreateArgsForCall(0)
						Ω(createJob).Should(Equal(job))
						Ω(createResources).Should(Equal(resources))
						Ω(createInputs).Should(Equal(pendingInputs))

						Ω(fakeEngine.CreateBuildCallCount()).Should(Equal(1))
						builtBuild, plan := fakeEngine.CreateBuildArgsForCall(0)
						Ω(builtBuild).Should(Equal(pendingBuild))
						Ω(plan).Should(Equal(createdPlan))
					})

					Context("when scanning fails", func() {
						disaster := errors.New("nope")

						BeforeEach(func() {
							fakeScanner.ScanReturns(disaster)
						})

						It("errors the build", func() {
							Ω(fakeBuildsDB.ErrorBuildCallCount()).Should(Equal(1))

							buildID, err := fakeBuildsDB.ErrorBuildArgsForCall(0)
							Ω(buildID).Should(Equal(128))
							Ω(err).Should(Equal(disaster))
						})
					})
				})
			})

			Context("when the build cannot be scheduled", func() {
				BeforeEach(func() {