mirror of
				https://github.com/django/django.git
				synced 2025-10-26 07:06:08 +00:00 
			
		
		
		
	assert_ -> assertTrue assertEquals -> assertEqual failUnless -> assertTrue For full details, see http://www.voidspace.org.uk/python/articles/unittest2.shtml#deprecations git-svn-id: http://code.djangoproject.com/svn/django/trunk@15728 bcc190cf-cafb-0310-a4f2-bffc1f526a37
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from StringIO import StringIO
 | |
| 
 | |
| from django.core.servers.basehttp import ServerHandler
 | |
| from django.utils.unittest import TestCase
 | |
| 
 | |
| #
 | |
| # Tests for #9659: wsgi.file_wrapper in the builtin server.
 | |
| # We need to mock a couple of of handlers and keep track of what
 | |
| # gets called when using a couple kinds of WSGI apps.
 | |
| #
 | |
| 
 | |
| class DummyHandler(object):
 | |
|     def log_request(*args, **kwargs):
 | |
|         pass
 | |
| 
 | |
| class FileWrapperHandler(ServerHandler):
 | |
|     def __init__(self, *args, **kwargs):
 | |
|         ServerHandler.__init__(self, *args, **kwargs)
 | |
|         self.request_handler = DummyHandler()
 | |
|         self._used_sendfile = False
 | |
| 
 | |
|     def sendfile(self):
 | |
|         self._used_sendfile = True
 | |
|         return True
 | |
| 
 | |
| def wsgi_app(environ, start_response):
 | |
|     start_response('200 OK', [('Content-Type', 'text/plain')])
 | |
|     return ['Hello World!']
 | |
| 
 | |
| def wsgi_app_file_wrapper(environ, start_response):
 | |
|     start_response('200 OK', [('Content-Type', 'text/plain')])
 | |
|     return environ['wsgi.file_wrapper'](StringIO('foo'))
 | |
| 
 | |
| class WSGIFileWrapperTests(TestCase):
 | |
|     """
 | |
|     Test that the wsgi.file_wrapper works for the builting server.
 | |
|     """
 | |
| 
 | |
|     def test_file_wrapper_uses_sendfile(self):
 | |
|         env = {'SERVER_PROTOCOL': 'HTTP/1.0'}
 | |
|         err = StringIO()
 | |
|         handler = FileWrapperHandler(None, StringIO(), err, env)
 | |
|         handler.run(wsgi_app_file_wrapper)
 | |
|         self.assertTrue(handler._used_sendfile)
 | |
| 
 | |
|     def test_file_wrapper_no_sendfile(self):
 | |
|         env = {'SERVER_PROTOCOL': 'HTTP/1.0'}
 | |
|         err = StringIO()
 | |
|         handler = FileWrapperHandler(None, StringIO(), err, env)
 | |
|         handler.run(wsgi_app)
 | |
|         self.assertFalse(handler._used_sendfile)
 | |
|         self.assertEqual(handler.stdout.getvalue().splitlines()[-1],'Hello World!')
 |