Path: "some-script", Args: []string{"arg1", "arg2"}, }, }, }, } fakeBuildDB.StartBuildReturns(true, nil) }) JustBeforeEach(func() { createdBuild, buildErr = dbEngine.CreateBuild(build, plan) }) Context("when creating the build succeeds", func() { var fakeBuild *fakes.FakeBuild BeforeEach(func() { fakeBuild = new(fakes.FakeBuild) fakeBuild.MetadataReturns("some-metadata") fakeEngineA.CreateBuildReturns(fakeBuild, nil) }) It("succeeds", func() { Ω(buildErr).ShouldNot(HaveOccurred()) }) It("returns a build", func() { Ω(createdBuild).ShouldNot(BeNil()) })
Context("when creating a one-off build succeeds", func() { BeforeEach(func() { buildsDB.CreateOneOffBuildReturns(db.Build{ ID: 42, Name: "1", JobName: "", PipelineName: "", Status: db.StatusStarted, StartTime: time.Unix(1, 0), EndTime: time.Unix(100, 0), }, nil) }) Context("and building succeeds", func() { var fakeBuild *enginefakes.FakeBuild var resumed <-chan struct{} var blockForever *sync.WaitGroup BeforeEach(func() { fakeBuild = new(enginefakes.FakeBuild) blockForever = new(sync.WaitGroup) forever := blockForever forever.Add(1) r := make(chan struct{}) resumed = r fakeBuild.ResumeStub = func(lager.Logger) { close(r)
Path: "some-script", Args: []string{"arg1", "arg2"}, }, }, }, } fakeBuildDB.StartBuildReturns(true, nil) }) JustBeforeEach(func() { createdBuild, buildErr = dbEngine.CreateBuild(logger, build, plan) }) Context("when creating the build succeeds", func() { var fakeBuild *fakes.FakeBuild BeforeEach(func() { fakeBuild = new(fakes.FakeBuild) fakeBuild.MetadataReturns("some-metadata") fakeEngineA.CreateBuildReturns(fakeBuild, nil) }) It("succeeds", func() { Expect(buildErr).NotTo(HaveOccurred()) }) It("returns a build", func() { Expect(createdBuild).NotTo(BeNil()) })
authValidator.IsAuthenticatedReturns(true) }) Context("when creating a one-off build succeeds", func() { BeforeEach(func() { buildsDB.CreateOneOffBuildReturns(db.Build{ ID: 42, Name: "1", JobName: "job1", PipelineName: "some-pipeline", Status: db.StatusStarted, }, nil) }) Context("and building succeeds", func() { var fakeBuild *enginefakes.FakeBuild var blockForever *sync.WaitGroup BeforeEach(func() { fakeBuild = new(enginefakes.FakeBuild) blockForever = new(sync.WaitGroup) forever := blockForever forever.Add(1) fakeBuild.ResumeStub = func(lager.Logger) { forever.Wait() } fakeEngine.CreateBuildReturns(fakeBuild, nil)