TaskGuid: "a-staging-guid", TaskDefinition: &models.TaskDefinition{Annotation: `"fake-backend"}`}, } fakeDiegoClient.TaskByGuidReturns(stagingTask, nil) }) It("returns StatusInternalServerError", func() { Expect(responseRecorder.Code).To(Equal(http.StatusInternalServerError)) }) }) It("increments the counter to track arriving stop staging messages", func() { Expect(fakeMetricSender.GetCounter("StagingStopRequestsReceived")).To(Equal(uint64(1))) }) It("cancels the Diego task", func() { Expect(fakeDiegoClient.CancelTaskCallCount()).To(Equal(1)) _, task := fakeDiegoClient.CancelTaskArgsForCall(0) Expect(task).To(Equal("a-staging-guid")) }) It("returns an Accepted response", func() { Expect(responseRecorder.Code).To(Equal(http.StatusAccepted)) }) }) }) }) })
stagingTask := &models.Task{ TaskGuid: "a-staging-guid", TaskDefinition: &models.TaskDefinition{Annotation: `"fake-backend"}`}, } fakeDiegoClient.TaskByGuidReturns(stagingTask, nil) }) It("returns StatusInternalServerError", func() { Expect(responseRecorder.Code).To(Equal(http.StatusInternalServerError)) }) }) It("increments the counter to track arriving stop staging messages", func() { Expect(fakeMetricSender.GetCounter("StagingStopRequestsReceived")).To(Equal(uint64(1))) }) It("cancels the Diego task", func() { Expect(fakeDiegoClient.CancelTaskCallCount()).To(Equal(1)) Expect(fakeDiegoClient.CancelTaskArgsForCall(0)).To(Equal("a-staging-guid")) }) It("returns an Accepted response", func() { Expect(responseRecorder.Code).To(Equal(http.StatusAccepted)) }) }) }) }) })
request, err = http.NewRequest("", "http://example.com?:task_guid=the-task-guid", nil) Expect(err).NotTo(HaveOccurred()) }) JustBeforeEach(func() { handler.Cancel(responseRecorder, request) }) Context("when cancelling the task is successful", func() { BeforeEach(func() { fakeClient.CancelTaskReturns(nil) }) It("responds with a 200", func() { Expect(fakeClient.CancelTaskCallCount()).To(Equal(1)) Expect(fakeClient.CancelTaskArgsForCall(0)).To(Equal("the-task-guid")) Expect(responseRecorder.Code).To(Equal(http.StatusOK)) }) }) Context("when the task cannot be found in the BBS", func() { BeforeEach(func() { fakeClient.CancelTaskReturns(models.ErrResourceNotFound) }) It("responds with a 404 NOT FOUND", func() { Expect(responseRecorder.Code).To(Equal(http.StatusNotFound)) }) It("responds with a TaskNotFound error in the body", func() {