Describe("GetAllByProcessGuid", func() { var req *http.Request BeforeEach(func() { req = newTestRequest("") req.Form = url.Values{":process_guid": []string{"process-guid-0"}} }) JustBeforeEach(func() { handler.GetAllByProcessGuid(responseRecorder, req) }) Context("when reading LRPs from BBS succeeds", func() { BeforeEach(func() { fakeBBS.ActualLRPGroupsByProcessGuidReturns([]*models.ActualLRPGroup{&models.ActualLRPGroup{Instance: actualLRP1}}, nil) }) It("calls the BBS to retrieve the actual LRPs", func() { Expect(fakeBBS.ActualLRPGroupsByProcessGuidCallCount()).To(Equal(1)) actualProcessGuid := fakeBBS.ActualLRPGroupsByProcessGuidArgsForCall(0) Expect(actualProcessGuid).To(Equal("process-guid-0")) }) It("responds with 200 Status OK", func() { Expect(responseRecorder.Code).To(Equal(http.StatusOK)) }) It("returns a list of actual lrp responses", func() { response := []receptor.ActualLRPResponse{} err := json.Unmarshal(responseRecorder.Body.Bytes(), &response)
}, nil) actualLRP := &models.ActualLRP{ ActualLRPKey: models.NewActualLRPKey(guid, 5, "some-domain"), ActualLRPInstanceKey: models.NewActualLRPInstanceKey("instanceId", "some-cell"), ActualLRPNetInfo: models.NewActualLRPNetInfo( "host", models.NewPortMapping(5432, 7890), models.NewPortMapping(1234, uint32(recipebuilder.DefaultPort)), ), State: models.ActualLRPStateRunning, Since: fakeClock.Now().UnixNano(), } bbsClient.ActualLRPGroupsByProcessGuidReturns([]*models.ActualLRPGroup{{ Instance: actualLRP}, }, nil) }) Context("when the LRP has been running for a while", func() { var expectedSinceTime int64 BeforeEach(func() { expectedSinceTime = fakeClock.Now().Unix() fakeClock.Increment(5 * time.Second) }) It("returns a map of stats & status per index in the correct units", func() { expectedLRPInstance := cc_messages.LRPInstance{ ProcessGuid: guid, InstanceGuid: "instanceId",