示例#1
0
    def test_command_allow_headers(self):
        def get_application_response(request_handler):
            request = AbstractRequest.create(request_handler, dict(url='/'))
            meta = dict(ip='127.0.0.1', port=19234)
            environ = Environ(request, meta)
            wsgi_handler = WSGIHandler(request_handler)
            return wsgi_handler.call_application(
                various_status_application,
                environ.get_dict()
            )

        request_handler = MockHandler()

        headers = get_application_response(request_handler)['headers']
        self.assertNotIn('Content-Type', headers)

        request = AbstractRequest.create(
            request_handler,
            dict(url=':allow-headers', names=['content-type'])
        )
        self.assertEqual(
            request.command(),
            dict(status=dict(code='200', reason='OK'))
        )
        self.assertIn('content-type', request_handler.allow_headers)

        headers = get_application_response(request_handler)['headers']
        self.assertIn('Content-Type', headers)
示例#2
0
 def test_command_set_headers(self):
     request = AbstractRequest.create(
         MockHandler(), dict(url=':set-headers', headers=dict(foo='bar')))
     self.assertEqual(
         request.command(),
         dict(status=dict(code='200', reason='OK'),
              headers=dict(foo='bar')))
示例#3
0
 def get_application_response(request_handler):
     request = AbstractRequest.create(request_handler, dict(url='/'))
     meta = dict(ip='127.0.0.1', port=19234)
     environ = Environ(request, meta)
     wsgi_handler = WSGIHandler(request_handler)
     return wsgi_handler.call_application(various_status_application,
                                          environ.get_dict())
示例#4
0
def environ(request_parameters, meta=None):
    if not request_parameters:
        request_parameters = dict()
    if not meta:
        meta = dict()
    request = AbstractRequest.create(MockHandler(), request_parameters)
    return Environ(request, meta).get_dict()
示例#5
0
def environ(request_parameters, meta=None):
    if not request_parameters:
        request_parameters = dict()
    if not meta:
        meta = dict()
    request = AbstractRequest.create(MockHandler(), request_parameters)
    return Environ(request, meta).get_dict()
示例#6
0
文件: server.py 项目: Parkayun/wsgit
 def _get_request(self):
     try:
         request_dict = self.conn.recvobj()
     except ValueError:
         request_dict = dict()
     request = AbstractRequest.create(self, request_dict)
     return request
示例#7
0
 def test_command_set_headers(self):
     request = AbstractRequest.create(
         MockHandler(),
         dict(url=':set-headers', headers=dict(foo='bar'))
     )
     self.assertEqual(
         request.command(),
         dict(status=dict(code='200', reason='OK'), headers=dict(foo='bar'))
     )
示例#8
0
 def get_application_response(request_handler):
     request = AbstractRequest.create(request_handler, dict(url='/'))
     meta = dict(ip='127.0.0.1', port=19234)
     environ = Environ(request, meta)
     wsgi_handler = WSGIHandler(request_handler)
     return wsgi_handler.call_application(
         various_status_application,
         environ.get_dict()
     )
示例#9
0
 def test_call_application(self):
     request = AbstractRequest.create(MockHandler(), dict(url='/'))
     meta = dict(ip='127.0.0.1', port=19234)
     environ, handler = Environ(request, meta), WSGIHandler(MockHandler())
     json_response = handler.call_application(various_status_application,
                                              environ.get_dict())
     self.assertEqual(
         dict(status=dict(reason='OK', code='200'),
              response=dict(),
              headers=dict()), json_response)
示例#10
0
 def test_no_json_response(self):
     request = AbstractRequest.create(MockHandler(),
                                      dict(url='/?404 NOT FOUND'))
     meta = dict(ip='127.0.0.1', port=19234)
     environ, handler = Environ(request, meta), WSGIHandler(MockHandler())
     json_response = handler.call_application(no_json_response_application,
                                              environ.get_dict())
     self.assertEqual(
         dict(status=dict(reason='NOT FOUND', code='404'),
              no_json_response='Page Not Found',
              response=dict(),
              headers=dict()), json_response)
