Ejemplo n.º 1
0
    def test_redirect_to_controller_method(self, app):
        class UserResource(Resource):
            def create(self):
                return self.redirect('get', id=1)

            def get(self, id):
                pass

        with app.test_request_context():
            for method_name, routes in getattr(UserResource,
                                               CONTROLLER_ROUTES_ATTR).items():
                for route in routes:
                    app.add_url_rule(
                        join(UserResource.Meta.url_prefix, route.full_rule),
                        view_func=UserResource.method_as_view(method_name),
                        endpoint=route.endpoint)

            resource = UserResource()
            resp = resource.create()
            assert resp.status_code == 302
            assert resp.location == '/users/1'
Ejemplo n.º 2
0
 def test_trailing_slash(self):
     assert join('/', trailing_slash=True) == '/'
     assert join('/foo', 'baz', None, trailing_slash=True) == '/foo/baz/'
     assert join('/foo', 'baz/', trailing_slash=True) == '/foo/baz/'
Ejemplo n.º 3
0
 def test_it_strips_trailing_slash(self):
     assert join('/foo/bar/') == '/foo/bar'
     assert join('/foo/bar/', None) == '/foo/bar'
     assert join('/foo/bar/', '/') == '/foo/bar'
     assert join('/foo', 'bar/') == '/foo/bar'
Ejemplo n.º 4
0
 def test_it_doesnt_eat_single_slash(self):
     assert join('/', '/') == '/'
     assert join(None, '/') == '/'
     assert join('/', None) == '/'
Ejemplo n.º 5
0
 def test_it_strips_neighboring_slashes(self):
     assert join('/', '/foo', '/', '/bar') == '/foo/bar'
Ejemplo n.º 6
0
 def test_it_works_with_partially_valid_input(self):
     assert join('/', 'foo', None, 'bar', '', 'baz') == '/foo/bar/baz'
Ejemplo n.º 7
0
 def test_it_works_with_garbage(self):
     assert join(None) == '/'
     assert join(None, None, '', 0) == '/'