)]}'
{"cinder/tests/unit/api/contrib/test_cgsnapshots.py":[{"author":{"_account_id":15359,"name":"Erickson Filipe Guedes dos Santos","email":"erickson@lsd.ufcg.edu.br","username":"ericksonfilipe"},"change_message_id":"dc8e579f146b165d0c45337a44c702b1875855af","unresolved":false,"context_lines":[{"line_number":301,"context_line":"                          volume_id)"},{"line_number":302,"context_line":"        consistencygroup.destroy()"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"    @staticmethod"},{"line_number":305,"context_line":"    def _create_cgsnapshot_request_body("},{"line_number":306,"context_line":"            consistencygroup_id,"},{"line_number":307,"context_line":"            name\u003d\"cg1\","}],"source_content_type":"text/x-python","patch_set":1,"id":"7a1b2928_f73c4831","line":304,"range":{"start_line":304,"start_character":5,"end_line":304,"end_character":17},"updated":"2016-04-11 19:39:25.000000000","message":"Why do you need it to be static?","commit_id":"f6a730080440e2ec2705fe708fffe50bd22fc927"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"bfd206fa3f65741204692ba443d89c6f3ecf3655","unresolved":false,"context_lines":[{"line_number":301,"context_line":"                          volume_id)"},{"line_number":302,"context_line":"        consistencygroup.destroy()"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"    @staticmethod"},{"line_number":305,"context_line":"    def _create_cgsnapshot_request_body("},{"line_number":306,"context_line":"            consistencygroup_id,"},{"line_number":307,"context_line":"            name\u003d\"cg1\","}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_a803a70c","line":304,"range":{"start_line":304,"start_character":5,"end_line":304,"end_character":17},"in_reply_to":"1a122d0e_7a057f78","updated":"2016-06-04 07:17:52.000000000","message":"Why did you remove this in patch set 3?","commit_id":"f6a730080440e2ec2705fe708fffe50bd22fc927"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"fb6baba7fcc5096b69a80f943403d7ab3ab07263","unresolved":false,"context_lines":[{"line_number":301,"context_line":"                          volume_id)"},{"line_number":302,"context_line":"        consistencygroup.destroy()"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"    @staticmethod"},{"line_number":305,"context_line":"    def _create_cgsnapshot_request_body("},{"line_number":306,"context_line":"            consistencygroup_id,"},{"line_number":307,"context_line":"            name\u003d\"cg1\","}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_7a057f78","line":304,"range":{"start_line":304,"start_character":5,"end_line":304,"end_character":17},"in_reply_to":"7a1b2928_f73c4831","updated":"2016-04-19 06:45:35.000000000","message":"Good question! But I think static method is best fit here. \n\nThe method doesn\u0027t need \"self\" to work correctly. What it does is connected to the class-level rather than object-level. So I made it a static method.\n\nAlso, it is good practice to design smallest interface - as long as the method doesn\u0027t need \"self\", we don\u0027t pass it in.\n\nThanks for your review!","commit_id":"f6a730080440e2ec2705fe708fffe50bd22fc927"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"b4567209228032928b7b5a2186aa4c4355501d15","unresolved":false,"context_lines":[{"line_number":330,"context_line":"            self.context, consistencygroup_id\u003dconsistencygroup.id)"},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"        body \u003d CgsnapshotsAPITestCase \\"},{"line_number":333,"context_line":"            ._create_cgsnapshot_request_body(consistencygroup.id)"},{"line_number":334,"context_line":"        res, res_dict \u003d CgsnapshotsAPITestCase \\"},{"line_number":335,"context_line":"            ._create_cgsnapshot_from_web(body)"},{"line_number":336,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a061dce_d73cf394","line":333,"updated":"2016-04-07 18:32:25.000000000","message":"This should be formatted as\n\nbody \u003d CgsnapshotsAPITestCase._create_cgsnapshot_request_body(\n   consistencygroup.id)","commit_id":"f6a730080440e2ec2705fe708fffe50bd22fc927"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"fb6baba7fcc5096b69a80f943403d7ab3ab07263","unresolved":false,"context_lines":[{"line_number":330,"context_line":"            self.context, consistencygroup_id\u003dconsistencygroup.id)"},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"        body \u003d CgsnapshotsAPITestCase \\"},{"line_number":333,"context_line":"            ._create_cgsnapshot_request_body(consistencygroup.id)"},{"line_number":334,"context_line":"        res, res_dict \u003d CgsnapshotsAPITestCase \\"},{"line_number":335,"context_line":"            ._create_cgsnapshot_from_web(body)"},{"line_number":336,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_9a105baa","line":333,"in_reply_to":"9a061dce_37572fcb","updated":"2016-04-19 06:45:35.000000000","message":"Good catch!","commit_id":"f6a730080440e2ec2705fe708fffe50bd22fc927"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"deb715c59b3440397ec99e95220dd3282e5b4159","unresolved":false,"context_lines":[{"line_number":330,"context_line":"            self.context, consistencygroup_id\u003dconsistencygroup.id)"},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"        body \u003d CgsnapshotsAPITestCase \\"},{"line_number":333,"context_line":"            ._create_cgsnapshot_request_body(consistencygroup.id)"},{"line_number":334,"context_line":"        res, res_dict \u003d CgsnapshotsAPITestCase \\"},{"line_number":335,"context_line":"            ._create_cgsnapshot_from_web(body)"},{"line_number":336,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a061dce_37572fcb","line":333,"in_reply_to":"9a061dce_d73cf394","updated":"2016-04-07 18:32:52.000000000","message":"(And the same with the others below.)","commit_id":"f6a730080440e2ec2705fe708fffe50bd22fc927"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"0c8568ea3176e03be48b2922d0c7c570a97194e2","unresolved":false,"context_lines":[{"line_number":196,"context_line":"        return body"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    def _create_cgsnapshot_from_web(self, body):"},{"line_number":199,"context_line":"        req \u003d webob.Request.blank(\u0027/v2/%s/cgsnapshots\u0027 % fake.PROJECT_ID)"},{"line_number":200,"context_line":"        req.method \u003d \u0027POST\u0027"},{"line_number":201,"context_line":"        req.headers[\u0027Content-Type\u0027] \u003d \u0027application/json\u0027"},{"line_number":202,"context_line":"        req.headers[\u0027Accept\u0027] \u003d \u0027application/json\u0027"},{"line_number":203,"context_line":"        req.body \u003d jsonutils.dump_as_bytes(body)"},{"line_number":204,"context_line":"        res \u003d req.get_response(fakes.wsgi_app("},{"line_number":205,"context_line":"            fake_auth_context\u003dself.user_ctxt"},{"line_number":206,"context_line":"        ))"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        return res, jsonutils.loads(res.body)"},{"line_number":209,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_1d22ffb9","line":206,"range":{"start_line":199,"start_character":8,"end_line":206,"end_character":10},"updated":"2016-06-04 07:20:44.000000000","message":"This is repeated in many places; we could pass the path, method as input parameters and reduce code duplication further.","commit_id":"bd2d1a7758fc199135e94e3ba723720e474b4fe2"}]}
