def test_request_view_with_predicates(): app = App() c = setup() c.configurable(app) c.commit() def view(request, model): return {'hey': 'hey'} register_view(app, Model, view, render=render_json, predicates=dict(name='foo')) request = app.request(get_environ(path='')) request.mounts = [app] # XXX should do this centrally model = Model() # since the name is set to foo, we get nothing here assert request.view(model) is None # we have to pass the name predicate ourselves assert request.view(model, name='foo') == {'hey': 'hey'} # the predicate information in the request is ignored when we do a # manual view lookup using request.view request = app.request(get_environ(path='foo')) request.mounts = [app] # XXX should do this centrally assert request.view(model) is None
def test_notfound(): config = setup() app = App(testing_config=config) config.commit() response = publish(app.request(get_environ(path='')), app.mounted()) assert response.status == '404 NOT FOUND'
def test_notfound(): app = App() c = setup() c.configurable(app) c.commit() response = publish(app.request(get_environ(path='')), app.mounted()) assert response.status == '404 NOT FOUND'
def test_notfound(): config = setup() app = App(testing_config=config) config.commit() request = app.request(get_environ(path='')) request.mounts.append(app.mounted()) with pytest.raises(HTTPNotFound): publish(request)
def test_predicates(): config = setup() app = App(testing_config=config) config.commit() def view(self, request): return "all" def post_view(self, request): return "post" register_view(app, Model, view, predicates=dict(name='')) register_view(app, Model, post_view, predicates=dict(name='', request_method='POST')) model = Model() assert resolve_response( app.request(get_environ(path='')), model).data == 'all' assert (resolve_response(app.request(get_environ(path='', method='POST')), model).data == 'post')
def test_response_returned(): config = setup() app = App(testing_config=config) config.commit() def view(self, request): return Response('Hello world!') register_view(app, Model, view) model = Model() response = resolve_response(app.request(get_environ(path='')), model) assert response.data == 'Hello world!'
def test_view(): config = setup() app = App(testing_config=config) config.commit() def view(self, request): return "View!" register_view(app, Model, view, predicates=dict(name='')) model = Model() result = resolve_response(app.request(get_environ(path='')), model) assert result.data == 'View!'
def test_notfound_with_predicates(): config = setup() app = App(testing_config=config) config.commit() def view(self, request): return "view" register_view(app, Model, view, predicates=dict(name='')) model = Model() request = app.request(get_environ()) request.unconsumed = ['foo'] with pytest.raises(NotFound): resolve_response(request, model)
def test_response_returned(): app = App() c = setup() c.configurable(app) c.commit() def view(request, model): return Response('Hello world!') register_view(app, Model, view) model = Model() response = resolve_response(app.request(get_environ(path='')), model) assert response.data == 'Hello world!'
def test_render_html(): config = setup() app = App(testing_config=config) config.commit() def view(self, request): return '<p>Hello world!</p>' register_view(app, Model, view, render=render_html) request = app.request(get_environ(path='')) model = Model() response = resolve_response(request, model) assert response.data == '<p>Hello world!</p>' assert response.content_type == 'text/html'
def test_view(): app = App() c = setup() c.configurable(app) c.commit() def view(request, model): return "View!" register_view(app, Model, view, predicates=dict(name='')) model = Model() result = resolve_response(app.request(get_environ(path='')), model) assert result.data == 'View!'
def test_view_raises_http_error(): config = setup() app = App(testing_config=config) config.commit() from werkzeug.exceptions import BadRequest def view(self, request): raise BadRequest() register_path(app, Model, 'foo', None, None, None, Model) register_view(app, Model, view) response = publish(app.request(get_environ(path='foo')), app.mounted()) assert response.status == '400 BAD REQUEST'
def test_view_raises_http_error(): config = setup() app = App(testing_config=config) config.commit() def view(self, request): raise HTTPBadRequest() register_path(app, Model, 'foo', None, None, None, None, Model) register_view(app, Model, view) request = app.request(get_environ(path='foo')) request.mounts.append(app.mounted()) with pytest.raises(HTTPBadRequest): publish(request)
def test_view_raises_http_error(): app = App() c = setup() c.configurable(app) c.commit() from werkzeug.exceptions import BadRequest def view(request, model): raise BadRequest() register_model(app, Model, 'foo', None, Model) register_view(app, Model, view) response = publish(app.request(get_environ(path='foo')), app.mounted()) assert response.status == '400 BAD REQUEST'
def test_view_after(): config = setup() app = App(testing_config=config) config.commit() def view(self, request): @request.after def set_header(response): response.headers.add('Foo', 'FOO') return "View!" register_view(app, Model, view, predicates=dict(name='')) model = Model() result = resolve_response(app.request(get_environ(path='')), model) assert result.data == 'View!' assert result.headers.get('Foo') == 'FOO'
def test_request_view(): app = App() c = setup() c.configurable(app) c.commit() def view(request, model): return {'hey': 'hey'} register_view(app, Model, view, render=render_json) request = app.request(get_environ(path='')) model = Model() response = resolve_response(request, model) # when we get the response, the json will be rendered assert response.data == '{"hey": "hey"}' assert response.content_type == 'application/json' # but we get the original json out when we access the view assert request.view(model) == {'hey': 'hey'}
def test_view_after_non_decorator(): app = App() c = setup() c.configurable(app) c.commit() def set_header(response): response.headers.add('Foo', 'FOO') def view(request, model): request.after(set_header) return "View!" register_view(app, Model, view, predicates=dict(name='')) model = Model() result = resolve_response(app.request(get_environ(path='')), model) assert result.data == 'View!' assert result.headers.get('Foo') == 'FOO'
def test_request_view(): config = setup() app = App(testing_config=config) config.commit() def view(self, request): return {'hey': 'hey'} register_view(app, Model, view, render=render_json) request = app.request(get_environ(path='')) request.mounts = [app] # XXX should do this centrally model = Model() response = resolve_response(request, model) # when we get the response, the json will be rendered assert response.data == '{"hey": "hey"}' assert response.content_type == 'application/json' # but we get the original json out when we access the view assert request.view(model) == {'hey': 'hey'}