LogGuid: "guid", RouteServiceUrl: "route-service-url", }, { Route: "bar", Port: 3, IP: "3.3.3.3", TTL: 1, LogGuid: "guid", }, } }) It("updates the route registry", func() { client.RoutesReturns(response, nil) err := fetcher.FetchRoutes() Expect(err).ToNot(HaveOccurred()) Expect(registry.RegisterCallCount()).To(Equal(3)) for i := 0; i < 3; i++ { expectedRoute := response[i] uri, endpoint := registry.RegisterArgsForCall(i) Expect(uri).To(Equal(route.Uri(expectedRoute.Route))) Expect(endpoint).To(Equal( route.NewEndpoint(expectedRoute.LogGuid, expectedRoute.IP, uint16(expectedRoute.Port), expectedRoute.LogGuid, nil,
) BeforeEach(func() { client = &fake_routing_api.FakeClient{} tokenFetcher = &fake_token_fetcher.FakeTokenFetcher{} tokenFetcher.FetchTokenReturns(&token_fetcher.Token{AccessToken: "token"}, nil) route = db.Route{ Route: "post_here", Port: 7000, IP: "1.2.3.4", TTL: 50, LogGuid: "my-guid", } routes = append(routes, route) error := errors.New("this is an error") client.RoutesReturns(routes, error) }) It("lists routes", func() { routesList, _ := commands.List(client, tokenFetcher) Expect(client.RoutesCallCount()).To(Equal(1)) Expect(routesList).To(Equal(routes)) }) It("fetches a token and sets it on the client", func() { commands.List(client, tokenFetcher) Expect(client.SetTokenCallCount()).To(Equal(1)) Expect(client.SetTokenArgsForCall(0)).To(Equal("token")) }) })