Annotation: "last-modified-etag", } fakeBBS.DesiredLRPByProcessGuidReturns(&models.DesiredLRP{}, models.ErrResourceNotFound) buildpackBuilder.BuildReturns(newlyDesiredLRP, nil) }) It("logs the incoming and outgoing request", func() { Eventually(logger.TestSink.Buffer).Should(gbytes.Say("request-from-cc")) Eventually(logger.TestSink.Buffer).Should(gbytes.Say("creating-desired-lrp")) }) It("creates the desired LRP", func() { Expect(fakeBBS.DesireLRPCallCount()).To(Equal(1)) Expect(fakeBBS.DesiredLRPByProcessGuidCallCount()).To(Equal(1)) Expect(fakeBBS.DesireLRPArgsForCall(0)).To(Equal(newlyDesiredLRP)) Expect(buildpackBuilder.BuildArgsForCall(0)).To(Equal(&desireAppRequest)) }) It("responds with 202 Accepted", func() { Expect(responseRecorder.Code).To(Equal(http.StatusAccepted)) }) It("increments the desired LRPs counter", func() { Expect(metricSender.GetCounter("LRPsDesired")).To(Equal(uint64(1))) }) Context("when the bbs fails", func() { BeforeEach(func() {
remoteAddr, err := net.ResolveIPAddr("ip", "1.1.1.1") Expect(err).NotTo(HaveOccurred()) metadata = &fake_ssh.FakeConnMetadata{} metadata.RemoteAddrReturns(remoteAddr) 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",