fakeBBS.ActualLRPGroupByProcessGuidAndIndexStub = func(processGuid string, index int) (*models.ActualLRPGroup, error) { return &models.ActualLRPGroup{ Instance: model_helpers.NewValidActualLRP(processGuid, int32(index)), }, nil } }) JustBeforeEach(func() { killHandler := handlers.NewKillIndexHandler(logger, fakeBBS) killHandler.KillIndex(responseRecorder, request) }) It("invokes the bbs to retire", func() { Expect(fakeBBS.RetireActualLRPCallCount()).To(Equal(1)) actualLRPKey := fakeBBS.RetireActualLRPArgsForCall(0) Expect(actualLRPKey.ProcessGuid).To(Equal("process-guid-0")) Expect(actualLRPKey.Index).To(BeEquivalentTo(1)) }) It("responds with 202 Accepted", func() { Expect(responseRecorder.Code).To(Equal(http.StatusAccepted)) }) Context("when the bbs fails", func() { BeforeEach(func() { fakeBBS.ActualLRPGroupByProcessGuidAndIndexReturns(nil, errors.New("oh no")) }) It("responds with a ServiceUnavailabe error", func() { Expect(responseRecorder.Code).To(Equal(http.StatusServiceUnavailable))