Esempio n. 1
0
					},
					{
						ProcessGuid: "peekaboo-app",
						Index:       3,
						State:       "CRASHED",
						CrashCount:  7,
					},
				}

				containerMetrics = []*events.ContainerMetric{
					buildContainerMetric("peekaboo-app", 0, 0.018138574, 798729, 32768),
				}
			})

			It("returns a fully populated AppInfo with instances sorted by index", func() {
				fakeReceptorClient.GetDesiredLRPReturns(getDesiredLRPResponse, nil)
				fakeReceptorClient.ActualLRPsByProcessGuidReturns(actualLRPsByProcessGuidResponse, nil)
				fakeNoaaConsumer.GetContainerMetricsReturns(containerMetrics, nil)

				appInfo, err := appExaminer.AppStatus("peekaboo-app")
				Expect(err).NotTo(HaveOccurred())

				Expect(appInfo.ProcessGuid).To(Equal("peekaboo-app"))
				Expect(appInfo.RootFS).To(Equal("preloaded:rootfs2"))
				Expect(appInfo.DesiredInstances).To(Equal(4))
				Expect(appInfo.ActualRunningInstances).To(Equal(1))
				Expect(appInfo.EnvironmentVariables).To(ConsistOf(
					app_examiner.EnvironmentVariable{
						Name:  "API_TOKEN",
						Value: "98weufsa",
					},
			},
			LogGuid: "log-guid",
		}

		actualLrpResponse = receptor.ActualLRPResponse{
			ProcessGuid:  "some-guid",
			Index:        0,
			InstanceGuid: "some-instance-guid",
			Address:      "1.2.3.4",
			Ports: []receptor.PortMapping{
				{ContainerPort: 1111, HostPort: 3333},
			},
		}

		receptorClient.ActualLRPByProcessGuidAndIndexReturns(actualLrpResponse, nil)
		receptorClient.GetDesiredLRPReturns(desiredLRPResponse, nil)

		logger = lagertest.NewTestLogger("test")
		receptorCreds = []byte("receptor-user:receptor-password")
		authenticator = authenticators.NewDiegoProxyAuthenticator(logger, receptorClient, receptorCreds)

		metadata = &fake_ssh.FakeConnMetadata{}
	})

	Describe("Authenticate", func() {
		var (
			permissions *ssh.Permissions
			password    []byte
			authErr     error
		)