BeforeEach(func() { fakeActualLRPDB.CrashActualLRPReturns(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("crashs the actual lrp by process guid and index", func() { Expect(fakeActualLRPDB.CrashActualLRPCallCount()).To(Equal(1)) _, actualKey, actualInstanceKey, actualErrorMessage := fakeActualLRPDB.CrashActualLRPArgsForCall(0) Expect(*actualKey).To(Equal(key)) Expect(*actualInstanceKey).To(Equal(instanceKey)) Expect(actualErrorMessage).To(Equal(errorMessage)) }) }) Context("when crashing the actual lrp fails", func() { BeforeEach(func() { fakeActualLRPDB.CrashActualLRPReturns(models.ErrUnknownError) }) It("responds with an error", func() { Expect(responseRecorder.Code).To(Equal(http.StatusOK)) response := &models.ActualLRPLifecycleResponse{} err := response.Unmarshal(responseRecorder.Body.Bytes())
request = newTestRequest(requestBody) handler.CrashActualLRP(responseRecorder, request) }) Context("when crashing the actual lrp in the DB succeeds", func() { BeforeEach(func() { fakeActualLRPDB.CrashActualLRPReturns(nil) }) It("responds with 204 No Content", func() { Expect(responseRecorder.Code).To(Equal(http.StatusNoContent)) }) It("crashs the actual lrp by process guid and index", func() { Expect(fakeActualLRPDB.CrashActualLRPCallCount()).To(Equal(1)) _, actualRequest := fakeActualLRPDB.CrashActualLRPArgsForCall(0) Expect(actualRequest).To(Equal(requestBody)) }) }) Context("when the request is invalid", func() { BeforeEach(func() { requestBody = &models.CrashActualLRPRequest{} }) It("responds with 400 Bad Request", func() { Expect(responseRecorder.Code).To(Equal(http.StatusBadRequest)) }) }) Context("when parsing the body crashs", func() {