Example #1
0
 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
Example #2
0
 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()]
Example #4
0
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()]
Example #5
0
    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
Example #6
0
    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']
Example #7
0
 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
Example #10
0
 def test_start(self):
     response = Response()
     status_line, headers = response.start()
     assert status_line == '200 OK'
     assert headers == [('Content-Length', '0')]
Example #11
0
 def test_encoding(self):
     response = Response(200)
     assert response.encoding() == 'utf-8'
Example #12
0
 def test_set_new_cookie(self):
     response = Response(200)
     response.cookies = 'blah'
     assert isinstance(response.cookies, CookieDict)
Example #13
0
 def GET(self):
     return Response(body='testing')
Example #14
0
 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'
Example #15
0
 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()
Example #16
0
 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"
Example #17
0
 def test_set_new_cookie(self):
     response = Response(200)
     response.cookies = 'blah'
     assert isinstance(response.cookies, CookieDict)
Example #18
0
 def test_start(self):
     response = Response()
     status_line, headers = response.start()
     assert status_line == '200 OK'
     assert headers == [('Content-Length', '0')]
Example #19
0
 def test_encode_body(self):
     response = Response(200, body='Test')
     assert response() == b'Test'
Example #20
0
 def test_encoding(self):
     response = Response(200)
     assert response.encoding() == 'utf-8'
Example #21
0
 def test_set_headers(self):
     response = Response(200, body='test')
     response.headers = {'test': 'test'}
     assert response.headers.environ['test'] == 'test'
Example #22
0
 def test_start(self):
     response = Response()
     status_line, headers = response.start()
     assert status_line == '200 OK'
     assert headers == []