)]}'
{"placement/tests/unit/test_auth.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fdf5908efb86da8e180430224f347958beffd130","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7faddb67_0c4f426b","updated":"2019-08-05 13:32:59.000000000","message":"You should really be using mocks in here.","commit_id":"5642fdad83417f0660130f3685f6b08eb556a4e8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"92fa4cfaa1cfeae09f443db7ae1a6389f01d9d84","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":"\"\"\"Unit tests for the auth middleware used by the Placement service."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Most of the functionality of the auth middleware is testing in functional"},{"line_number":15,"context_line":"and integration tests but sometimes it is more convenient or accurate to"},{"line_number":16,"context_line":"use unit tests."},{"line_number":17,"context_line":"\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_2c2d5e94","line":14,"range":{"start_line":14,"start_character":52,"end_line":14,"end_character":59},"updated":"2019-08-05 13:32:47.000000000","message":"tested","commit_id":"5642fdad83417f0660130f3685f6b08eb556a4e8"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"fdf5908efb86da8e180430224f347958beffd130","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        self._test_root_req(req)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def test_no_slash_no_auth(self):"},{"line_number":66,"context_line":"        \"\"\"Accessing / requires no auth.\"\"\""},{"line_number":67,"context_line":"        req \u003d webob.Request.blank(\u0027\u0027, method\u003d\u0027GET\u0027)"},{"line_number":68,"context_line":"        self._test_root_req(req)"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_6c2ef68c","line":66,"range":{"start_line":66,"start_character":21,"end_line":66,"end_character":22},"updated":"2019-08-05 13:32:59.000000000","message":"\u0027\u0027","commit_id":"5642fdad83417f0660130f3685f6b08eb556a4e8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"92fa4cfaa1cfeae09f443db7ae1a6389f01d9d84","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        self._test_root_req(req)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def test_no_slash_no_auth(self):"},{"line_number":66,"context_line":"        \"\"\"Accessing / requires no auth.\"\"\""},{"line_number":67,"context_line":"        req \u003d webob.Request.blank(\u0027\u0027, method\u003d\u0027GET\u0027)"},{"line_number":68,"context_line":"        self._test_root_req(req)"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_ec574600","line":66,"range":{"start_line":66,"start_character":21,"end_line":66,"end_character":22},"updated":"2019-08-05 13:32:47.000000000","message":"\u0027\u0027","commit_id":"5642fdad83417f0660130f3685f6b08eb556a4e8"}]}
