)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"10b161840f534d0aac0cd60fc4db73db8cf5202b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Andre Aranha \u003cafaranha@lsd.ufcg.edu.br\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-10-16 17:46:52 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Extracting Method"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Refactoring to extract sample code use in tests to method."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"baa201ad_9e040519","line":7,"updated":"2014-10-16 17:54:43.000000000","message":"this comment doesn\u0027t tell us enough about whats going on, how about:\n\n  Refactor: create a helper function to create users","commit_id":"ccd56374a6fa355a3f0345c4abc966d69e3d7adb"},{"author":{"_account_id":10765,"name":"Andre Aranha","email":"afaranha@lsd.ufcg.edu.br","username":"afaranha"},"change_message_id":"f7e0eacd953e54f5cb10225d5fdd5e710ef371ad","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Andre Aranha \u003cafaranha@lsd.ufcg.edu.br\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-10-16 17:46:52 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Extracting Method"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Refactoring to extract sample code use in tests to method."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"baa201ad_01cd1831","line":7,"in_reply_to":"baa201ad_816588e2","updated":"2014-10-16 18:19:55.000000000","message":"Done","commit_id":"ccd56374a6fa355a3f0345c4abc966d69e3d7adb"},{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"0c92696af1ea4bc7e4250b5c82df438c5c936f88","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Andre Aranha \u003cafaranha@lsd.ufcg.edu.br\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-10-16 17:46:52 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Extracting Method"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Refactoring to extract sample code use in tests to method."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"baa201ad_816588e2","line":7,"in_reply_to":"baa201ad_9e040519","updated":"2014-10-16 17:58:29.000000000","message":"++","commit_id":"ccd56374a6fa355a3f0345c4abc966d69e3d7adb"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"7caf151801c2e8408b7e3ff58e8df62819dc0ee7","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Refactoring to extract sample code use in tests to method."},{"line_number":10,"context_line":"Every time a user is going to be created the user_ref, create"},{"line_number":11,"context_line":"and associate a password, crete the user in keystone and then"},{"line_number":12,"context_line":"assign again the password."},{"line_number":13,"context_line":"This patch provides a single method to be used when creating a"},{"line_number":14,"context_line":"user."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5a890539_f9ef0c85","line":11,"updated":"2014-11-24 08:10:27.000000000","message":"create","commit_id":"08315dbd88c5c95c386e215d12ef9a3cffd01efb"}],"keystone/tests/test_v3.py":[{"author":{"_account_id":10765,"name":"Andre Aranha","email":"afaranha@lsd.ufcg.edu.br","username":"afaranha"},"change_message_id":"5812ade8b884fbfdc6ad4df24daca67b32c6d50b","unresolved":false,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    def create_user(self, domain_id):"},{"line_number":194,"context_line":"        user \u003d self.new_user_ref(domain_id\u003ddomain_id)"},{"line_number":195,"context_line":"        password \u003d uuid.uuid4().hex"},{"line_number":196,"context_line":"        user[\u0027password\u0027] \u003d password"},{"line_number":197,"context_line":"        user \u003d self.identity_api.create_user(user)"},{"line_number":198,"context_line":"        user[\u0027password\u0027] \u003d password"}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_cc2d0791","line":195,"updated":"2014-10-16 18:28:29.000000000","message":"The variable \u0027password\u0027 is needed due to some tests that build an auth variable, like in here: https://github.com/openstack/keystone/blob/master/keystone/tests/test_v3_protection.py#L543","commit_id":"08315dbd88c5c95c386e215d12ef9a3cffd01efb"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"80ec75be6512a6f69c64818b12e38babffdca7c6","unresolved":false,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    def create_user(self, domain_id):"},{"line_number":194,"context_line":"        user \u003d self.new_user_ref(domain_id\u003ddomain_id)"},{"line_number":195,"context_line":"        password \u003d uuid.uuid4().hex"},{"line_number":196,"context_line":"        user[\u0027password\u0027] \u003d password"},{"line_number":197,"context_line":"        user \u003d self.identity_api.create_user(user)"},{"line_number":198,"context_line":"        user[\u0027password\u0027] \u003d password"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_522c68ac","line":195,"in_reply_to":"5a890539_1967784e","updated":"2014-11-24 17:16:52.000000000","message":"++ This comment is useful to anyone reading the code.","commit_id":"08315dbd88c5c95c386e215d12ef9a3cffd01efb"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"7caf151801c2e8408b7e3ff58e8df62819dc0ee7","unresolved":false,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    def create_user(self, domain_id):"},{"line_number":194,"context_line":"        user \u003d self.new_user_ref(domain_id\u003ddomain_id)"},{"line_number":195,"context_line":"        password \u003d uuid.uuid4().hex"},{"line_number":196,"context_line":"        user[\u0027password\u0027] \u003d password"},{"line_number":197,"context_line":"        user \u003d self.identity_api.create_user(user)"},{"line_number":198,"context_line":"        user[\u0027password\u0027] \u003d password"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_1967784e","line":195,"in_reply_to":"baa201ad_cc2d0791","updated":"2014-11-24 08:10:27.000000000","message":"If it is a comment not only for reviewers, add it to the code.","commit_id":"08315dbd88c5c95c386e215d12ef9a3cffd01efb"},{"author":{"_account_id":10765,"name":"Andre Aranha","email":"afaranha@lsd.ufcg.edu.br","username":"afaranha"},"change_message_id":"5812ade8b884fbfdc6ad4df24daca67b32c6d50b","unresolved":false,"context_lines":[{"line_number":195,"context_line":"        password \u003d uuid.uuid4().hex"},{"line_number":196,"context_line":"        user[\u0027password\u0027] \u003d password"},{"line_number":197,"context_line":"        user \u003d self.identity_api.create_user(user)"},{"line_number":198,"context_line":"        user[\u0027password\u0027] \u003d password"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        return user"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"baa201ad_4c591734","line":198,"updated":"2014-10-16 18:28:29.000000000","message":"The password used to build auth variables is get here.","commit_id":"08315dbd88c5c95c386e215d12ef9a3cffd01efb"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"80ec75be6512a6f69c64818b12e38babffdca7c6","unresolved":false,"context_lines":[{"line_number":195,"context_line":"        password \u003d uuid.uuid4().hex"},{"line_number":196,"context_line":"        user[\u0027password\u0027] \u003d password"},{"line_number":197,"context_line":"        user \u003d self.identity_api.create_user(user)"},{"line_number":198,"context_line":"        user[\u0027password\u0027] \u003d password"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        return user"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_724884b3","line":198,"in_reply_to":"5a890539_3958b489","updated":"2014-11-24 17:16:52.000000000","message":"I don\u0027t know that this is a valuable comment if the above one is phrased properly.","commit_id":"08315dbd88c5c95c386e215d12ef9a3cffd01efb"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"7caf151801c2e8408b7e3ff58e8df62819dc0ee7","unresolved":false,"context_lines":[{"line_number":195,"context_line":"        password \u003d uuid.uuid4().hex"},{"line_number":196,"context_line":"        user[\u0027password\u0027] \u003d password"},{"line_number":197,"context_line":"        user \u003d self.identity_api.create_user(user)"},{"line_number":198,"context_line":"        user[\u0027password\u0027] \u003d password"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        return user"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_3958b489","line":198,"in_reply_to":"baa201ad_4c591734","updated":"2014-11-24 08:10:27.000000000","message":"If it is a comment not only for reviewers, add it to the code.","commit_id":"08315dbd88c5c95c386e215d12ef9a3cffd01efb"}],"keystone/tests/test_v3_protection.py":[{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"4b9b58da6946e3fcd20bb8e2c55a3705e13af87b","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        self.user2 \u003d self._create_user(self.domainA[\u0027id\u0027])"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        self.user1 \u003d self._create_user(self.domainA[\u0027id\u0027])"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        self.group1 \u003d self.new_group_ref(domain_id\u003dself.domainA[\u0027id\u0027])"},{"line_number":88,"context_line":"        self.group1 \u003d self.identity_api.create_group(self.group1)"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_e14f3469","line":85,"updated":"2014-10-16 17:56:29.000000000","message":"You\u0027re creating the user1 twice. Change this for user3.","commit_id":"ccd56374a6fa355a3f0345c4abc966d69e3d7adb"},{"author":{"_account_id":8866,"name":"Raildo Mascena de Sousa Filho","email":"rmascena@redhat.com","username":"raildo"},"change_message_id":"0c92696af1ea4bc7e4250b5c82df438c5c936f88","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        self.user2 \u003d self._create_user(self.domainA[\u0027id\u0027])"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        self.user1 \u003d self._create_user(self.domainA[\u0027id\u0027])"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        self.group1 \u003d self.new_group_ref(domain_id\u003dself.domainA[\u0027id\u0027])"},{"line_number":88,"context_line":"        self.group1 \u003d self.identity_api.create_group(self.group1)"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_e1ebb410","line":85,"in_reply_to":"baa201ad_e14f3469","updated":"2014-10-16 17:58:29.000000000","message":"And before, the users 2 and 3 are creating in DomainB, not in DomainA.","commit_id":"ccd56374a6fa355a3f0345c4abc966d69e3d7adb"},{"author":{"_account_id":10765,"name":"Andre Aranha","email":"afaranha@lsd.ufcg.edu.br","username":"afaranha"},"change_message_id":"dfdb2c9c3f3db9a4c59c4b21a236d1ff3dfd7342","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        self.user2 \u003d self._create_user(self.domainA[\u0027id\u0027])"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        self.user1 \u003d self._create_user(self.domainA[\u0027id\u0027])"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        self.group1 \u003d self.new_group_ref(domain_id\u003dself.domainA[\u0027id\u0027])"},{"line_number":88,"context_line":"        self.group1 \u003d self.identity_api.create_group(self.group1)"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_c11310ff","line":85,"in_reply_to":"baa201ad_e14f3469","updated":"2014-10-16 18:05:44.000000000","message":"Done","commit_id":"ccd56374a6fa355a3f0345c4abc966d69e3d7adb"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"10b161840f534d0aac0cd60fc4db73db8cf5202b","unresolved":false,"context_lines":[{"line_number":367,"context_line":"        self.config_fixture.config("},{"line_number":368,"context_line":"            policy_file\u003dtests.dirs.etc(\u0027policy.v3cloudsample.json\u0027))"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"    def _create_user(self, domain_id):"},{"line_number":371,"context_line":"        user \u003d self.new_user_ref(domain_id\u003ddomain_id)"},{"line_number":372,"context_line":"        password \u003d uuid.uuid4().hex"},{"line_number":373,"context_line":"        user[\u0027password\u0027] \u003d password"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_1e43b56c","line":370,"updated":"2014-10-16 17:54:43.000000000","message":"maybe have this in test_v3.py there are lots of instances aside from test_v3_protection that do this. Some will change more than password though.","commit_id":"ccd56374a6fa355a3f0345c4abc966d69e3d7adb"},{"author":{"_account_id":10765,"name":"Andre Aranha","email":"afaranha@lsd.ufcg.edu.br","username":"afaranha"},"change_message_id":"dfdb2c9c3f3db9a4c59c4b21a236d1ff3dfd7342","unresolved":false,"context_lines":[{"line_number":367,"context_line":"        self.config_fixture.config("},{"line_number":368,"context_line":"            policy_file\u003dtests.dirs.etc(\u0027policy.v3cloudsample.json\u0027))"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"    def _create_user(self, domain_id):"},{"line_number":371,"context_line":"        user \u003d self.new_user_ref(domain_id\u003ddomain_id)"},{"line_number":372,"context_line":"        password \u003d uuid.uuid4().hex"},{"line_number":373,"context_line":"        user[\u0027password\u0027] \u003d password"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_61226453","line":370,"in_reply_to":"baa201ad_1e43b56c","updated":"2014-10-16 18:05:44.000000000","message":"Agreed, It\u0027s better in test_v3 inside RestfulTestCase class.","commit_id":"ccd56374a6fa355a3f0345c4abc966d69e3d7adb"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"10b161840f534d0aac0cd60fc4db73db8cf5202b","unresolved":false,"context_lines":[{"line_number":370,"context_line":"    def _create_user(self, domain_id):"},{"line_number":371,"context_line":"        user \u003d self.new_user_ref(domain_id\u003ddomain_id)"},{"line_number":372,"context_line":"        password \u003d uuid.uuid4().hex"},{"line_number":373,"context_line":"        user[\u0027password\u0027] \u003d password"},{"line_number":374,"context_line":"        user \u003d self.identity_api.create_user(user)"},{"line_number":375,"context_line":"        user[\u0027password\u0027] \u003d password"},{"line_number":376,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_fe68b1f6","line":373,"updated":"2014-10-16 17:54:43.000000000","message":"user[\u0027password\u0027] \u003d uuid.uuid4().hex","commit_id":"ccd56374a6fa355a3f0345c4abc966d69e3d7adb"},{"author":{"_account_id":10765,"name":"Andre Aranha","email":"afaranha@lsd.ufcg.edu.br","username":"afaranha"},"change_message_id":"dfdb2c9c3f3db9a4c59c4b21a236d1ff3dfd7342","unresolved":false,"context_lines":[{"line_number":370,"context_line":"    def _create_user(self, domain_id):"},{"line_number":371,"context_line":"        user \u003d self.new_user_ref(domain_id\u003ddomain_id)"},{"line_number":372,"context_line":"        password \u003d uuid.uuid4().hex"},{"line_number":373,"context_line":"        user[\u0027password\u0027] \u003d password"},{"line_number":374,"context_line":"        user \u003d self.identity_api.create_user(user)"},{"line_number":375,"context_line":"        user[\u0027password\u0027] \u003d password"},{"line_number":376,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_01d99856","line":373,"in_reply_to":"baa201ad_fe68b1f6","updated":"2014-10-16 18:05:44.000000000","message":"Done","commit_id":"ccd56374a6fa355a3f0345c4abc966d69e3d7adb"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"10b161840f534d0aac0cd60fc4db73db8cf5202b","unresolved":false,"context_lines":[{"line_number":371,"context_line":"        user \u003d self.new_user_ref(domain_id\u003ddomain_id)"},{"line_number":372,"context_line":"        password \u003d uuid.uuid4().hex"},{"line_number":373,"context_line":"        user[\u0027password\u0027] \u003d password"},{"line_number":374,"context_line":"        user \u003d self.identity_api.create_user(user)"},{"line_number":375,"context_line":"        user[\u0027password\u0027] \u003d password"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"        return user"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_7eada130","line":374,"updated":"2014-10-16 17:54:43.000000000","message":"you can just type:\n\n  return self.identity_api.create_user(user)","commit_id":"ccd56374a6fa355a3f0345c4abc966d69e3d7adb"},{"author":{"_account_id":10765,"name":"Andre Aranha","email":"afaranha@lsd.ufcg.edu.br","username":"afaranha"},"change_message_id":"dfdb2c9c3f3db9a4c59c4b21a236d1ff3dfd7342","unresolved":false,"context_lines":[{"line_number":371,"context_line":"        user \u003d self.new_user_ref(domain_id\u003ddomain_id)"},{"line_number":372,"context_line":"        password \u003d uuid.uuid4().hex"},{"line_number":373,"context_line":"        user[\u0027password\u0027] \u003d password"},{"line_number":374,"context_line":"        user \u003d self.identity_api.create_user(user)"},{"line_number":375,"context_line":"        user[\u0027password\u0027] \u003d password"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"        return user"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_21dcdc45","line":374,"in_reply_to":"baa201ad_7eada130","updated":"2014-10-16 18:05:44.000000000","message":"Done","commit_id":"ccd56374a6fa355a3f0345c4abc966d69e3d7adb"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"10b161840f534d0aac0cd60fc4db73db8cf5202b","unresolved":false,"context_lines":[{"line_number":372,"context_line":"        password \u003d uuid.uuid4().hex"},{"line_number":373,"context_line":"        user[\u0027password\u0027] \u003d password"},{"line_number":374,"context_line":"        user \u003d self.identity_api.create_user(user)"},{"line_number":375,"context_line":"        user[\u0027password\u0027] \u003d password"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"        return user"},{"line_number":378,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_be8c69d8","line":375,"updated":"2014-10-16 17:54:43.000000000","message":"this line seems unnecessary","commit_id":"ccd56374a6fa355a3f0345c4abc966d69e3d7adb"},{"author":{"_account_id":10765,"name":"Andre Aranha","email":"afaranha@lsd.ufcg.edu.br","username":"afaranha"},"change_message_id":"dfdb2c9c3f3db9a4c59c4b21a236d1ff3dfd7342","unresolved":false,"context_lines":[{"line_number":372,"context_line":"        password \u003d uuid.uuid4().hex"},{"line_number":373,"context_line":"        user[\u0027password\u0027] \u003d password"},{"line_number":374,"context_line":"        user \u003d self.identity_api.create_user(user)"},{"line_number":375,"context_line":"        user[\u0027password\u0027] \u003d password"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"        return user"},{"line_number":378,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_e1d5741c","line":375,"in_reply_to":"baa201ad_be8c69d8","updated":"2014-10-16 18:05:44.000000000","message":"Done","commit_id":"ccd56374a6fa355a3f0345c4abc966d69e3d7adb"}]}
