func (p *ordinaryLRPProcessor) Process(logger lager.Logger, container executor.Container) { logger = logger.Session("ordinary-lrp-processor", lager.Data{ "container-guid": container.Guid, "container-state": container.State, }) logger.Debug("starting") defer logger.Debug("finished") lrpKey, err := rep.ActualLRPKeyFromTags(container.Tags) if err != nil { logger.Error("failed-to-generate-lrp-key", err) return } logger = logger.WithData(lager.Data{"lrp-key": lrpKey}) instanceKey, err := rep.ActualLRPInstanceKeyFromContainer(container, p.cellID) if err != nil { logger.Error("failed-to-generate-instance-key", err) return } logger = logger.WithData(lager.Data{"lrp-instance-key": instanceKey}) lrpContainer := newLRPContainer(lrpKey, instanceKey, container) switch lrpContainer.Container.State { case executor.StateReserved: p.processReservedContainer(logger, lrpContainer) case executor.StateInitializing: p.processInitializingContainer(logger, lrpContainer) case executor.StateCreated: p.processCreatedContainer(logger, lrpContainer) case executor.StateRunning: p.processRunningContainer(logger, lrpContainer) case executor.StateCompleted: p.processCompletedContainer(logger, lrpContainer) default: p.processInvalidContainer(logger, lrpContainer) } }
rep.InstanceGuidTag: "some-instance-guid", }, RunInfo: executor.RunInfo{ Ports: []executor.PortMapping{ { ContainerPort: 1234, HostPort: 6789, }, }, }, } cellID = "the-cell-id" }) JustBeforeEach(func() { lrpInstanceKey, instanceKeyConversionErr = rep.ActualLRPInstanceKeyFromContainer(container, cellID) }) Context("when the container and cell id are valid", func() { It("it does not return an error", func() { Expect(instanceKeyConversionErr).NotTo(HaveOccurred()) }) It("it creates the correct container key", func() { expectedInstanceKey := models.ActualLRPInstanceKey{ InstanceGuid: "some-instance-guid", CellId: cellID, } Expect(*lrpInstanceKey).To(Equal(expectedInstanceKey)) })