)]}'
{"nova/api/openstack/wsgi.py":[{"author":{"_account_id":2419,"name":"Roland Hochmuth","email":"roland.hochmuth@hpe.com","username":"roland-hochmuth-s"},"change_message_id":"c21708d7d645faa144505b56cc45de8d6cfc2e73","unresolved":false,"context_lines":[{"line_number":885,"context_line":"            return self._process_stack(request, action, action_args,"},{"line_number":886,"context_line":"                                   content_type, body, accept)"},{"line_number":887,"context_line":"        except expat.ExpatError:"},{"line_number":888,"context_line":"            msg \u003d _(\"cannot understand XML\")"},{"line_number":889,"context_line":"            return Fault(webob.exc.HTTPBadRequest(explanation\u003dmsg))"},{"line_number":890,"context_line":"        except LookupError as e:"},{"line_number":891,"context_line":"            return Fault(webob.exc.HTTPBadRequest(explanation\u003dunicode(e)))"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2FUXU%3D","line":888,"updated":"2012-09-21 17:27:04.000000000","message":"Would prefer message such as \"Invalid XML in request body\"","commit_id":"4ee5066ffb4fb7b1aadcf7b396c24d925f226517"},{"author":{"_account_id":2208,"name":"Vijaya Erukala","email":"vijayaerukala@gmail.com","username":"vijaya-erukala"},"change_message_id":"0a90718f7e9e1b0c78e4bf49093c37c600d093d7","unresolved":false,"context_lines":[{"line_number":885,"context_line":"            return self._process_stack(request, action, action_args,"},{"line_number":886,"context_line":"                                   content_type, body, accept)"},{"line_number":887,"context_line":"        except expat.ExpatError:"},{"line_number":888,"context_line":"            msg \u003d _(\"cannot understand XML\")"},{"line_number":889,"context_line":"            return Fault(webob.exc.HTTPBadRequest(explanation\u003dmsg))"},{"line_number":890,"context_line":"        except LookupError as e:"},{"line_number":891,"context_line":"            return Fault(webob.exc.HTTPBadRequest(explanation\u003dunicode(e)))"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2FN1A%3D","line":888,"in_reply_to":"AAAALH%2F%2FOfg%3D","updated":"2012-10-04 05:25:09.000000000","message":"Done","commit_id":"4ee5066ffb4fb7b1aadcf7b396c24d925f226517"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"60b3e68c5b1bb97f226796748a9e31d584ac954a","unresolved":false,"context_lines":[{"line_number":885,"context_line":"            return self._process_stack(request, action, action_args,"},{"line_number":886,"context_line":"                                   content_type, body, accept)"},{"line_number":887,"context_line":"        except expat.ExpatError:"},{"line_number":888,"context_line":"            msg \u003d _(\"cannot understand XML\")"},{"line_number":889,"context_line":"            return Fault(webob.exc.HTTPBadRequest(explanation\u003dmsg))"},{"line_number":890,"context_line":"        except LookupError as e:"},{"line_number":891,"context_line":"            return Fault(webob.exc.HTTPBadRequest(explanation\u003dunicode(e)))"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2FOfg%3D","line":888,"in_reply_to":"AAAALH%2F%2FUXU%3D","updated":"2012-10-02 18:46:35.000000000","message":"Agree. or \"XML does not pass validation\"","commit_id":"4ee5066ffb4fb7b1aadcf7b396c24d925f226517"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"60b3e68c5b1bb97f226796748a9e31d584ac954a","unresolved":false,"context_lines":[{"line_number":887,"context_line":"        except expat.ExpatError:"},{"line_number":888,"context_line":"            msg \u003d _(\"cannot understand XML\")"},{"line_number":889,"context_line":"            return Fault(webob.exc.HTTPBadRequest(explanation\u003dmsg))"},{"line_number":890,"context_line":"        except LookupError as e:"},{"line_number":891,"context_line":"            return Fault(webob.exc.HTTPBadRequest(explanation\u003dunicode(e)))"},{"line_number":892,"context_line":""},{"line_number":893,"context_line":"    def _process_stack(self, request, action, action_args,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2FOfc%3D","line":890,"updated":"2012-10-02 18:46:35.000000000","message":"So I understand why the ExpatError. When is a LookupError expected here?","commit_id":"4ee5066ffb4fb7b1aadcf7b396c24d925f226517"},{"author":{"_account_id":2208,"name":"Vijaya Erukala","email":"vijayaerukala@gmail.com","username":"vijaya-erukala"},"change_message_id":"0a90718f7e9e1b0c78e4bf49093c37c600d093d7","unresolved":false,"context_lines":[{"line_number":887,"context_line":"        except expat.ExpatError:"},{"line_number":888,"context_line":"            msg \u003d _(\"cannot understand XML\")"},{"line_number":889,"context_line":"            return Fault(webob.exc.HTTPBadRequest(explanation\u003dmsg))"},{"line_number":890,"context_line":"        except LookupError as e:"},{"line_number":891,"context_line":"            return Fault(webob.exc.HTTPBadRequest(explanation\u003dunicode(e)))"},{"line_number":892,"context_line":""},{"line_number":893,"context_line":"    def _process_stack(self, request, action, action_args,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2FN1E%3D","line":890,"in_reply_to":"AAAALH%2F%2FOfc%3D","updated":"2012-10-04 05:25:09.000000000","message":"xml of this kind raises LookupError.\n\u003c?xml version\u003d\"1.0\" encoding\u003d\"TF-8\"?\u003e\u003creboot type\u003d\"HARD\"/\u003e\n LookupError: unknown encoding: TF-8","commit_id":"4ee5066ffb4fb7b1aadcf7b396c24d925f226517"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"ae60ee73516b5555f95f2380dcd833e5f16fa2ee","unresolved":false,"context_lines":[{"line_number":887,"context_line":"        except expat.ExpatError:"},{"line_number":888,"context_line":"            msg \u003d _(\"Invalid XML in request body\")"},{"line_number":889,"context_line":"            return Fault(webob.exc.HTTPBadRequest(explanation\u003dmsg))"},{"line_number":890,"context_line":"        except LookupError as e:"},{"line_number":891,"context_line":"            return Fault(webob.exc.HTTPBadRequest(explanation\u003dunicode(e)))"},{"line_number":892,"context_line":""},{"line_number":893,"context_line":"    def _process_stack(self, request, action, action_args,"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FNrw%3D","line":890,"updated":"2012-10-04 14:05:21.000000000","message":"add a #NOTE(yourusername) about the kind of XML that causes this error, as I don\u0027t think it will be obvious to future maintainers why this is here.","commit_id":"af6f2ea827244c70d7d176d14341efa10b0dbc1d"}],"nova/tests/api/openstack/compute/test_servers.py":[{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"06577f4cda0be435c10640f99dcae221e9e9cefa","unresolved":false,"context_lines":[{"line_number":969,"context_line":"            xmlns\u003d\"http://docs.openstack.org/compute/api/v1.1\""},{"line_number":970,"context_line":"            key\u003d\"Label\"\u003e\u003c/meta\u003e\"\"\""},{"line_number":971,"context_line":"        res \u003d req.get_response(fakes.wsgi_app())"},{"line_number":972,"context_line":"        self.assertEqual(res.status_int, 400)"},{"line_number":973,"context_line":""},{"line_number":974,"context_line":"        #xml request which raises ExpatError"},{"line_number":975,"context_line":"        req.body \u003d \"\"\"\u003c?xml version\u003d\"1.0\" encoding\u003d\"UTF-8\"?\u003e"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAALH%2F%2FMmk%3D","line":972,"updated":"2012-10-05 20:20:46.000000000","message":"I think that would be a good idea split up this test in two","commit_id":"7e8ccdb98fefe80c3855510bc51cbb9be10bbd1f"},{"author":{"_account_id":2208,"name":"Vijaya Erukala","email":"vijayaerukala@gmail.com","username":"vijaya-erukala"},"change_message_id":"bc302c248233ab28f0eab699ff05c5a6b1c3252d","unresolved":false,"context_lines":[{"line_number":969,"context_line":"            xmlns\u003d\"http://docs.openstack.org/compute/api/v1.1\""},{"line_number":970,"context_line":"            key\u003d\"Label\"\u003e\u003c/meta\u003e\"\"\""},{"line_number":971,"context_line":"        res \u003d req.get_response(fakes.wsgi_app())"},{"line_number":972,"context_line":"        self.assertEqual(res.status_int, 400)"},{"line_number":973,"context_line":""},{"line_number":974,"context_line":"        #xml request which raises ExpatError"},{"line_number":975,"context_line":"        req.body \u003d \"\"\"\u003c?xml version\u003d\"1.0\" encoding\u003d\"UTF-8\"?\u003e"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAALH%2F%2FLT0%3D","line":972,"in_reply_to":"AAAALH%2F%2FLuI%3D","updated":"2012-10-09 06:11:11.000000000","message":"rather than writing the test cases for all the api\u0027s in separate file, As the fix is in common method for me it looks like this test covers the two scenarios with the invalid xml","commit_id":"7e8ccdb98fefe80c3855510bc51cbb9be10bbd1f"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"05b4de39f29f355e3b9d5e6fea75ead13e57f641","unresolved":false,"context_lines":[{"line_number":969,"context_line":"            xmlns\u003d\"http://docs.openstack.org/compute/api/v1.1\""},{"line_number":970,"context_line":"            key\u003d\"Label\"\u003e\u003c/meta\u003e\"\"\""},{"line_number":971,"context_line":"        res \u003d req.get_response(fakes.wsgi_app())"},{"line_number":972,"context_line":"        self.assertEqual(res.status_int, 400)"},{"line_number":973,"context_line":""},{"line_number":974,"context_line":"        #xml request which raises ExpatError"},{"line_number":975,"context_line":"        req.body \u003d \"\"\"\u003c?xml version\u003d\"1.0\" encoding\u003d\"UTF-8\"?\u003e"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAALH%2F%2FLuI%3D","line":972,"in_reply_to":"AAAALH%2F%2FMGk%3D","updated":"2012-10-08 17:10:50.000000000","message":"Vijaya actually I was most interested in the tests all being in the same file, they can be multiple test functions. Honestly, I\u0027d look at breaking them out into a seperate test_rest_xml.py or something equivalent.","commit_id":"7e8ccdb98fefe80c3855510bc51cbb9be10bbd1f"},{"author":{"_account_id":2208,"name":"Vijaya Erukala","email":"vijayaerukala@gmail.com","username":"vijaya-erukala"},"change_message_id":"ccac45925621c008f17a30412c10c33f962ebe9a","unresolved":false,"context_lines":[{"line_number":969,"context_line":"            xmlns\u003d\"http://docs.openstack.org/compute/api/v1.1\""},{"line_number":970,"context_line":"            key\u003d\"Label\"\u003e\u003c/meta\u003e\"\"\""},{"line_number":971,"context_line":"        res \u003d req.get_response(fakes.wsgi_app())"},{"line_number":972,"context_line":"        self.assertEqual(res.status_int, 400)"},{"line_number":973,"context_line":""},{"line_number":974,"context_line":"        #xml request which raises ExpatError"},{"line_number":975,"context_line":"        req.body \u003d \"\"\"\u003c?xml version\u003d\"1.0\" encoding\u003d\"UTF-8\"?\u003e"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAALH%2F%2FMGk%3D","line":972,"in_reply_to":"AAAALH%2F%2FMmk%3D","updated":"2012-10-08 07:03:06.000000000","message":"As per Sean Dague comment in patch set 2 I understood that a single test which checks for the all the invalid xml req needs to be there in servers or one of the other APIs so updated accordingly,but this comment is conflicting with the Sean\u0027s comment.","commit_id":"7e8ccdb98fefe80c3855510bc51cbb9be10bbd1f"}]}
