] }]`)) }) It("checks for routing.router_groups.read scope", func() { var err error request, err = http.NewRequest("GET", routing_api.ListRouterGroups, nil) Expect(err).NotTo(HaveOccurred()) routerGroupHandler.ListRouterGroups(responseRecorder, request) _, permission := token.DecodeTokenArgsForCall(0) Expect(permission).To(ConsistOf(handlers.RouterGroupsReadScope)) }) Context("when authorization token is invalid", func() { BeforeEach(func() { token.DecodeTokenReturns(errors.New("kaboom")) }) It("returns Unauthorized error", func() { var err error request, err = http.NewRequest("GET", routing_api.ListRouterGroups, nil) Expect(err).NotTo(HaveOccurred()) routerGroupHandler.ListRouterGroups(responseRecorder, request) Expect(responseRecorder.Code).To(Equal(http.StatusUnauthorized)) }) }) }) })
routesHandler.List(responseRecorder, request) Expect(responseRecorder.Code).To(Equal(http.StatusOK)) }) It("checks for route.admin scope", func() { request = handlers.NewTestRequest("") routesHandler.List(responseRecorder, request) _, permission := token.DecodeTokenArgsForCall(0) Expect(permission).To(ConsistOf(handlers.AdminRouteScope)) }) Context("when the UAA token is not valid", func() { BeforeEach(func() { token.DecodeTokenReturns(errors.New("Not valid")) }) It("returns an Unauthorized status code", func() { request = handlers.NewTestRequest("") routesHandler.List(responseRecorder, request) Expect(responseRecorder.Code).To(Equal(http.StatusUnauthorized)) }) }) Context("when the database is empty", func() { var ( routes []db.Route ) BeforeEach(func() {