Source: atc.Source{"uri": "git://some-resource-with-longer-name"}, }, { Name: "some-named-resource", Type: "git", Source: atc.Source{"uri": "git://some-named-resource"}, }, } }) Describe("BuildLatestInputs", func() { Context("when no inputs are available", func() { disaster := errors.New("oh no!") BeforeEach(func() { fakePipelineDB.GetLatestInputVersionsReturns(nil, disaster) }) It("returns the error", func() { err := scheduler.BuildLatestInputs(logger, job, resources) Ω(err).Should(Equal(disaster)) }) It("does not trigger a build", func() { scheduler.BuildLatestInputs(logger, job, resources) Ω(fakeEngine.CreateBuildCallCount()).Should(Equal(0)) }) }) Context("when the job has no inputs", func() {
resourceTypes = atc.ResourceTypes{ { Name: "some-custom-resource", Type: "custom-type", Source: atc.Source{"custom": "source"}, }, } lease = new(dbfakes.FakeLease) fakeBuildsDB.LeaseBuildSchedulingReturns(lease, true, nil) }) Describe("BuildLatestInputs", func() { Context("when no inputs are available", func() { BeforeEach(func() { fakePipelineDB.GetLatestInputVersionsReturns(nil, false, nil) }) It("returns no error", func() { err := scheduler.BuildLatestInputs(logger, someVersions, job, resources, resourceTypes) Expect(err).NotTo(HaveOccurred()) }) It("does not trigger a build", func() { scheduler.BuildLatestInputs(logger, someVersions, job, resources, resourceTypes) Expect(fakeEngine.CreateBuildCallCount()).To(Equal(0)) }) }) Context("when the inputs cannot be determined", func() { disaster := errors.New("oh no!")