summaryrefslogtreecommitdiff
path: root/tests/test_httpserver.py
diff options
context:
space:
mode:
authorBernhard M. Wiedemann <bernhard+hgcommit@lsmod.de>2018-02-21 10:25:37 +0100
committerBernhard M. Wiedemann <bernhard+hgcommit@lsmod.de>2018-02-21 10:25:37 +0100
commitaca5f3fb0fbc754d2dd8e676dc640f1432a164bd (patch)
tree8fbeda74980baf7acd06c5b1f792a3c218eaa1ff /tests/test_httpserver.py
downloadpaste-git-aca5f3fb0fbc754d2dd8e676dc640f1432a164bd.tar.gz
make tests pass after 2031
Diffstat (limited to 'tests/test_httpserver.py')
-rw-r--r--tests/test_httpserver.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/test_httpserver.py b/tests/test_httpserver.py
new file mode 100644
index 0000000..3d72c79
--- /dev/null
+++ b/tests/test_httpserver.py
@@ -0,0 +1,45 @@
+import email
+
+from paste.httpserver import WSGIHandler
+from six.moves import StringIO
+
+
+class MockServer(object):
+ server_address = ('127.0.0.1', 80)
+
+
+class MockSocket(object):
+ def makefile(self, mode, bufsize):
+ return StringIO()
+
+
+def test_environ():
+ mock_socket = MockSocket()
+ mock_client_address = '1.2.3.4'
+ mock_server = MockServer()
+
+ wsgi_handler = WSGIHandler(mock_socket, mock_client_address, mock_server)
+ wsgi_handler.command = 'GET'
+ wsgi_handler.path = '/path'
+ wsgi_handler.request_version = 'HTTP/1.0'
+ wsgi_handler.headers = email.message_from_string('Host: mywebsite')
+
+ wsgi_handler.wsgi_setup()
+
+ assert wsgi_handler.wsgi_environ['HTTP_HOST'] == 'mywebsite'
+
+
+def test_environ_with_multiple_values():
+ mock_socket = MockSocket()
+ mock_client_address = '1.2.3.4'
+ mock_server = MockServer()
+
+ wsgi_handler = WSGIHandler(mock_socket, mock_client_address, mock_server)
+ wsgi_handler.command = 'GET'
+ wsgi_handler.path = '/path'
+ wsgi_handler.request_version = 'HTTP/1.0'
+ wsgi_handler.headers = email.message_from_string('Host: host1\nHost: host2')
+
+ wsgi_handler.wsgi_setup()
+
+ assert wsgi_handler.wsgi_environ['HTTP_HOST'] == 'host1,host2'