[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