client.RoutesReturns(secondResponse, nil) err = fetcher.FetchRoutes() Expect(err).ToNot(HaveOccurred()) Expect(registry.RegisterCallCount()).To(Equal(4)) Expect(registry.UnregisterCallCount()).To(Equal(2)) expectedUnregisteredRoutes := []db.Route{ response[1], response[2], } for i := 0; i < 2; i++ { expectedRoute := expectedUnregisteredRoutes[i] uri, endpoint := registry.UnregisterArgsForCall(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, expectedRoute.TTL, expectedRoute.RouteServiceUrl, ))) } }) Context("when the routing api returns an error", func() { Context("error is not unauthorized error", func() {