Context("when claiming the actual lrp in the DB succeeds", func() { BeforeEach(func() { fakeActualLRPDB.ClaimActualLRPReturns(nil) }) It("response with no error", func() { Expect(responseRecorder.Code).To(Equal(http.StatusOK)) response := &models.ActualLRPLifecycleResponse{} err := response.Unmarshal(responseRecorder.Body.Bytes()) Expect(err).NotTo(HaveOccurred()) Expect(response.Error).To(BeNil()) }) It("claims the actual lrp by process guid and index", func() { Expect(fakeActualLRPDB.ClaimActualLRPCallCount()).To(Equal(1)) _, actualProcessGuid, actualIndex, actualInstanceKey := fakeActualLRPDB.ClaimActualLRPArgsForCall(0) Expect(actualProcessGuid).To(Equal(processGuid)) Expect(actualIndex).To(BeEquivalentTo(index)) Expect(*actualInstanceKey).To(Equal(instanceKey)) }) }) Context("when claiming the actual lrp fails", func() { BeforeEach(func() { fakeActualLRPDB.ClaimActualLRPReturns(models.ErrUnknownError) }) It("responds with an error", func() { Expect(responseRecorder.Code).To(Equal(http.StatusOK)) response := &models.ActualLRPLifecycleResponse{}