}) Context("when running succeeds", func() { It("returns true", func() { Expect(result).To(BeTrue()) }) It("logs the running", func() { Expect(logger).To(gbytes.Say(sessionPrefix + ".running-container")) Expect(logger).To(gbytes.Say(sessionPrefix + ".succeeded-running-container")) }) }) Context("when running fails", func() { BeforeEach(func() { executorClient.RunContainerReturns(errors.New("ka-boom")) }) It("returns false", func() { Expect(result).To(BeFalse()) }) It("logs the failure", func() { Expect(logger).To(gbytes.Say(sessionPrefix + ".failed-running-container")) }) It("deletes the container", func() { Expect(executorClient.DeleteContainerCallCount()).To(Equal(1)) _, containerGuid := executorClient.DeleteContainerArgsForCall(0) Expect(containerGuid).To(Equal(expectedGuid)) })