)]}'
{"tempest/tests/test_glance_http.py":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"b3d31009517386222b3b3e0bbf871a52e3935b57","unresolved":false,"context_lines":[{"line_number":192,"context_line":"class TestResponseBodyIterator(base.TestCase):"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    def test_iter_default_chunk_size_64k(self):"},{"line_number":195,"context_line":"        resp \u003d fake_http.fake_httplib({}, six.StringIO(\u0027X\u0027 * 98304))"},{"line_number":196,"context_line":"        iterator \u003d glance_http.ResponseBodyIterator(resp)"},{"line_number":197,"context_line":"        chunks \u003d list(iterator)"},{"line_number":198,"context_line":"        self.assertEqual(chunks, [\u0027X\u0027 * 65536, \u0027X\u0027 * 32768])"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F9Twg%3D","line":195,"updated":"2014-04-07 08:03:34.000000000","message":"Can we use glance_http.CHUNKSIZE here? For example, glance_http.CHUNKSIZE + glance_http.CHUNKSIZE / 2 ?\nOtherwise, this test will fail if the CHUNKSIZE will be changed.\nThis is not so strong opinion, though.","commit_id":"c31e85cc813d9711a20fe3c6fae1b5c609cb6e18"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"bd53f06c8c6a93bdaa4722baf76f538903df4e3b","unresolved":false,"context_lines":[{"line_number":192,"context_line":"class TestResponseBodyIterator(base.TestCase):"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    def test_iter_default_chunk_size_64k(self):"},{"line_number":195,"context_line":"        resp \u003d fake_http.fake_httplib({}, six.StringIO(\u0027X\u0027 * 98304))"},{"line_number":196,"context_line":"        iterator \u003d glance_http.ResponseBodyIterator(resp)"},{"line_number":197,"context_line":"        chunks \u003d list(iterator)"},{"line_number":198,"context_line":"        self.assertEqual(chunks, [\u0027X\u0027 * 65536, \u0027X\u0027 * 32768])"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F9R90%3D","line":195,"in_reply_to":"AAAAWH%2F9Twg%3D","updated":"2014-04-07 13:04:44.000000000","message":"sure, good point.","commit_id":"c31e85cc813d9711a20fe3c6fae1b5c609cb6e18"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"dd22b143a8d3284d6a82ee49dbbfbeb02044d9a9","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    def setUp(self):"},{"line_number":33,"context_line":"        super(TestGlanceHTTPClient, self).setUp()"},{"line_number":34,"context_line":"        self.fake_http \u003d fake_http.fake_httplib2(return_type\u003d200)"},{"line_number":35,"context_line":"        # NOTE(maurosr): using http here implies that the backend http"},{"line_number":36,"context_line":"        # operations are made by httplib but we don\u0027t care since this test the"},{"line_number":37,"context_line":"        # method as unit."},{"line_number":38,"context_line":"        self.endpoint \u003d \u0027http://fake_url.com\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9Ow0%3D","line":35,"updated":"2014-04-08 17:45:28.000000000","message":"Shouldn\u0027t this be on the fake_http line above? I don\u0027t see what it has to do with setting the fake endpoint.","commit_id":"23531b76deaf2a91049afc6ee54f46698cf8745c"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"84e2e43e5dd6d9d093135114d654e2f0a10ee125","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    def setUp(self):"},{"line_number":33,"context_line":"        super(TestGlanceHTTPClient, self).setUp()"},{"line_number":34,"context_line":"        self.fake_http \u003d fake_http.fake_httplib2(return_type\u003d200)"},{"line_number":35,"context_line":"        # NOTE(maurosr): using http here implies that the backend http"},{"line_number":36,"context_line":"        # operations are made by httplib but we don\u0027t care since this test the"},{"line_number":37,"context_line":"        # method as unit."},{"line_number":38,"context_line":"        self.endpoint \u003d \u0027http://fake_url.com\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2F3nc%3D","line":35,"in_reply_to":"AAAAWH%2F9Ow0%3D","updated":"2014-04-09 20:43:43.000000000","message":"yes, but that is the \u0027back backend\u0027, I mean, glance choses between httplib and its own httpSlib (which also uses httplib in the end). I will improve this comment to avoid confusion. thanks","commit_id":"23531b76deaf2a91049afc6ee54f46698cf8745c"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"a1701648f4a070c5f204481db31522967d8b28dc","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    def test_json_request_without_content_type_header(self):"},{"line_number":57,"context_line":"        self._set_response_fixture({}, 200, \u0027fake_response_body\u0027)"},{"line_number":58,"context_line":"        resp, body \u003d self.client.json_request(\u0027GET\u0027, \u0027/images\u0027)"},{"line_number":59,"context_line":"        self.assertEqual(resp.status, 200)"},{"line_number":60,"context_line":"        self.assertIsNone(body)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def test_json_request_with_xml_content_type_header(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2F7QI%3D","line":59,"updated":"2014-04-09 13:07:00.000000000","message":"usually assertEqual(expected result, actual result)","commit_id":"23531b76deaf2a91049afc6ee54f46698cf8745c"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"84e2e43e5dd6d9d093135114d654e2f0a10ee125","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    def test_json_request_without_content_type_header(self):"},{"line_number":57,"context_line":"        self._set_response_fixture({}, 200, \u0027fake_response_body\u0027)"},{"line_number":58,"context_line":"        resp, body \u003d self.client.json_request(\u0027GET\u0027, \u0027/images\u0027)"},{"line_number":59,"context_line":"        self.assertEqual(resp.status, 200)"},{"line_number":60,"context_line":"        self.assertIsNone(body)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def test_json_request_with_xml_content_type_header(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2F3nE%3D","line":59,"in_reply_to":"AAAAW3%2F%2F7QI%3D","updated":"2014-04-09 20:43:43.000000000","message":"Yeah, don\u0027t think it\u0027s a big deal or worthy of -1, but will fix it.","commit_id":"23531b76deaf2a91049afc6ee54f46698cf8745c"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"dd22b143a8d3284d6a82ee49dbbfbeb02044d9a9","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        self.assertEqual(resp.status, 200)"},{"line_number":60,"context_line":"        self.assertIsNone(body)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def test_json_request_with_xml_content_type_header(self):"},{"line_number":63,"context_line":"        self._set_response_fixture({\u0027content-type\u0027: \u0027application/xml\u0027},"},{"line_number":64,"context_line":"                                   200, \u0027fake_response_body\u0027)"},{"line_number":65,"context_line":"        resp, body \u003d self.client.json_request(\u0027GET\u0027, \u0027/images\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9Ows%3D","line":62,"updated":"2014-04-08 17:45:28.000000000","message":"Is there actually any enforcement on the content-type header? Because I feel like this should raise an exception? What exactly is the intent of this test?","commit_id":"23531b76deaf2a91049afc6ee54f46698cf8745c"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"a1701648f4a070c5f204481db31522967d8b28dc","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        self._set_response_fixture({\u0027content-type\u0027: \u0027application/xml\u0027},"},{"line_number":64,"context_line":"                                   200, \u0027fake_response_body\u0027)"},{"line_number":65,"context_line":"        resp, body \u003d self.client.json_request(\u0027GET\u0027, \u0027/images\u0027)"},{"line_number":66,"context_line":"        self.assertEqual(resp.status, 200)"},{"line_number":67,"context_line":"        self.assertIsNone(body)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    def test_json_request_with_content_type_header(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2F7P0%3D","line":66,"updated":"2014-04-09 13:07:00.000000000","message":"usually assertEqual(expected result, actual result)","commit_id":"23531b76deaf2a91049afc6ee54f46698cf8745c"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"84e2e43e5dd6d9d093135114d654e2f0a10ee125","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        self._set_response_fixture({\u0027content-type\u0027: \u0027application/xml\u0027},"},{"line_number":64,"context_line":"                                   200, \u0027fake_response_body\u0027)"},{"line_number":65,"context_line":"        resp, body \u003d self.client.json_request(\u0027GET\u0027, \u0027/images\u0027)"},{"line_number":66,"context_line":"        self.assertEqual(resp.status, 200)"},{"line_number":67,"context_line":"        self.assertIsNone(body)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    def test_json_request_with_content_type_header(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2F3fo%3D","line":66,"in_reply_to":"AAAAW3%2F%2F7P0%3D","updated":"2014-04-09 20:43:43.000000000","message":"Done","commit_id":"23531b76deaf2a91049afc6ee54f46698cf8745c"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"a1701648f4a070c5f204481db31522967d8b28dc","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        self._set_response_fixture({\u0027content-type\u0027: \u0027application/json\u0027},"},{"line_number":71,"context_line":"                                   200, \u0027fake_response_body\u0027)"},{"line_number":72,"context_line":"        resp, body \u003d self.client.json_request(\u0027GET\u0027, \u0027/images\u0027)"},{"line_number":73,"context_line":"        self.assertEqual(resp.status, 200)"},{"line_number":74,"context_line":"        self.assertEqual(body, \u0027fake_response_body\u0027)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def test_json_request_fails_to_json_loads(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2F7Pg%3D","line":73,"updated":"2014-04-09 13:07:00.000000000","message":"usually assertEqual(expected result, actual result)","commit_id":"23531b76deaf2a91049afc6ee54f46698cf8745c"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"a1701648f4a070c5f204481db31522967d8b28dc","unresolved":false,"context_lines":[{"line_number":71,"context_line":"                                   200, \u0027fake_response_body\u0027)"},{"line_number":72,"context_line":"        resp, body \u003d self.client.json_request(\u0027GET\u0027, \u0027/images\u0027)"},{"line_number":73,"context_line":"        self.assertEqual(resp.status, 200)"},{"line_number":74,"context_line":"        self.assertEqual(body, \u0027fake_response_body\u0027)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def test_json_request_fails_to_json_loads(self):"},{"line_number":77,"context_line":"        self._set_response_fixture({\u0027content-type\u0027: \u0027application/json\u0027},"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2F7PE%3D","line":74,"updated":"2014-04-09 13:07:00.000000000","message":"usually assertEqual(expected result, actual result)","commit_id":"23531b76deaf2a91049afc6ee54f46698cf8745c"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"a1701648f4a070c5f204481db31522967d8b28dc","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        self.useFixture(mockpatch.PatchObject(json, \u0027loads\u0027,"},{"line_number":80,"context_line":"                        side_effect\u003dValueError()))"},{"line_number":81,"context_line":"        resp, body \u003d self.client.json_request(\u0027GET\u0027, \u0027/images\u0027)"},{"line_number":82,"context_line":"        self.assertEqual(resp.status, 200)"},{"line_number":83,"context_line":"        self.assertEqual(body, \u0027fake_response_body\u0027)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def test_json_request_socket_timeout(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2F7PQ%3D","line":82,"updated":"2014-04-09 13:07:00.000000000","message":"usually assertEqual(expected result, actual result)","commit_id":"23531b76deaf2a91049afc6ee54f46698cf8745c"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"84e2e43e5dd6d9d093135114d654e2f0a10ee125","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        self.useFixture(mockpatch.PatchObject(json, \u0027loads\u0027,"},{"line_number":80,"context_line":"                        side_effect\u003dValueError()))"},{"line_number":81,"context_line":"        resp, body \u003d self.client.json_request(\u0027GET\u0027, \u0027/images\u0027)"},{"line_number":82,"context_line":"        self.assertEqual(resp.status, 200)"},{"line_number":83,"context_line":"        self.assertEqual(body, \u0027fake_response_body\u0027)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def test_json_request_socket_timeout(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2F3fM%3D","line":82,"in_reply_to":"AAAAW3%2F%2F7PQ%3D","updated":"2014-04-09 20:43:43.000000000","message":"Done","commit_id":"23531b76deaf2a91049afc6ee54f46698cf8745c"},{"author":{"_account_id":8824,"name":"Sergey Murashov","email":"smurashov@mirantis.com","username":"SergeyMurashov"},"change_message_id":"a1701648f4a070c5f204481db31522967d8b28dc","unresolved":false,"context_lines":[{"line_number":80,"context_line":"                        side_effect\u003dValueError()))"},{"line_number":81,"context_line":"        resp, body \u003d self.client.json_request(\u0027GET\u0027, \u0027/images\u0027)"},{"line_number":82,"context_line":"        self.assertEqual(resp.status, 200)"},{"line_number":83,"context_line":"        self.assertEqual(body, \u0027fake_response_body\u0027)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def test_json_request_socket_timeout(self):"},{"line_number":86,"context_line":"        self.useFixture(mockpatch.PatchObject(httplib.HTTPConnection,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2F7PI%3D","line":83,"updated":"2014-04-09 13:07:00.000000000","message":"usually assertEqual(expected result, actual result)","commit_id":"23531b76deaf2a91049afc6ee54f46698cf8745c"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"84e2e43e5dd6d9d093135114d654e2f0a10ee125","unresolved":false,"context_lines":[{"line_number":80,"context_line":"                        side_effect\u003dValueError()))"},{"line_number":81,"context_line":"        resp, body \u003d self.client.json_request(\u0027GET\u0027, \u0027/images\u0027)"},{"line_number":82,"context_line":"        self.assertEqual(resp.status, 200)"},{"line_number":83,"context_line":"        self.assertEqual(body, \u0027fake_response_body\u0027)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def test_json_request_socket_timeout(self):"},{"line_number":86,"context_line":"        self.useFixture(mockpatch.PatchObject(httplib.HTTPConnection,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2F3fQ%3D","line":83,"in_reply_to":"AAAAW3%2F%2F7PI%3D","updated":"2014-04-09 20:43:43.000000000","message":"Done","commit_id":"23531b76deaf2a91049afc6ee54f46698cf8745c"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"dd22b143a8d3284d6a82ee49dbbfbeb02044d9a9","unresolved":false,"context_lines":[{"line_number":119,"context_line":"                        \u0027send\u0027))"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        self._set_response_fixture({}, 200, \u0027fake_response_body\u0027)"},{"line_number":122,"context_line":"        resp, body \u003d self.client.raw_request(\u0027PUT\u0027, \u0027/images\u0027,"},{"line_number":123,"context_line":"                                             body\u003dsix.StringIO("},{"line_number":124,"context_line":"                                                 \u0027fake_request_body\u0027))"},{"line_number":125,"context_line":"        self.assertEqual(resp.status, 200)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F9Owk%3D","line":122,"updated":"2014-04-08 17:45:28.000000000","message":"Shouldn\u0027t you also have a check that the request is properly sent too? That\u0027s the big difference with this test vs the 2 above it right?","commit_id":"23531b76deaf2a91049afc6ee54f46698cf8745c"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"84e2e43e5dd6d9d093135114d654e2f0a10ee125","unresolved":false,"context_lines":[{"line_number":119,"context_line":"                        \u0027send\u0027))"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        self._set_response_fixture({}, 200, \u0027fake_response_body\u0027)"},{"line_number":122,"context_line":"        resp, body \u003d self.client.raw_request(\u0027PUT\u0027, \u0027/images\u0027,"},{"line_number":123,"context_line":"                                             body\u003dsix.StringIO("},{"line_number":124,"context_line":"                                                 \u0027fake_request_body\u0027))"},{"line_number":125,"context_line":"        self.assertEqual(resp.status, 200)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAW3%2F%2F3ag%3D","line":122,"in_reply_to":"AAAAWH%2F9Owk%3D","updated":"2014-04-09 20:43:43.000000000","message":"nice catch, I forgot that I patched the getresponse part. thank you","commit_id":"23531b76deaf2a91049afc6ee54f46698cf8745c"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"3f9c9eda25f1b630f141fd19497a832ef1b36759","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":61,"context_line":"        self.assertIsNone(body)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def test_json_request_with_xml_content_type_header(self):"},{"line_number":64,"context_line":"        self._set_response_fixture({\u0027content-type\u0027: \u0027application/xml\u0027},"},{"line_number":65,"context_line":"                                   200, \u0027fake_response_body\u0027)"},{"line_number":66,"context_line":"        resp, body \u003d self.client.json_request(\u0027GET\u0027, \u0027/images\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAW3%2F%2Fkls%3D","line":63,"updated":"2014-04-12 07:33:45.000000000","message":"How about Matthew\u0027s comment about this test at Patch-set 3?\nThis test is a little strange to me.","commit_id":"790a96d0d571bbac019499a24a12ed2b72249174"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"01f64183c4faf9c94a66538cbf81e8c52c5e6962","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":61,"context_line":"        self.assertIsNone(body)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def test_json_request_with_xml_content_type_header(self):"},{"line_number":64,"context_line":"        self._set_response_fixture({\u0027content-type\u0027: \u0027application/xml\u0027},"},{"line_number":65,"context_line":"                                   200, \u0027fake_response_body\u0027)"},{"line_number":66,"context_line":"        resp, body \u003d self.client.json_request(\u0027GET\u0027, \u0027/images\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAXH%2F%2FUnw%3D","line":63,"in_reply_to":"AAAAW3%2F%2FdoI%3D","updated":"2014-04-22 14:16:37.000000000","message":"Yeah that\u0027s fine, we can add more unit tests when we add the raise.","commit_id":"790a96d0d571bbac019499a24a12ed2b72249174"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"d7a5b55d52c93863f84b3214915e4ab93ac525bb","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        self.assertEqual(200, resp.status)"},{"line_number":61,"context_line":"        self.assertIsNone(body)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def test_json_request_with_xml_content_type_header(self):"},{"line_number":64,"context_line":"        self._set_response_fixture({\u0027content-type\u0027: \u0027application/xml\u0027},"},{"line_number":65,"context_line":"                                   200, \u0027fake_response_body\u0027)"},{"line_number":66,"context_line":"        resp, body \u003d self.client.json_request(\u0027GET\u0027, \u0027/images\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAW3%2F%2FdoI%3D","line":63,"in_reply_to":"AAAAW3%2F%2Fkls%3D","updated":"2014-04-14 12:57:57.000000000","message":"Yeah, I forgot to reply this one.\nSo basically what json_requests does in this case is: check in the response headers if there is a content type is application/json, if so json.loads it, otherwise ignore the body, and return None instead.\nhttp://git.openstack.org/cgit/openstack/tempest/tree/tempest/common/glance_http.py#n169\nSo I feel fine about this behavior since we\u0027re doing json request, if it happens in raw_request, I guess would be a problem.\nRegarding Matt\u0027s suggestion to raise an exception, I can cook a separate patch and change this later if you guys are ok with it.","commit_id":"790a96d0d571bbac019499a24a12ed2b72249174"}]}
