)]}'
{"nova/tests/unit/api/test_wsgi.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"a38696b95b18f28257ab1326a20fc46b8a82b34c","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"import fixtures"},{"line_number":23,"context_line":"import routes"},{"line_number":24,"context_line":"from six.moves import StringIO"},{"line_number":25,"context_line":"import webob"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from nova import test"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_68c5af59","line":24,"updated":"2016-09-23 15:53:32.000000000","message":"Instead of importing the StringIO object from six.moves, you can use six.StringIO, allowing you to just \"import six\" here.","commit_id":"eb57c62a85edafb252f11e3ce43acd3ad3c40880"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0474359be9ee5e77b206efaf048913983d95eb85","unresolved":false,"context_lines":[{"line_number":28,"context_line":"from nova import wsgi"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"class Test(test.NoDBTestCase):"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def test_debug(self):"},{"line_number":34,"context_line":"        \"\"\"This tests optional middleware we have which dumps"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_cfba56e1","line":31,"updated":"2016-09-23 12:44:35.000000000","message":"might be nice to rename the test case to something less generic... maybe TestWsgi?","commit_id":"eb57c62a85edafb252f11e3ce43acd3ad3c40880"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"a38696b95b18f28257ab1326a20fc46b8a82b34c","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    def test_debug(self):"},{"line_number":34,"context_line":"        \"\"\"This tests optional middleware we have which dumps"},{"line_number":35,"context_line":"        the requests to stdout."},{"line_number":36,"context_line":"        \"\"\""},{"line_number":37,"context_line":"        self.output \u003d StringIO()"},{"line_number":38,"context_line":"        self.useFixture(fixtures.MonkeyPatch(\u0027sys.stdout\u0027, self.output))"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_e8137f0b","line":36,"updated":"2016-09-23 15:53:32.000000000","message":"I prefer not adding docstrings to test methods, because some test runners have been known to output the docstring instead of the method name upon failures, which makes it harder to track down the failing test.","commit_id":"eb57c62a85edafb252f11e3ce43acd3ad3c40880"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"924773db2dd103037f289ba2adf59ec0e2458f84","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    def test_debug(self):"},{"line_number":34,"context_line":"        \"\"\"This tests optional middleware we have which dumps"},{"line_number":35,"context_line":"        the requests to stdout."},{"line_number":36,"context_line":"        \"\"\""},{"line_number":37,"context_line":"        self.output \u003d StringIO()"},{"line_number":38,"context_line":"        self.useFixture(fixtures.MonkeyPatch(\u0027sys.stdout\u0027, self.output))"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_ed78e32d","line":36,"in_reply_to":"5a8bc5a2_a7ec3c90","updated":"2016-09-23 20:42:51.000000000","message":"Eh, fair enough…","commit_id":"eb57c62a85edafb252f11e3ce43acd3ad3c40880"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"2bd4f52a0dad584d6b46623275864788251cf5a6","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    def test_debug(self):"},{"line_number":34,"context_line":"        \"\"\"This tests optional middleware we have which dumps"},{"line_number":35,"context_line":"        the requests to stdout."},{"line_number":36,"context_line":"        \"\"\""},{"line_number":37,"context_line":"        self.output \u003d StringIO()"},{"line_number":38,"context_line":"        self.useFixture(fixtures.MonkeyPatch(\u0027sys.stdout\u0027, self.output))"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_a7ec3c90","line":36,"in_reply_to":"5a8bc5a2_e8137f0b","updated":"2016-09-23 19:50:00.000000000","message":"That\u0027s only an issue with nose, which we don\u0027t use any more.","commit_id":"eb57c62a85edafb252f11e3ce43acd3ad3c40880"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"a38696b95b18f28257ab1326a20fc46b8a82b34c","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        the requests to stdout."},{"line_number":36,"context_line":"        \"\"\""},{"line_number":37,"context_line":"        self.output \u003d StringIO()"},{"line_number":38,"context_line":"        self.useFixture(fixtures.MonkeyPatch(\u0027sys.stdout\u0027, self.output))"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        class Application(wsgi.Application):"},{"line_number":41,"context_line":"            \"\"\"Dummy application to test debug.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_e8e1bfff","line":38,"updated":"2016-09-23 15:53:32.000000000","message":"Is this something which should be stuffed into a setUp() method?  Wouldn\u0027t the test_router() method also output data?","commit_id":"eb57c62a85edafb252f11e3ce43acd3ad3c40880"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"924773db2dd103037f289ba2adf59ec0e2458f84","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        the requests to stdout."},{"line_number":36,"context_line":"        \"\"\""},{"line_number":37,"context_line":"        self.output \u003d StringIO()"},{"line_number":38,"context_line":"        self.useFixture(fixtures.MonkeyPatch(\u0027sys.stdout\u0027, self.output))"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        class Application(wsgi.Application):"},{"line_number":41,"context_line":"            \"\"\"Dummy application to test debug.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_0d78af29","line":38,"in_reply_to":"5a8bc5a2_67f23471","updated":"2016-09-23 20:42:51.000000000","message":"OK…","commit_id":"eb57c62a85edafb252f11e3ce43acd3ad3c40880"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"2bd4f52a0dad584d6b46623275864788251cf5a6","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        the requests to stdout."},{"line_number":36,"context_line":"        \"\"\""},{"line_number":37,"context_line":"        self.output \u003d StringIO()"},{"line_number":38,"context_line":"        self.useFixture(fixtures.MonkeyPatch(\u0027sys.stdout\u0027, self.output))"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        class Application(wsgi.Application):"},{"line_number":41,"context_line":"            \"\"\"Dummy application to test debug.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_67f23471","line":38,"in_reply_to":"5a8bc5a2_e8e1bfff","updated":"2016-09-23 19:50:00.000000000","message":"It is not, the wsgi.Debug middleware explicitly prints to stdout.","commit_id":"eb57c62a85edafb252f11e3ce43acd3ad3c40880"}]}
