Commit 7c3fafbc authored by Berker Peksag's avatar Berker Peksag

Issue #20900: distutils register command now decodes HTTP responses correctly

Initial patch by ingrid.
parent f1c18134
...@@ -296,9 +296,9 @@ Your selection [default 1]: ''', log.INFO) ...@@ -296,9 +296,9 @@ Your selection [default 1]: ''', log.INFO)
result = 500, str(e) result = 500, str(e)
else: else:
if self.show_response: if self.show_response:
data = result.read() data = self._read_pypi_response(result)
result = 200, 'OK' result = 200, 'OK'
if self.show_response: if self.show_response:
dashes = '-' * 75 msg = '\n'.join(('-' * 75, data, '-' * 75))
self.announce('%s%r%s' % (dashes, data, dashes)) self.announce(msg, log.INFO)
return result return result
...@@ -301,6 +301,20 @@ class RegisterTestCase(PyPIRCCommandTestCase): ...@@ -301,6 +301,20 @@ class RegisterTestCase(PyPIRCCommandTestCase):
results = self.get_logs(INFO) results = self.get_logs(INFO)
self.assertEqual(results, ['running check', 'xxx']) self.assertEqual(results, ['running check', 'xxx'])
def test_show_response(self):
# test that the --show-response option return a well formatted response
cmd = self._get_cmd()
inputs = Inputs('1', 'tarek', 'y')
register_module.input = inputs.__call__
cmd.show_response = 1
try:
cmd.run()
finally:
del register_module.input
results = self.get_logs(INFO)
self.assertEqual(results[3], 75 * '-' + '\nxxx\n' + 75 * '-')
def test_suite(): def test_suite():
return unittest.makeSuite(RegisterTestCase) return unittest.makeSuite(RegisterTestCase)
......
...@@ -140,7 +140,7 @@ class uploadTestCase(PyPIRCCommandTestCase): ...@@ -140,7 +140,7 @@ class uploadTestCase(PyPIRCCommandTestCase):
# The PyPI response body was echoed # The PyPI response body was echoed
results = self.get_logs(INFO) results = self.get_logs(INFO)
self.assertIn('xyzzy\n', results[-1]) self.assertEqual(results[-1], 75 * '-' + '\nxyzzy\n' + 75 * '-')
def test_upload_fails(self): def test_upload_fails(self):
self.next_msg = "Not Found" self.next_msg = "Not Found"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment