request = models.StartActualLRPRequest{ ActualLrpKey: &models.ActualLRPKey{ProcessGuid: "p-guid", Index: 2, Domain: "domain"}, ActualLrpInstanceKey: &models.ActualLRPInstanceKey{InstanceGuid: "i-guid", CellId: "c-id"}, ActualLrpNetInfo: &models.ActualLRPNetInfo{Address: "addr"}, } }) Context("when valid", func() { It("returns nil", func() { Expect(request.Validate()).To(BeNil()) }) }) Context("when the ActualLrpKey is blank", func() { BeforeEach(func() { request.ActualLrpKey = nil }) It("returns a validation error", func() { Expect(request.Validate()).To(ConsistOf(models.ErrInvalidField{"actual_lrp_key"})) }) }) Context("when the ActualLrpKey is invalid", func() { BeforeEach(func() { request.ActualLrpKey.ProcessGuid = "" }) It("returns a validation error", func() { Expect(request.Validate()).To(ConsistOf(models.ErrInvalidField{"process_guid"})) })
}) }) Describe("StartActualLRP", func() { var ( startErr *models.Error request models.StartActualLRPRequest startedActualLRP *models.ActualLRP lrpKey models.ActualLRPKey instanceKey models.ActualLRPInstanceKey netInfo models.ActualLRPNetInfo ) JustBeforeEach(func() { request.ActualLrpKey = &lrpKey request.ActualLrpInstanceKey = &instanceKey request.ActualLrpNetInfo = &netInfo startedActualLRP, startErr = etcdDB.StartActualLRP(logger, &request) }) Context("when the actual LRP exists", func() { var ( processGuid string index int32 actualLRP *models.ActualLRP ) BeforeEach(func() { index = 1 processGuid = "some-process-guid"