def test_output(self): response = Response(200, body='Something here') response.headers.add('Content-Type', 'text/html') string_output = "HTTP/1.1 200 OK\r\nContent-Length: 14\r\nContent-Type: text/html\r\n\r\nSomething here" raw_output = b'HTTP/1.1 200 OK\r\nContent-Length: 14\r\nContent-Type: text/html\r\n\r\nSomething here' assert str(response) == string_output assert response.raw() == raw_output
def test_output(self): response = Response(200, body='Something here') response.headers.add('Content-Type', 'text/html') string_output = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\nSomething here" raw_output = b'HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\nSomething here' assert str(response) == string_output assert response.raw() == raw_output
def simple_request_response(environ, start_response): setup_testing_defaults(environ) request = create_request_from_environ(environ) response = Response(200, body="Hello World!") start_response(*response.start()) return [response()]
def simple_request_response(environ, start_response): setup_testing_defaults(environ) request = create_request_from_environ(environ) response = Response(200, body='Hello World!') start_response(*response.start()) return [response()]
def response(self): """The HTTP response related to the controller. If no response object has been set, then a new one will be generated. Returns: watson.http.messages.Response """ if not self._response: self.response = Response() return self._response
def response(self): """The HTTP response related to the controller. If no response object has been set, then a new one will be generated. Returns: watson.http.messages.Response """ if 'response' not in self.event.params['context']: self.response = Response() return self.event.params['context']['response']
def exception(self, last_exception=None, **kwargs): event = Event(events.EXCEPTION, target=self, params=kwargs) result = self.dispatcher.trigger(event) view_model = result.first() response = Response(kwargs['exception'].status_code) context = kwargs['context'] context['response'] = response if last_exception: self.render(with_dispatcher=False, view_model=view_model, context=context) try: self.render(view_model=view_model, context=context) except Exception as exc: kwargs['exception'] = exc self.exception(last_exception=exc, **kwargs) return response, view_model
def test_execute(self): app = applications.Http() listener = listeners.Render(config.views) context = { 'response': Response(200), } vm = views.Model(format='text/plain', data={'content': 'test'}) params = {'context': context, 'view_model': vm, 'container': app.container} event = Event('render', params=params) # error raised as no template exists with raises(InternalServerError): listener(event) with raises(InternalServerError): vm.format = 'exe' listener(event) vm.format = 'json' response = listener(event) assert response.status_code == 200 assert response.headers['Content-Type'] == 'application/json'
def exception(self, last_exception=None, **kwargs): event = Event(events.EXCEPTION, target=self, params=kwargs) result = self.dispatcher.trigger(event) view_model = result.first() response = Response(kwargs['exception'].status_code) context = kwargs['context'] accept = context['request'].headers.get('accept') if accept: accept_parts = accept.split('/') if len(accept_parts) > 1: view_model.format = accept_parts[1] context['response'] = response if last_exception: self.render(with_dispatcher=False, view_model=view_model, context=context) try: self.render(view_model=view_model, context=context) except Exception as exc: # Triggered when an exception occurs rendering the exception kwargs['exception'] = exc self.exception(last_exception=exc, **kwargs) return response, view_model
def test_start(self): response = Response() status_line, headers = response.start() assert status_line == '200 OK' assert headers == [('Content-Length', '0')]
def test_encoding(self): response = Response(200) assert response.encoding() == 'utf-8'
def test_set_new_cookie(self): response = Response(200) response.cookies = 'blah' assert isinstance(response.cookies, CookieDict)
def GET(self): return Response(body='testing')
def test_create(self): response = Response(200, body='This is the body') assert response.body == 'This is the body' assert response.status_line == '200 OK'
def __raise_exception_event(self, **kwargs): exception_event = Event(events.EXCEPTION, target=self, params=kwargs) exception_result = self.dispatcher.trigger(exception_event) return Response( kwargs['exception'].status_code), exception_result.first()
def test_set_cookie(self): response = Response(200, body='Test') response.cookies.add('test', 'value') assert str( response ) == "HTTP/1.1 200 OK\r\nContent-Length: 4\r\nSet-Cookie: test=value; Path=/\r\n\r\nTest"
def test_encode_body(self): response = Response(200, body='Test') assert response() == b'Test'
def test_set_headers(self): response = Response(200, body='test') response.headers = {'test': 'test'} assert response.headers.environ['test'] == 'test'
def test_start(self): response = Response() status_line, headers = response.start() assert status_line == '200 OK' assert headers == []