return resultsChan, nil, nil } else { return tcpResultsChan, nil, nil } } database.ReadRoutesReturns([]db.Route{ db.Route{}, db.Route{}, db.Route{}, db.Route{}, db.Route{}, }, nil) database.ReadTcpRouteMappingsReturns([]db.TcpRouteMapping{ db.TcpRouteMapping{}, db.TcpRouteMapping{}, db.TcpRouteMapping{}, }, nil) }) JustBeforeEach(func() { go reporter.Run(sigChan, readyChan) }) AfterEach(func() { sigChan <- nil }) verifyGaugeCall := func(statKey string, expectedCount int64, expectedRate float32, index int) { totalStat, count, rate := stats.GaugeArgsForCall(index) Expect(totalStat).To(Equal(statKey))
_, permission := token.DecodeTokenArgsForCall(0) Expect(permission).To(ConsistOf(handlers.RoutingRoutesReadScope)) }) Context("when db returns tcp route mappings", func() { var ( tcpRoutes []db.TcpRouteMapping ) BeforeEach(func() { tcpRoutes = []db.TcpRouteMapping{ db.NewTcpRouteMapping("router-group-guid-001", 52000, "1.2.3.4", 60000), db.NewTcpRouteMapping("router-group-guid-001", 52001, "1.2.3.5", 60001), } database.ReadTcpRouteMappingsReturns(tcpRoutes, nil) }) It("returns tcp route mappings", func() { request = handlers.NewTestRequest("") tcpRouteMappingsHandler.List(responseRecorder, request) Expect(responseRecorder.Code).To(Equal(http.StatusOK)) Expect(responseRecorder.Body.String()).To(MatchJSON(`[{"route":{"router_group_guid": "router-group-guid-001", "external_port": 52000}, "host_ip": "1.2.3.4", "host_port": 60000}, {"route":{"router_group_guid": "router-group-guid-001", "external_port": 52001}, "host_ip": "1.2.3.5", "host_port": 60001}]`)) }) }) Context("when db returns empty tcp route mappings", func() { BeforeEach(func() { database.ReadTcpRouteMappingsReturns([]db.TcpRouteMapping{}, nil)
return resultsChan, nil, nil } else { return tcpResultsChan, nil, nil } } database.ReadRoutesReturns([]models.Route{ models.Route{}, models.Route{}, models.Route{}, models.Route{}, models.Route{}, }, nil) database.ReadTcpRouteMappingsReturns([]models.TcpRouteMapping{ models.TcpRouteMapping{}, models.TcpRouteMapping{}, models.TcpRouteMapping{}, }, nil) }) JustBeforeEach(func() { go reporter.Run(sigChan, readyChan) }) AfterEach(func() { sigChan <- nil }) verifyGaugeCall := func(statKey string, expectedCount int64, expectedRate float32, index int) { totalStat, count, rate := stats.GaugeArgsForCall(index) Expect(totalStat).To(Equal(statKey))