[Python-checkins] distutils2: stopping pypi_server in teardown & tested pypi_server separately
tarek.ziade
python-checkins at python.org
Sun Jul 4 11:48:38 CEST 2010
tarek.ziade pushed 169e3d4e7247 to distutils2:
http://hg.python.org/distutils2/rev/169e3d4e7247
changeset: 265:169e3d4e7247
user: Konrad Delong <konryd at gmail.com>
date: Thu May 13 14:43:38 2010 +0200
summary: stopping pypi_server in teardown & tested pypi_server separately
files: src/distutils2/tests/pypi_server.py, src/distutils2/tests/test_pypi_server.py, src/distutils2/tests/test_upload.py
diff --git a/src/distutils2/tests/pypi_server.py b/src/distutils2/tests/pypi_server.py
--- a/src/distutils2/tests/pypi_server.py
+++ b/src/distutils2/tests/pypi_server.py
@@ -23,7 +23,10 @@
status = '200 OK' # HTTP Status
headers = [('Content-type', 'text/plain')] # HTTP Headers
start_response(status, headers)
- request_data = environ.pop('wsgi.input').read(int(environ['CONTENT_LENGTH']))
+ if environ.get("CONTENT_LENGTH"):
+ request_data = environ.pop('wsgi.input').read(int(environ['CONTENT_LENGTH']))
+ else:
+ request_data = environ.pop('wsgi.input').read()
self.request_queue.put((environ, request_data))
return ["hello"]
diff --git a/src/distutils2/tests/test_pypi_server.py b/src/distutils2/tests/test_pypi_server.py
new file mode 100644
--- /dev/null
+++ b/src/distutils2/tests/test_pypi_server.py
@@ -0,0 +1,27 @@
+"""Tests for distutils.command.bdist."""
+import unittest2, urllib, urllib2
+from distutils2.tests.pypi_server import PyPIServer
+
+class PyPIServerTest(unittest2.TestCase):
+
+ def test_records_requests(self):
+ server = PyPIServer()
+ server.start()
+ self.assertEqual(len(server.requests), 0)
+
+ data = "Rock Around The Bunker"
+ headers = {"X-test-header": "Mister Iceberg"}
+
+ request = urllib2.Request(server.full_address, data, headers)
+ urllib2.urlopen(request)
+ self.assertEqual(len(server.requests), 1)
+ environ, request_data = server.requests[-1]
+ self.assertIn("Rock Around The Bunker", request_data)
+ self.assertEqual(environ["HTTP_X_TEST_HEADER"], "Mister Iceberg")
+ server.stop()
+
+def test_suite():
+ return unittest2.makeSuite(PyPIServerTest)
+
+if __name__ == '__main__':
+ unittest2.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_upload.py b/src/distutils2/tests/test_upload.py
--- a/src/distutils2/tests/test_upload.py
+++ b/src/distutils2/tests/test_upload.py
@@ -27,6 +27,9 @@
self.pypi = PyPIServer()
self.pypi.start()
+ def tearDown(self):
+ self.pypi.stop()
+
def test_finalize_options(self):
# new format
self.write_file(self.rc, PYPIRC)
--
Repository URL: http://hg.python.org/distutils2
More information about the Python-checkins
mailing list