It("logs an error", func() { Expect(logger).To(Say(expectedSessionName)) }) }) Context("and the container is RESERVED", func() { BeforeEach(func() { bbsClient.DesiredLRPByProcessGuidReturns(desiredLRP, nil) expectedSessionName = sessionPrefix + "process-reserved-container" container.State = executor.StateReserved }) It("claims the actualLRP in the bbs", func() { Expect(bbsClient.ClaimActualLRPCallCount()).To(Equal(1)) processGuid, index, instanceKey := bbsClient.ClaimActualLRPArgsForCall(0) Expect(processGuid).To(Equal(expectedLrpKey.ProcessGuid)) Expect(int32(index)).To(Equal(expectedLrpKey.Index)) Expect(*instanceKey).To(Equal(expectedInstanceKey)) }) Context("when claiming fails because ErrActualLRPCannotBeClaimed", func() { BeforeEach(func() { bbsClient.ClaimActualLRPReturns(models.ErrActualLRPCannotBeClaimed) }) It("deletes the container", func() { Expect(containerDelegate.DeleteContainerCallCount()).To(Equal(1)) delegateLogger, containerGuid := containerDelegate.DeleteContainerArgsForCall(0) Expect(containerGuid).To(Equal(container.Guid)) Expect(delegateLogger.SessionName()).To(Equal(expectedSessionName))