Expect(err).To(HaveOccurred()) Expect(err.Error()).To(ContainSubstring("fake-start-error")) Expect(fakeStage.PerformCalls[0].Name).To(Equal("Updating instance 'fake-job-name/0'")) Expect(fakeStage.PerformCalls[0].Error).To(HaveOccurred()) Expect(fakeStage.PerformCalls[0].Error.Error()).To(Equal("Starting the agent: fake-start-error")) }) }) Context("when waiting for running state fails", func() { var ( waitError = bosherr.Error("fake-wait-running-error") ) BeforeEach(func() { fakeVM.WaitToBeRunningErr = waitError }) It("logs instance update stages", func() { err := instance.UpdateJobs(deploymentManifest, fakeStage) Expect(err).To(HaveOccurred()) Expect(err.Error()).To(ContainSubstring("fake-wait-running-error")) Expect(fakeStage.PerformCalls).To(Equal([]*fakebiui.PerformCall{ {Name: "Updating instance 'fake-job-name/0'"}, { Name: "Waiting for instance 'fake-job-name/0' to be running", Error: waitError, }, })) })