示例#11
0
 def test_call_application(self):
     request = AbstractRequest.create(MockHandler(), dict(url='/'))
     meta = dict(ip='127.0.0.1', port=19234)
     environ, handler = Environ(request, meta), WSGIHandler(MockHandler())
     json_response = handler.call_application(
         various_status_application,
         environ.get_dict()
     )
     self.assertEqual(
         dict(
             status=dict(reason='OK', code='200'),
             response=dict(),
             headers=dict()
         ),
         json_response
     )
示例#12
0
 def test_no_json_response(self):
     request = AbstractRequest.create(MockHandler(), dict(url='/?404 NOT FOUND'))
     meta = dict(ip='127.0.0.1', port=19234)
     environ, handler = Environ(request, meta), WSGIHandler(MockHandler())
     json_response = handler.call_application(
         no_json_response_application,
         environ.get_dict()
     )
     self.assertEqual(
         dict(
             status=dict(reason='NOT FOUND', code='404'),
             no_json_response='Page Not Found', response=dict(),
             headers=dict()
         ),
         json_response
     )
示例#13
0
    def test_command_allow_headers(self):
        def get_application_response(request_handler):
            request = AbstractRequest.create(request_handler, dict(url='/'))
            meta = dict(ip='127.0.0.1', port=19234)
            environ = Environ(request, meta)
            wsgi_handler = WSGIHandler(request_handler)
            return wsgi_handler.call_application(various_status_application,
                                                 environ.get_dict())

        request_handler = MockHandler()

        headers = get_application_response(request_handler)['headers']
        self.assertNotIn('Content-Type', headers)

        request = AbstractRequest.create(
            request_handler, dict(url=':allow-headers',
                                  names=['content-type']))
        self.assertEqual(request.command(),
                         dict(status=dict(code='200', reason='OK')))
        self.assertIn('content-type', request_handler.allow_headers)

        headers = get_application_response(request_handler)['headers']
        self.assertIn('Content-Type', headers)
示例#14
0
 def test_command_hello(self):
     request = AbstractRequest.create(MockHandler(), dict(url=':hello'))
     self.assertEqual(
         request.command(),
         dict(status=dict(code='200', reason='OK'))
     )
示例#15
0
 def test_create(self):
     request = AbstractRequest.create(MockHandler(), dict(url=':init'))
     self.assertIsInstance(request, CommandRequest)
示例#16
0
 def test_command_hello(self):
     request = AbstractRequest.create(MockHandler(), dict(url=':hello'))
     self.assertEqual(request.command(),
                      dict(status=dict(code='200', reason='OK')))
示例#17
0
 def test_invalid_request(self):
     request = AbstractRequest.create(MockHandler(), dict(url='\x00'))
     self.assertIsInstance(request, InvalidRequest)
示例#18
0
 def test_http_header(self):
     request = {'url': '/', 'headers': dict(USER_AGENT='iPhone')}
     request = AbstractRequest.create(MockHandler(), request)
     self.assertEqual(request.headers['USER_AGENT'], 'iPhone')
示例#19
0
 def test_create(self):
     request = AbstractRequest.create(MockHandler(), dict(url='/', foo='bar'))
     self.assertIsInstance(request, WebRequest)
     self.assertEqual(request.url, '/')
     self.assertEqual(request.params, dict(foo='bar'))
示例#20
0
 def test_create(self):
     request = AbstractRequest.create(MockHandler(), dict(url='/',
                                                          foo='bar'))
     self.assertIsInstance(request, WebRequest)
     self.assertEqual(request.url, '/')
     self.assertEqual(request.params, dict(foo='bar'))
示例#21
0
 def test_http_header(self):
     request = {'url': '/', 'headers': dict(USER_AGENT='iPhone')}
     request = AbstractRequest.create(MockHandler(), request)
     self.assertEqual(request.headers['USER_AGENT'], 'iPhone')
示例#22
0
 def test_invalid_request(self):
     request = AbstractRequest.create(MockHandler(), dict(url='\x00'))
     self.assertIsInstance(request, InvalidRequest)
示例#23
0
 def test_create(self):
     request = AbstractRequest.create(MockHandler(), dict(url=':init'))
     self.assertIsInstance(request, CommandRequest)