Expect(claimErr).To(Equal(models.ErrResourceNotFound)) }) It("does not create an actual LRP", func() { _, err := etcdDB.ActualLRPGroupByProcessGuidAndIndex(logger, "process-guid", 1) Expect(err).To(HaveOccurred()) }) }) }) Describe("StartActualLRP", func() { var ( startErr error lrpKey models.ActualLRPKey instanceKey models.ActualLRPInstanceKey netInfo models.ActualLRPNetInfo beforeActualGroup, afterActualGroup *models.ActualLRPGroup ) JustBeforeEach(func() { beforeActualGroup, afterActualGroup, startErr = etcdDB.StartActualLRP(logger, &lrpKey, &instanceKey, &netInfo) }) Context("when the logging session is created and the starting message is logged", func() { BeforeEach(func() { lrpKey = models.NewActualLRPKey("process-guid", 1, "domain") instanceKey = models.NewActualLRPInstanceKey("instance-guid", cellID) netInfo = models.NewActualLRPNetInfo("1.2.3.4", models.NewPortMapping(5678, 1234)) })
calc := models.NewDefaultRestartCalculator() for _, state := range models.ActualLRPStates { actual.State = state if state == models.ActualLRPStateCrashed { Expect(actual.ShouldRestartCrash(now, calc)).To(BeTrue(), "should restart CRASHED lrp") } else { Expect(actual.ShouldRestartCrash(now, calc)).To(BeFalse(), fmt.Sprintf("should not restart %s lrp", state)) } } }) }) }) Describe("ActualLRPKey", func() { Describe("Validate", func() { var actualLRPKey models.ActualLRPKey BeforeEach(func() { actualLRPKey = models.NewActualLRPKey("process-guid", 1, "domain") }) Context("when valid", func() { It("returns nil", func() { Expect(actualLRPKey.Validate()).To(BeNil()) }) }) Context("when the ProcessGuid is blank", func() { BeforeEach(func() { actualLRPKey.ProcessGuid = "" })