request := newTestRequest(requestBody) handler.DesireDesiredLRP(logger, responseRecorder, request) }) Context("when creating desired lrp in DB succeeds", func() { var createdActualLRPGroups []*models.ActualLRPGroup BeforeEach(func() { createdActualLRPGroups = []*models.ActualLRPGroup{} for i := 0; i < 5; i++ { createdActualLRPGroups = append(createdActualLRPGroups, &models.ActualLRPGroup{Instance: model_helpers.NewValidActualLRP("some-guid", int32(i))}) } fakeDesiredLRPDB.DesireLRPReturns(nil) fakeActualLRPDB.CreateUnclaimedActualLRPStub = func(_ lager.Logger, key *models.ActualLRPKey) (*models.ActualLRPGroup, error) { if int(key.Index) > len(createdActualLRPGroups)-1 { return nil, errors.New("boom") } return createdActualLRPGroups[int(key.Index)], nil } fakeDesiredLRPDB.DesiredLRPByProcessGuidReturns(desiredLRP, nil) }) It("creates desired lrp", func() { Expect(fakeDesiredLRPDB.DesireLRPCallCount()).To(Equal(1)) _, actualDesiredLRP := fakeDesiredLRPDB.DesireLRPArgsForCall(0) Expect(actualDesiredLRP).To(Equal(desiredLRP)) Expect(responseRecorder.Code).To(Equal(http.StatusOK)) response := models.DesiredLRPLifecycleResponse{} err := response.Unmarshal(responseRecorder.Body.Bytes()) Expect(err).NotTo(HaveOccurred())