Exemple #1
0
		}).Should(Equal(db.ErrBuildEventStreamClosed))
	})

	It("saves and emits status events", func() {
		build, err := database.CreateOneOffBuild()
		Expect(err).NotTo(HaveOccurred())
		Expect(build.Name).To(Equal("1"))

		By("allowing you to subscribe when no events have yet occurred")
		events, err := database.GetBuildEvents(build.ID, 0)
		Expect(err).NotTo(HaveOccurred())

		defer events.Close()

		By("emitting a status event when started")
		started, err := database.StartBuild(build.ID, "engine", "metadata")
		Expect(err).NotTo(HaveOccurred())
		Expect(started).To(BeTrue())

		startedBuild, found, err := database.GetBuild(build.ID)
		Expect(err).NotTo(HaveOccurred())
		Expect(found).To(BeTrue())

		Expect(events.Next()).To(Equal(event.Status{
			Status: atc.StatusStarted,
			Time:   startedBuild.StartTime.Unix(),
		}))

		By("emitting a status event when finished")
		err = database.FinishBuild(build.ID, db.StatusSucceeded)
		Expect(err).NotTo(HaveOccurred())
Exemple #2
0
			Expect(newBuildPrep).To(Equal(buildPrep))
		})
	})

	Describe("GetBuildPrepsForPendingBuildsForPipeline", func() {
		var build db.Build
		var otherBuild db.Build

		BeforeEach(func() {
			var err error
			build, err = pipelineDB.CreateJobBuild("some-job")
			Expect(err).ToNot(HaveOccurred())
			otherBuild, err = pipelineDB.CreateJobBuild("some-job")
			Expect(err).ToNot(HaveOccurred())

			success, err := database.StartBuild(build.ID, "", "")
			Expect(err).ToNot(HaveOccurred())
			Expect(success).To(BeTrue())
		})

		It("only returns back build preps of pending builds", func() {
			buildPreps, err := database.GetBuildPrepsForPendingBuildsForPipeline(pipelineDB.GetPipelineName())
			Expect(err).ToNot(HaveOccurred())

			Expect(len(buildPreps)).To(Equal(1))
			Expect(buildPreps[0].BuildID).To(Equal(otherBuild.ID))
		})
	})

	Describe("GetAllStartedBuilds", func() {
		var build1 db.Build