)]}'
{"tempest/api/identity/admin/v3/test_roles.py":[{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"b172e9528e22037ba62431b07ba448e1c173d8e7","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        super(RolesV3TestJSON, cls).setUpClass()"},{"line_number":30,"context_line":"        for _ in moves.xrange(5):"},{"line_number":31,"context_line":"            role_name \u003d data_utils.rand_name(name\u003d\u0027role-\u0027)"},{"line_number":32,"context_line":"            resp, role \u003d cls.client.create_role(role_name)"},{"line_number":33,"context_line":"            cls.data.v3_roles.append(role)"},{"line_number":34,"context_line":"        cls.fetched_role_ids \u003d list()"},{"line_number":35,"context_line":"        u_name \u003d data_utils.rand_name(\u0027user-\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7adec928_d95d0617","line":32,"updated":"2014-05-16 14:06:32.000000000","message":"unused variable \u0027resp\u0027","commit_id":"445190a260e4bcaa4007add9298d4d6bebf69b15"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"d411c64375cafe4fc9493290faed973920efa857","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        super(RolesV3TestJSON, cls).setUpClass()"},{"line_number":30,"context_line":"        for _ in moves.xrange(5):"},{"line_number":31,"context_line":"            role_name \u003d data_utils.rand_name(name\u003d\u0027role-\u0027)"},{"line_number":32,"context_line":"            resp, role \u003d cls.client.create_role(role_name)"},{"line_number":33,"context_line":"            cls.data.v3_roles.append(role)"},{"line_number":34,"context_line":"        cls.fetched_role_ids \u003d list()"},{"line_number":35,"context_line":"        u_name \u003d data_utils.rand_name(\u0027user-\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7adec928_1eb9d478","line":32,"in_reply_to":"7adec928_d95d0617","updated":"2014-05-19 10:23:56.000000000","message":"Done","commit_id":"445190a260e4bcaa4007add9298d4d6bebf69b15"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"b172e9528e22037ba62431b07ba448e1c173d8e7","unresolved":false,"context_lines":[{"line_number":195,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":196,"context_line":"    def test_list_roles(self):"},{"line_number":197,"context_line":"        # Return a list of all roles"},{"line_number":198,"context_line":"        resp, body \u003d self.client.list_roles()"},{"line_number":199,"context_line":"        found \u003d [role for role in body if role in self.data.v3_roles]"},{"line_number":200,"context_line":"        self.assertTrue(any(found))"},{"line_number":201,"context_line":"        self.assertEqual(len(found), len(self.data.v3_roles))"}],"source_content_type":"text/x-python","patch_set":6,"id":"7adec928_197cce82","line":198,"updated":"2014-05-16 14:06:32.000000000","message":"unused variable \u0027resp\u0027","commit_id":"445190a260e4bcaa4007add9298d4d6bebf69b15"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"d411c64375cafe4fc9493290faed973920efa857","unresolved":false,"context_lines":[{"line_number":195,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":196,"context_line":"    def test_list_roles(self):"},{"line_number":197,"context_line":"        # Return a list of all roles"},{"line_number":198,"context_line":"        resp, body \u003d self.client.list_roles()"},{"line_number":199,"context_line":"        found \u003d [role for role in body if role in self.data.v3_roles]"},{"line_number":200,"context_line":"        self.assertTrue(any(found))"},{"line_number":201,"context_line":"        self.assertEqual(len(found), len(self.data.v3_roles))"}],"source_content_type":"text/x-python","patch_set":6,"id":"7adec928_3eb3f098","line":198,"in_reply_to":"7adec928_197cce82","updated":"2014-05-19 10:23:56.000000000","message":"Done","commit_id":"445190a260e4bcaa4007add9298d4d6bebf69b15"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"48e06354ec5fd2151aecf95dfa184a74753174a8","unresolved":false,"context_lines":[{"line_number":197,"context_line":"        # Return a list of all roles"},{"line_number":198,"context_line":"        _, body \u003d self.client.list_roles()"},{"line_number":199,"context_line":"        found \u003d [role for role in body if role in self.data.v3_roles]"},{"line_number":200,"context_line":"        self.assertTrue(any(found))"},{"line_number":201,"context_line":"        self.assertEqual(len(found), len(self.data.v3_roles))"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7adec928_c12aee2b","line":200,"updated":"2014-05-21 09:27:21.000000000","message":"This line probably could be removed as line 201 also checks it.","commit_id":"58511fbd84d06ef1f67b81d08ded329b85a80abb"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"d3a04e3fcc5324416cc198bfa3bf4e0a52586b43","unresolved":false,"context_lines":[{"line_number":197,"context_line":"        # Return a list of all roles"},{"line_number":198,"context_line":"        _, body \u003d self.client.list_roles()"},{"line_number":199,"context_line":"        found \u003d [role for role in body if role in self.data.v3_roles]"},{"line_number":200,"context_line":"        self.assertTrue(any(found))"},{"line_number":201,"context_line":"        self.assertEqual(len(found), len(self.data.v3_roles))"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7adec928_25bffed1","line":200,"in_reply_to":"7adec928_c12aee2b","updated":"2014-05-22 07:21:39.000000000","message":"Done","commit_id":"58511fbd84d06ef1f67b81d08ded329b85a80abb"},{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"9cdfba84a1b7a46d43d65581b9555e70ab673772","unresolved":false,"context_lines":[{"line_number":195,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":196,"context_line":"    def test_list_roles(self):"},{"line_number":197,"context_line":"        # Return a list of all roles"},{"line_number":198,"context_line":"        _, body \u003d self.client.list_roles()"},{"line_number":199,"context_line":"        found \u003d [role for role in body if role in self.data.v3_roles]"},{"line_number":200,"context_line":"        self.assertEqual(len(found), len(self.data.v3_roles))"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_d72b7192","line":198,"updated":"2014-05-22 08:12:22.000000000","message":"I think it would be better to check and validate the response code instead of ignoring it.","commit_id":"48aa40b102cf070992bf1def43af0d8eac6de207"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"6c97d641b35914ac09b5e0ffafed41c271c2c408","unresolved":false,"context_lines":[{"line_number":195,"context_line":"    @test.attr(type\u003d\u0027gate\u0027)"},{"line_number":196,"context_line":"    def test_list_roles(self):"},{"line_number":197,"context_line":"        # Return a list of all roles"},{"line_number":198,"context_line":"        _, body \u003d self.client.list_roles()"},{"line_number":199,"context_line":"        found \u003d [role for role in body if role in self.data.v3_roles]"},{"line_number":200,"context_line":"        self.assertEqual(len(found), len(self.data.v3_roles))"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"7adec928_263b81ec","line":198,"in_reply_to":"7adec928_d72b7192","updated":"2014-05-22 11:29:27.000000000","message":"Done","commit_id":"48aa40b102cf070992bf1def43af0d8eac6de207"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"cda73c407d503e070296dac9f6275e3b758f6048","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    @test.safe_setup"},{"line_number":28,"context_line":"    def setUpClass(cls):"},{"line_number":29,"context_line":"        super(RolesV3TestJSON, cls).setUpClass()"},{"line_number":30,"context_line":"        for _ in moves.xrange(5):"},{"line_number":31,"context_line":"            role_name \u003d data_utils.rand_name(name\u003d\u0027role-\u0027)"},{"line_number":32,"context_line":"            _, role \u003d cls.client.create_role(role_name)"},{"line_number":33,"context_line":"            cls.data.v3_roles.append(role)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1ae5cdf2_4fc44640","line":30,"updated":"2014-05-30 14:22:17.000000000","message":"I think three roles would be enough here.","commit_id":"8f9c5e1ea4a654d089d12b6ba85949f30b1b79b7"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"6a547522bf64d57b2533a6e4cc1c3318aa1f75fe","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    @test.safe_setup"},{"line_number":28,"context_line":"    def setUpClass(cls):"},{"line_number":29,"context_line":"        super(RolesV3TestJSON, cls).setUpClass()"},{"line_number":30,"context_line":"        for _ in moves.xrange(5):"},{"line_number":31,"context_line":"            role_name \u003d data_utils.rand_name(name\u003d\u0027role-\u0027)"},{"line_number":32,"context_line":"            _, role \u003d cls.client.create_role(role_name)"},{"line_number":33,"context_line":"            cls.data.v3_roles.append(role)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1ae5cdf2_812d1149","line":30,"in_reply_to":"1ae5cdf2_4fc44640","updated":"2014-06-02 08:49:20.000000000","message":"Done","commit_id":"8f9c5e1ea4a654d089d12b6ba85949f30b1b79b7"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"fa292f45921af23386f76deba3d5876fcbc54be5","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    @test.safe_setup"},{"line_number":28,"context_line":"    def setUpClass(cls):"},{"line_number":29,"context_line":"        super(RolesV3TestJSON, cls).setUpClass()"},{"line_number":30,"context_line":"        for _ in moves.xrange(3):"},{"line_number":31,"context_line":"            role_name \u003d data_utils.rand_name(name\u003d\u0027role-\u0027)"},{"line_number":32,"context_line":"            _, role \u003d cls.client.create_role(role_name)"},{"line_number":33,"context_line":"            cls.data.v3_roles.append(role)"}],"source_content_type":"text/x-python","patch_set":12,"id":"1ae5cdf2_a3a8fedb","line":30,"updated":"2014-06-04 08:36:11.000000000","message":"Can we use just range() instead of six.moves.xrange() here?\nOr should we always use six module?","commit_id":"269e560bfb07a1935e106de78ef3a6acb05575b2"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"82d08e2f6002a8fda92f0d19e46204cddc2d2bf8","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    @test.safe_setup"},{"line_number":28,"context_line":"    def setUpClass(cls):"},{"line_number":29,"context_line":"        super(RolesV3TestJSON, cls).setUpClass()"},{"line_number":30,"context_line":"        for _ in moves.xrange(3):"},{"line_number":31,"context_line":"            role_name \u003d data_utils.rand_name(name\u003d\u0027role-\u0027)"},{"line_number":32,"context_line":"            _, role \u003d cls.client.create_role(role_name)"},{"line_number":33,"context_line":"            cls.data.v3_roles.append(role)"}],"source_content_type":"text/x-python","patch_set":12,"id":"1ae5cdf2_52db4b7b","line":30,"in_reply_to":"1ae5cdf2_a3a8fedb","updated":"2014-06-05 15:48:58.000000000","message":"I agree with Masayuki here. The list is 3 elements long, range vs xrange makes no sense, thus using moves.xrange is just \"heavy\" for little benefit.","commit_id":"269e560bfb07a1935e106de78ef3a6acb05575b2"}],"tempest/api/identity/admin/v3/test_roles_negative.py":[{"author":{"_account_id":10966,"name":"Abhijeet Jain","email":"abhijeetjpjain@gmail.com","username":"Abhijeet.Jain"},"change_message_id":"d6b226f7a320041c20c7f54e24b3c89b005c169d","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"import uuid"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from tempest.api.identity import base"},{"line_number":18,"context_line":"from tempest.common.utils import data_utils"},{"line_number":19,"context_line":"from tempest import exceptions"}],"source_content_type":"text/x-python","patch_set":7,"id":"7adec928_346b0fb8","line":16,"updated":"2014-05-19 11:36:43.000000000","message":"Negative tests are no longer accepted.\nhttp://lists.openstack.org/pipermail/openstack-dev/2013-November/018748.html","commit_id":"77c91969e449eba5515f36ff0210ac158c170c62"}]}
