コード例 #1
0
					Ω(buildID).Should(Equal(42))
					Ω(savedEvent).Should(BeAssignableToTypeOf(event.FinishTask{}))
					Ω(savedEvent.(event.FinishTask).ExitStatus).Should(Equal(1))
					Ω(savedEvent.(event.FinishTask).Time).Should(BeNumerically("<=", time.Now().Unix(), 1))
					Ω(savedEvent.(event.FinishTask).Origin).Should(Equal(event.Origin{
						Type:     event.OriginTypeTask,
						Name:     "some-task",
						Location: location,
					}))
				})
			})
		})

		Describe("Failed", func() {
			JustBeforeEach(func() {
				executionDelegate.Failed(errors.New("nope"))
			})

			It("does not save the build's input", func() {
				Ω(fakeDB.SaveBuildInputCallCount()).Should(BeZero())
			})

			It("saves an error event", func() {
				Ω(fakeDB.SaveBuildEventCallCount()).Should(Equal(1))

				buildID, savedEvent := fakeDB.SaveBuildEventArgsForCall(0)
				Ω(buildID).Should(Equal(42))
				Ω(savedEvent).Should(Equal(event.Error{
					Message: "nope",
					Origin: event.Origin{
						Type:     event.OriginTypeTask,