BeforeEach(func() { desiredLRP = model_helpers.NewValidDesiredLRP("process-guid") expectedLrpKey = models.NewActualLRPKey("process-guid", 2, "domain") expectedInstanceKey = models.NewActualLRPInstanceKey("instance-guid", "cell-id") expectedNetInfo = models.NewActualLRPNetInfo("1.2.3.4", models.NewPortMapping(61999, 8080)) }) Context("when given an LRP container", func() { var container executor.Container BeforeEach(func() { container = newLRPContainer(expectedLrpKey, expectedInstanceKey, expectedNetInfo) }) JustBeforeEach(func() { processor.Process(logger, container) }) Context("and the container is INVALID", func() { BeforeEach(func() { expectedSessionName = sessionPrefix + "process-invalid-container" container.State = executor.StateInvalid }) It("logs an error", func() { Expect(logger).To(Say(expectedSessionName)) }) }) Context("and the container is RESERVED", func() { BeforeEach(func() {
Guid: rep.LRPContainerGuid(desiredLRP.ProcessGuid, instanceGuid), Tags: executor.Tags{ rep.LifecycleTag: rep.LRPLifecycle, rep.DomainTag: desiredLRP.Domain, rep.ProcessGuidTag: desiredLRP.ProcessGuid, rep.InstanceGuidTag: instanceGuid, rep.ProcessIndexTag: strconv.Itoa(index), }, } lrpKey = models.NewActualLRPKey(processGuid, int32(index), desiredLRP.Domain) lrpInstanceKey = models.NewActualLRPInstanceKey(instanceGuid, localCellID) }) JustBeforeEach(func() { lrpProcessor.Process(logger, container) }) Context("when the container is Reserved", func() { BeforeEach(func() { container.State = executor.StateReserved }) It("evacuates the lrp", func() { Expect(fakeBBS.EvacuateClaimedActualLRPCallCount()).To(Equal(1)) actualLRPKey, actualLRPContainerKey := fakeBBS.EvacuateClaimedActualLRPArgsForCall(0) Expect(*actualLRPKey).To(Equal(lrpKey)) Expect(*actualLRPContainerKey).To(Equal(lrpInstanceKey)) }) Context("when the evacuation returns successfully", func() {