}) JustBeforeEach(func() { handler.GetByProcessGuidAndIndex(responseRecorder, req) }) Context("when getting the LRP group from the BBS succeeds", func() { BeforeEach(func() { fakeBBS.ActualLRPGroupByProcessGuidAndIndexReturns( &models.ActualLRPGroup{Instance: actualLRP2}, nil, ) }) It("calls the BBS to retrieve the actual LRPs", func() { Expect(fakeBBS.ActualLRPGroupByProcessGuidAndIndexCallCount()).To(Equal(1)) processGuid, index := fakeBBS.ActualLRPGroupByProcessGuidAndIndexArgsForCall(0) Expect(processGuid).To(Equal("process-guid-1")) Expect(index).To(Equal(2)) }) It("responds with 200 Status OK", func() { Expect(responseRecorder.Code).To(Equal(http.StatusOK)) }) It("returns an actual lrp response", func() { response := receptor.ActualLRPResponse{} err := json.Unmarshal(responseRecorder.Body.Bytes(), &response) Expect(err).NotTo(HaveOccurred()) Expect(response).To(Equal(serialization.ActualLRPProtoToResponse(actualLRP2, false)))
processGuid = "some-guid" index = 1 }) JustBeforeEach(func() { permissions, buildErr = permissionsBuilder.Build(processGuid, index, metadata) }) It("gets information about the desired lrp referenced in the username", func() { Expect(bbsClient.DesiredLRPByProcessGuidCallCount()).To(Equal(1)) Expect(bbsClient.DesiredLRPByProcessGuidArgsForCall(0)).To(Equal("some-guid")) }) It("gets information about the the actual lrp from the username", func() { Expect(bbsClient.ActualLRPGroupByProcessGuidAndIndexCallCount()).To(Equal(1)) guid, index := bbsClient.ActualLRPGroupByProcessGuidAndIndexArgsForCall(0) Expect(guid).To(Equal("some-guid")) Expect(index).To(Equal(1)) }) It("saves container information in the critical options of the permissions", func() { expectedConfig := `{ "address": "1.2.3.4:3333", "host_fingerprint": "host-fingerprint", "private_key": "pem-encoded-key", "user": "******", "password": "******" }`