}) It("saves and propagates events correctly", 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("saving them in order") err = database.SaveBuildEvent(build.ID, event.Log{ Payload: "some ", }) Expect(err).NotTo(HaveOccurred()) Expect(events.Next()).To(Equal(event.Log{ Payload: "some ", })) err = database.SaveBuildEvent(build.ID, event.Log{ Payload: "log", }) Expect(err).NotTo(HaveOccurred()) Expect(events.Next()).To(Equal(event.Log{ Payload: "log", }))