예제 #1
0
			bbsClient = new(fake_bbs.FakeClient)
			noaaClient = &fakes.FakeNoaaClient{}

			httpHandler, err = handler.New(bbsClient, noaaClient, 2, 15, logger)
			Expect(err).NotTo(HaveOccurred())

			server = httptest.NewServer(httpHandler)

			fakeActualLRPResponses = make(chan []*models.ActualLRPGroup, 2)

			bbsClient.DesiredLRPByProcessGuidStub = func(string) (*models.DesiredLRP, error) {
				return &models.DesiredLRP{}, nil
			}

			bbsClient.ActualLRPGroupsByProcessGuidStub = func(string) ([]*models.ActualLRPGroup, error) {
				return <-fakeActualLRPResponses, nil
			}

			noaaClient.ContainerMetricsReturns([]*events.ContainerMetric{
				{
					ApplicationId: proto.String("appId"),
					InstanceIndex: proto.Int32(0),
					CpuPercentage: proto.Float64(4),
					MemoryBytes:   proto.Uint64(1024),
					DiskBytes:     proto.Uint64(2048),
				},
			}, nil)

			statsRequest, err = http.NewRequest("GET", server.URL+"/v1/actual_lrps/some-guid/stats", nil)
			Expect(err).NotTo(HaveOccurred())
			statsRequest.Header.Set("Authorization", "something")
예제 #2
0
		fakeClock := fakeclock.NewFakeClock(time.Now())

		handler := lrpstatus.NewHandler(fakeClient, fakeClock, lagertest.NewTestLogger("test"))
		server = httptest.NewServer(handler)
	})

	AfterEach(func() {
		server.Close()
	})

	Describe("Instance state", func() {
		BeforeEach(func() {
			fakeClient.ActualLRPGroupsByProcessGuidStub = func(string) ([]*models.ActualLRPGroup, error) {
				return []*models.ActualLRPGroup{
					makeActualLRPGroup(1, models.ActualLRPStateUnclaimed, ""),
					makeActualLRPGroup(2, models.ActualLRPStateClaimed, ""),
					makeActualLRPGroup(3, models.ActualLRPStateRunning, ""),
					makeActualLRPGroup(4, models.ActualLRPStateCrashed, diego_errors.CELL_MISMATCH_MESSAGE),
				}, nil
			}
		})

		It("returns instance state", func() {
			res, err := http.Get(server.URL)
			Expect(err).NotTo(HaveOccurred())

			response := []cc_messages.LRPInstance{}
			err = json.NewDecoder(res.Body).Decode(&response)
			res.Body.Close()
			Expect(err).NotTo(HaveOccurred())

			Expect(response).To(HaveLen(4))