disaster := errors.New("nope") BeforeEach(func() { fakeVersionedSource.RunReturns(disaster) }) It("exits with the failure", func() { Eventually(process.Wait()).Should(Receive(Equal(disaster))) }) It("invokes the delegate's Failed callback without completing", func() { Eventually(process.Wait()).Should(Receive(Equal(disaster))) Ω(getDelegate.CompletedCallCount()).Should(BeZero()) Ω(getDelegate.FailedCallCount()).Should(Equal(1)) Ω(getDelegate.FailedArgsForCall(0)).Should(Equal(disaster)) }) Context("with a resource script failure", func() { var resourceScriptError resource.ErrResourceScriptFailed BeforeEach(func() { resourceScriptError = resource.ErrResourceScriptFailed{ ExitStatus: 1, } fakeVersionedSource.RunReturns(resourceScriptError) }) It("invokes the delegate's Finished callback instead of failed", func() {
disaster := errors.New("nope") BeforeEach(func() { fakeVersionedSource.RunReturns(disaster) }) It("exits with the failure", func() { Eventually(process.Wait()).Should(Receive(Equal(disaster))) }) It("invokes the delegate's Failed callback without completing", func() { Eventually(process.Wait()).Should(Receive(Equal(disaster))) Expect(getDelegate.CompletedCallCount()).To(BeZero()) Expect(getDelegate.FailedCallCount()).To(Equal(1)) Expect(getDelegate.FailedArgsForCall(0)).To(Equal(disaster)) }) Context("with a resource script failure", func() { var resourceScriptError resource.ErrResourceScriptFailed BeforeEach(func() { resourceScriptError = resource.ErrResourceScriptFailed{ ExitStatus: 1, } fakeVersionedSource.RunReturns(resourceScriptError) }) It("invokes the delegate's Finished callback instead of failed", func() {