func itValidatesAbsenceOfTheInstanceKey(lrp *models.ActualLRP) { Context("when the instance key is set", func() { BeforeEach(func() { lrp.ActualLRPInstanceKey = models.NewActualLRPInstanceKey("some-instance", "some-cell") }) It("validate returns an error", func() { err := lrp.Validate() Expect(err).To(HaveOccurred()) Expect(err.Error()).To(ContainSubstring("instance key")) }) }) Context("when the instance key is not set", func() { BeforeEach(func() { lrp.ActualLRPInstanceKey = models.ActualLRPInstanceKey{} }) It("validate does not return an error", func() { Expect(lrp.Validate()).NotTo(HaveOccurred()) }) }) }
{models.ActualLRPStateClaimed, models.ActualLRPStateRunning, claimedKey, differentInstanceGuidKey, true}, {models.ActualLRPStateClaimed, models.ActualLRPStateRunning, claimedKey, differentCellIDKey, true}, {models.ActualLRPStateRunning, models.ActualLRPStateUnclaimed, claimedKey, emptyKey, true}, {models.ActualLRPStateRunning, models.ActualLRPStateClaimed, claimedKey, claimedKey, true}, {models.ActualLRPStateRunning, models.ActualLRPStateClaimed, claimedKey, differentInstanceGuidKey, false}, {models.ActualLRPStateRunning, models.ActualLRPStateClaimed, claimedKey, differentCellIDKey, false}, {models.ActualLRPStateRunning, models.ActualLRPStateRunning, claimedKey, claimedKey, true}, {models.ActualLRPStateRunning, models.ActualLRPStateClaimed, claimedKey, differentInstanceGuidKey, false}, {models.ActualLRPStateRunning, models.ActualLRPStateClaimed, claimedKey, differentCellIDKey, false}, } for _, entry := range stateTable { entry := entry It(EntryToString(entry), func() { before.State = entry.BeforeState before.ActualLRPInstanceKey = entry.BeforeInstanceKey Expect(before.AllowsTransitionTo(before.ActualLRPKey, entry.AfterInstanceKey, entry.AfterState)).To(Equal(entry.Allowed)) }) } }) }) Describe("Validate", func() { Context("when state is unclaimed", func() { BeforeEach(func() { lrp = models.ActualLRP{ ActualLRPKey: lrpKey, State: models.ActualLRPStateUnclaimed, Since: 1138, }