)]}'
{"patrole_tempest_plugin/tests/api/compute/test_flavor_extra_specs_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    def test_update_flavor_extra_spec(self):"},{"line_number":83,"context_line":"        key \u003d self._set_flavor_extra_spec()"},{"line_number":84,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":85,"context_line":"        update_val \u003d data_utils.rand_name(self.__class__.__name__ + \u0027-val\u0027)"},{"line_number":86,"context_line":"        self.client.update_flavor_extra_spec(self.flavor[\u0027id\u0027], key,"},{"line_number":87,"context_line":"                                             **{key: update_val})[key]"},{"line_number":88,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_1ffede36","line":85,"range":{"start_line":85,"start_character":8,"end_line":85,"end_character":75},"updated":"2017-05-16 16:59:43.000000000","message":"I don\u0027t think it\u0027s necessary to do it here, but then again, there\u0027s no harm in doing this.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"}],"patrole_tempest_plugin/tests/api/identity/rbac_base.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        \"\"\"Creates a service and an endpoint for test.\"\"\""},{"line_number":78,"context_line":"        interface \u003d \u0027public\u0027"},{"line_number":79,"context_line":"        url \u003d data_utils.rand_url()"},{"line_number":80,"context_line":"        region_name \u003d data_utils.rand_name(cls.__name__ +"},{"line_number":81,"context_line":"                                           \u0027-region\u0027)"},{"line_number":82,"context_line":"        # Endpoint creation requires a service"},{"line_number":83,"context_line":"        if service is None:"},{"line_number":84,"context_line":"            service \u003d cls.setup_test_service()"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_1f937efc","line":81,"range":{"start_line":80,"start_character":43,"end_line":81,"end_character":53},"updated":"2017-05-16 16:59:43.000000000","message":"nit: May we put this all on one line?","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        name \u003d data_utils.rand_name(cls.__name__ + \u0027-test_tenant\u0027)"},{"line_number":200,"context_line":"        tenant \u003d cls.tenants_client.create_tenant("},{"line_number":201,"context_line":"            name\u003dname,"},{"line_number":202,"context_line":"            description\u003ddata_utils.rand_name(cls.__name__ +"},{"line_number":203,"context_line":"                                             \u0027-desc\u0027))[\u0027tenant\u0027]"},{"line_number":204,"context_line":"        cls.tenants.append(tenant)"},{"line_number":205,"context_line":"        return tenant"},{"line_number":206,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_5f8906c8","line":203,"range":{"start_line":202,"start_character":45,"end_line":203,"end_character":64},"updated":"2017-05-16 16:59:43.000000000","message":"nit: May we put this all on L203 (same line). It looks kind of b ad this way.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":294,"context_line":"        \"\"\"Set up a test domain.\"\"\""},{"line_number":295,"context_line":"        domain \u003d cls.domains_client.create_domain("},{"line_number":296,"context_line":"            name\u003ddata_utils.rand_name(cls.__name__ + \u0027-test_domain\u0027),"},{"line_number":297,"context_line":"            description\u003ddata_utils.rand_name(cls.__name__ +"},{"line_number":298,"context_line":"                                             \u0027-desc\u0027))[\u0027domain\u0027]"},{"line_number":299,"context_line":"        cls.domains.append(domain)"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"        return domain"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_dfbe3664","line":298,"range":{"start_line":297,"start_character":45,"end_line":298,"end_character":64},"updated":"2017-05-16 16:59:43.000000000","message":"See above.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":313,"context_line":"    def setup_test_policy(cls):"},{"line_number":314,"context_line":"        \"\"\"Creates a policy for test.\"\"\""},{"line_number":315,"context_line":"        blob \u003d data_utils.rand_name(cls.__name__ + \u0027-test_blob\u0027)"},{"line_number":316,"context_line":"        policy_type \u003d data_utils.rand_name(cls.__name__ +"},{"line_number":317,"context_line":"                                           \u0027-policy_type\u0027)"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"        policy \u003d cls.policies_client.create_policy("},{"line_number":320,"context_line":"            blob\u003dblob,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_bfc12ae7","line":317,"range":{"start_line":316,"start_character":43,"end_line":317,"end_character":58},"updated":"2017-05-16 16:59:43.000000000","message":"See above.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":330,"context_line":"        project \u003d cls.projects_client.create_project("},{"line_number":331,"context_line":"            name\u003ddata_utils.rand_name(cls.__name__ +"},{"line_number":332,"context_line":"                                      \u0027-testproject\u0027),"},{"line_number":333,"context_line":"            description\u003ddata_utils.rand_name(cls.__name__ +"},{"line_number":334,"context_line":"                                             \u0027-desc\u0027))[\u0027project\u0027]"},{"line_number":335,"context_line":"        cls.projects.append(project)"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"        return project"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_9fb8ae76","line":334,"range":{"start_line":333,"start_character":45,"end_line":334,"end_character":65},"updated":"2017-05-16 16:59:43.000000000","message":"See above.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":339,"context_line":"    @classmethod"},{"line_number":340,"context_line":"    def setup_test_region(cls):"},{"line_number":341,"context_line":"        \"\"\"Creates a region for test.\"\"\""},{"line_number":342,"context_line":"        description \u003d data_utils.rand_name(cls.__name__ +"},{"line_number":343,"context_line":"                                           \u0027-test_region_desc\u0027)"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"        region \u003d cls.regions_client.create_region("},{"line_number":346,"context_line":"            description\u003ddescription)[\u0027region\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_7fbba271","line":343,"range":{"start_line":342,"start_character":43,"end_line":343,"end_character":63},"updated":"2017-05-16 16:59:43.000000000","message":"See above.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"}],"patrole_tempest_plugin/tests/api/identity/v3/test_domains_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    @decorators.idempotent_id(\u00276bdaecd4-0843-4ed6-ab64-3a57ab0cd111\u0027)"},{"line_number":35,"context_line":"    def test_update_domain(self):"},{"line_number":36,"context_line":"        domain \u003d self.setup_test_domain()"},{"line_number":37,"context_line":"        new_domain_name \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":38,"context_line":"                                               \u0027-test_update_domain\u0027)"},{"line_number":39,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":40,"context_line":"        self.domains_client.update_domain(domain[\u0027id\u0027],"},{"line_number":41,"context_line":"                                          domain\u003ddomain,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_5fb22696","line":38,"range":{"start_line":37,"start_character":47,"end_line":38,"end_character":69},"updated":"2017-05-16 16:59:43.000000000","message":"See above.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"}],"patrole_tempest_plugin/tests/api/identity/v3/test_groups_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    @decorators.idempotent_id(\u0027790fb7be-a657-4a64-9b83-c43425cf180b\u0027)"},{"line_number":42,"context_line":"    def test_update_group(self):"},{"line_number":43,"context_line":"        group \u003d self.setup_test_group()"},{"line_number":44,"context_line":"        new_group_name \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":45,"context_line":"                                              \u0027-group\u0027)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":48,"context_line":"        self.groups_client.update_group(group[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_3fad1a31","line":45,"range":{"start_line":44,"start_character":46,"end_line":45,"end_character":55},"updated":"2017-05-16 16:59:43.000000000","message":"See above.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"}],"patrole_tempest_plugin/tests/api/identity/v3/test_oauth_consumers_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":24,"context_line":"class IdentityConsumersV3RbacTest(rbac_base.BaseIdentityV3RbacTest):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def _create_consumer(self):"},{"line_number":27,"context_line":"        description \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":28,"context_line":"                                           \u0027-test_consumer\u0027)"},{"line_number":29,"context_line":"        consumer \u003d self.consumers_client.create_consumer("},{"line_number":30,"context_line":"            description)[\u0027consumer\u0027]"},{"line_number":31,"context_line":"        self.addCleanup(test_utils.call_and_ignore_notfound_exc,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_1fac9e32","line":28,"range":{"start_line":27,"start_character":43,"end_line":28,"end_character":60},"updated":"2017-05-16 16:59:43.000000000","message":"nit: can be placed on some line.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    @decorators.idempotent_id(\u00270f148510-63bf-11e6-4522-080044d0d972\u0027)"},{"line_number":55,"context_line":"    def test_update_consumer(self):"},{"line_number":56,"context_line":"        consumer \u003d self._create_consumer()"},{"line_number":57,"context_line":"        new_description \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":58,"context_line":"                                               \u0027-test_consumer\u0027)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":61,"context_line":"        self.consumers_client.update_consumer(consumer[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_9f6d4e06","line":58,"range":{"start_line":57,"start_character":47,"end_line":58,"end_character":64},"updated":"2017-05-16 16:59:43.000000000","message":"See above.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"}],"patrole_tempest_plugin/tests/api/identity/v3/test_policies_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    @decorators.idempotent_id(\u00279cfed3c6-0b27-4d15-be67-e06e0cfb01b9\u0027)"},{"line_number":35,"context_line":"    def test_update_policy(self):"},{"line_number":36,"context_line":"        policy \u003d self.setup_test_policy()"},{"line_number":37,"context_line":"        updated_policy_type \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":38,"context_line":"                                                   \u0027-policy_type\u0027)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":41,"context_line":"        self.policies_client.update_policy(policy[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_3f72bae4","line":38,"range":{"start_line":37,"start_character":51,"end_line":38,"end_character":66},"updated":"2017-05-16 16:59:43.000000000","message":"Can be placed on same line.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"}],"patrole_tempest_plugin/tests/api/identity/v3/test_projects_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    @decorators.idempotent_id(\u00270f148510-63bf-11e6-1564-080044d0d905\u0027)"},{"line_number":35,"context_line":"    def test_update_project(self):"},{"line_number":36,"context_line":"        project \u003d self.setup_test_project()"},{"line_number":37,"context_line":"        new_desc \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":38,"context_line":"                                        \u0027-description\u0027)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":41,"context_line":"        self.projects_client.update_project(project[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_ff7b32bb","line":38,"range":{"start_line":37,"start_character":39,"end_line":38,"end_character":55},"updated":"2017-05-16 16:59:43.000000000","message":"Can be placed on same line.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"}],"patrole_tempest_plugin/tests/api/identity/v3/test_regions_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    @decorators.idempotent_id(\u00276bdaecd4-0843-4ed6-ab64-3a57ab0cd120\u0027)"},{"line_number":35,"context_line":"    def test_update_region(self):"},{"line_number":36,"context_line":"        region \u003d self.setup_test_region()"},{"line_number":37,"context_line":"        new_description \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":38,"context_line":"                                               \u0027-test_update_region\u0027)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":41,"context_line":"        self.regions_client.update_region(region[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_df4cf69f","line":38,"range":{"start_line":37,"start_character":47,"end_line":38,"end_character":69},"updated":"2017-05-16 16:59:43.000000000","message":"Can be placed on same line.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"}],"patrole_tempest_plugin/tests/api/identity/v3/test_roles_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":44,"context_line":"                                 rule\u003d\"identity:update_role\")"},{"line_number":45,"context_line":"    @decorators.idempotent_id(\u00270f148510-63bf-11e6-1395-080044d0d905\u0027)"},{"line_number":46,"context_line":"    def test_update_role(self):"},{"line_number":47,"context_line":"        new_role_name \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":48,"context_line":"                                             \u0027-test_update_role\u0027)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":51,"context_line":"        self.roles_client.update_role(self.role[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_bf4fea90","line":48,"range":{"start_line":47,"start_character":45,"end_line":48,"end_character":65},"updated":"2017-05-16 16:59:43.000000000","message":"Can be placed on same line.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"}],"patrole_tempest_plugin/tests/api/identity/v3/test_users_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    @decorators.idempotent_id(\u00270f148510-63bf-11e6-4522-080044d0d905\u0027)"},{"line_number":40,"context_line":"    def test_update_user(self):"},{"line_number":41,"context_line":"        user \u003d self.setup_test_user()"},{"line_number":42,"context_line":"        new_email \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":43,"context_line":"                                         \u0027-user_email\u0027)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":46,"context_line":"        self.users_client.update_user(user[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_5f60e601","line":43,"range":{"start_line":42,"start_character":41,"end_line":43,"end_character":55},"updated":"2017-05-16 16:59:43.000000000","message":"Can be placed on same line.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"}],"patrole_tempest_plugin/tests/api/image/v2/test_image_namespace_objects_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":36,"context_line":"        # create a md object, it will be cleaned automatically after"},{"line_number":37,"context_line":"        # cleanup of namespace"},{"line_number":38,"context_line":"        object_name \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":39,"context_line":"                                           \u0027-test-object\u0027)"},{"line_number":40,"context_line":"        self.namespace_objects_client.create_namespace_object("},{"line_number":41,"context_line":"            namespace[\u0027namespace\u0027],"},{"line_number":42,"context_line":"            name\u003dobject_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_1f5a5e4e","line":39,"range":{"start_line":38,"start_character":43,"end_line":39,"end_character":58},"updated":"2017-05-16 16:59:43.000000000","message":"Can be placed on same line.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        RBAC test for the glance modify_metadef_object policy"},{"line_number":68,"context_line":"        \"\"\""},{"line_number":69,"context_line":"        namespace \u003d self.create_namespace()"},{"line_number":70,"context_line":"        object_name \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":71,"context_line":"                                           \u0027-test-object\u0027)"},{"line_number":72,"context_line":"        self.namespace_objects_client.create_namespace_object("},{"line_number":73,"context_line":"            namespace[\u0027namespace\u0027],"},{"line_number":74,"context_line":"            name\u003dobject_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_bf348afc","line":71,"range":{"start_line":70,"start_character":43,"end_line":71,"end_character":58},"updated":"2017-05-16 16:59:43.000000000","message":"Can be placed on same line.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        RBAC test for the glance get_metadef_object policy"},{"line_number":92,"context_line":"        \"\"\""},{"line_number":93,"context_line":"        namespace \u003d self.create_namespace()"},{"line_number":94,"context_line":"        object_name \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":95,"context_line":"                                           \u0027-test-object\u0027)"},{"line_number":96,"context_line":"        self.namespace_objects_client.create_namespace_object("},{"line_number":97,"context_line":"            namespace[\u0027namespace\u0027],"},{"line_number":98,"context_line":"            name\u003dobject_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_9f3b0eea","line":95,"range":{"start_line":94,"start_character":43,"end_line":95,"end_character":58},"updated":"2017-05-16 16:59:43.000000000","message":"Can be placed on same line.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"}],"patrole_tempest_plugin/tests/api/image/v2/test_image_namespace_property_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        \"\"\""},{"line_number":39,"context_line":"        namespace \u003d self.create_namespace()"},{"line_number":40,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":41,"context_line":"        property_name \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":42,"context_line":"                                             \u0027-test-ns-property\u0027)"},{"line_number":43,"context_line":"        self.namespace_properties_client.create_namespace_property("},{"line_number":44,"context_line":"            namespace\u003dnamespace[\u0027namespace\u0027], type\u003d\"string\","},{"line_number":45,"context_line":"            title\u003dproperty_name, name\u003dself.resource_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_7f3e02db","line":42,"range":{"start_line":41,"start_character":45,"end_line":42,"end_character":65},"updated":"2017-05-16 16:59:43.000000000","message":"Can be placed on same line.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        RBAC test for the glance get_metadef_property policy"},{"line_number":67,"context_line":"        \"\"\""},{"line_number":68,"context_line":"        namespace \u003d self.create_namespace()"},{"line_number":69,"context_line":"        property_name \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":70,"context_line":"                                             \u0027-test-ns-property\u0027)"},{"line_number":71,"context_line":"        self.namespace_properties_client.create_namespace_property("},{"line_number":72,"context_line":"            namespace\u003dnamespace[\u0027namespace\u0027], type\u003d\"string\","},{"line_number":73,"context_line":"            title\u003dproperty_name, name\u003dself.resource_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_5f2586c1","line":70,"range":{"start_line":69,"start_character":45,"end_line":70,"end_character":65},"updated":"2017-05-16 16:59:43.000000000","message":"Can be placed on same line.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        RBAC test for the glance modify_metadef_property policy"},{"line_number":86,"context_line":"        \"\"\""},{"line_number":87,"context_line":"        namespace \u003d self.create_namespace()"},{"line_number":88,"context_line":"        property_name \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":89,"context_line":"                                             \u0027-test-ns-property\u0027)"},{"line_number":90,"context_line":"        self.namespace_properties_client.create_namespace_property("},{"line_number":91,"context_line":"            namespace\u003dnamespace[\u0027namespace\u0027], type\u003d\"string\","},{"line_number":92,"context_line":"            title\u003dproperty_name, name\u003dself.resource_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_3f207ab0","line":89,"range":{"start_line":88,"start_character":45,"end_line":89,"end_character":65},"updated":"2017-05-16 16:59:43.000000000","message":"Can be placed on same line.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"}],"patrole_tempest_plugin/tests/api/image/v2/test_image_namespace_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"        RBAC test for the glance add_metadef_namespace policy"},{"line_number":33,"context_line":"        \"\"\""},{"line_number":34,"context_line":"        namespace_name \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":35,"context_line":"                                              \u0027-test-ns\u0027)"},{"line_number":36,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":37,"context_line":"        self.namespaces_client.create_namespace("},{"line_number":38,"context_line":"            namespace\u003dnamespace_name,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_1f2ffea1","line":35,"range":{"start_line":34,"start_character":46,"end_line":35,"end_character":57},"updated":"2017-05-16 16:59:43.000000000","message":"Can be placed on same line.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        RBAC test for the glance modify_metadef_namespace policy"},{"line_number":63,"context_line":"        \"\"\""},{"line_number":64,"context_line":"        namespace_name \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":65,"context_line":"                                              \u0027-test-ns\u0027)"},{"line_number":66,"context_line":"        body \u003d self.namespaces_client.create_namespace("},{"line_number":67,"context_line":"            namespace\u003dnamespace_name,"},{"line_number":68,"context_line":"            protected\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_9f142e50","line":65,"range":{"start_line":64,"start_character":46,"end_line":65,"end_character":57},"updated":"2017-05-16 16:59:43.000000000","message":"Can be placed on same line.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"}],"patrole_tempest_plugin/tests/api/image/v2/test_image_namespace_tags_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    def resource_setup(cls):"},{"line_number":43,"context_line":"        super(NamespaceTagsRbacTest, cls).resource_setup()"},{"line_number":44,"context_line":"        cls.namespace \u003d cls.namespaces_client.create_namespace("},{"line_number":45,"context_line":"            namespace\u003ddata_utils.rand_name(cls.__name__ +"},{"line_number":46,"context_line":"                                           \u0027-namespace\u0027))[\u0027namespace\u0027]"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    @classmethod"},{"line_number":49,"context_line":"    def resource_cleanup(cls):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_5f0ea63b","line":46,"range":{"start_line":45,"start_character":43,"end_line":46,"end_character":70},"updated":"2017-05-16 16:59:43.000000000","message":"Can be placed on same line.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":92,"context_line":"                                 rule\u003d\"modify_metadef_tag\")"},{"line_number":93,"context_line":"    def test_update_namespace_tag(self):"},{"line_number":94,"context_line":"        tag_name \u003d self._create_namespace_tag()"},{"line_number":95,"context_line":"        updated_tag_name \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":96,"context_line":"                                                \u0027-tag\u0027)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":99,"context_line":"        self.client.update_namespace_tag(self.namespace, tag_name,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_b2028108","line":96,"range":{"start_line":95,"start_character":48,"end_line":96,"end_character":55},"updated":"2017-05-16 16:59:43.000000000","message":"Can be placed on same line.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"}],"patrole_tempest_plugin/tests/api/image/v2/test_image_resource_types_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    @classmethod"},{"line_number":27,"context_line":"    def resource_setup(cls):"},{"line_number":28,"context_line":"        super(ImageResourceTypesRbacTest, cls).resource_setup()"},{"line_number":29,"context_line":"        cls.namespace_name \u003d data_utils.rand_name(cls.__name__ +"},{"line_number":30,"context_line":"                                                  \u0027test-ns\u0027)"},{"line_number":31,"context_line":"        cls.namespaces_client.create_namespace("},{"line_number":32,"context_line":"            namespace\u003dcls.namespace_name,"},{"line_number":33,"context_line":"            protected\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_720cf93a","line":30,"range":{"start_line":29,"start_character":50,"end_line":30,"end_character":60},"updated":"2017-05-16 16:59:43.000000000","message":"Can be placed on same line.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"}],"patrole_tempest_plugin/tests/api/image/v2/test_images_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        image \u003d self._create_image()"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":138,"context_line":"        updated_image_name \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":139,"context_line":"                                                  \u0027-image\u0027)"},{"line_number":140,"context_line":"        self.client.update_image(image[\u0027id\u0027], ["},{"line_number":141,"context_line":"            dict(replace\u003d\u0027/name\u0027, value\u003dupdated_image_name)])"},{"line_number":142,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_52133d5d","line":139,"range":{"start_line":138,"start_character":50,"end_line":139,"end_character":59},"updated":"2017-05-16 16:59:43.000000000","message":"Can be placed on same line.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":153,"context_line":""},{"line_number":154,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":155,"context_line":"        self.client.add_image_tag(image[\u0027id\u0027],"},{"line_number":156,"context_line":"                                  data_utils.rand_name(self.__class__.__name__"},{"line_number":157,"context_line":"                                                       + \u0027-tag\u0027))"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    @decorators.idempotent_id(\u0027c4a0bf9c-b78b-48c6-a31f-72c95f943c6e\u0027)"},{"line_number":160,"context_line":"    @rbac_rule_validation.action(service\u003d\"glance\","}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_320e7132","line":157,"range":{"start_line":156,"start_character":55,"end_line":157,"end_character":65},"updated":"2017-05-16 16:59:43.000000000","message":"Can be placed on same line.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"}],"patrole_tempest_plugin/tests/api/network/test_networks_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    def resource_setup(cls):"},{"line_number":34,"context_line":"        super(RbacNetworksTest, cls).resource_setup()"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        network_name \u003d data_utils.rand_name(cls.__name__ +"},{"line_number":37,"context_line":"                                            \u0027-rbac-admin-network-\u0027)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        post_body \u003d {\u0027name\u0027: network_name}"},{"line_number":40,"context_line":"        body \u003d cls.networks_client.create_network(**post_body)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_f217e944","line":37,"range":{"start_line":36,"start_character":44,"end_line":37,"end_character":67},"updated":"2017-05-16 16:59:43.000000000","message":"Can be placed on same line.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                        provider_physical_network\u003dNone,"},{"line_number":67,"context_line":"                        provider_segmentation_id\u003dNone):"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        network_name \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":70,"context_line":"                                            \u0027-test-network-\u0027)"},{"line_number":71,"context_line":"        post_body \u003d {\u0027name\u0027: network_name}"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        if shared is not None:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_d2286d87","line":70,"range":{"start_line":69,"start_character":44,"end_line":70,"end_character":61},"updated":"2017-05-16 16:59:43.000000000","message":"Can be placed on same line.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"}],"patrole_tempest_plugin/tests/api/volume/test_user_messages_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def _create_user_message(self):"},{"line_number":38,"context_line":"        \"\"\"Trigger a \u0027no valid host\u0027 situation to generate a message.\"\"\""},{"line_number":39,"context_line":"        bad_protocol \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":40,"context_line":"                                            \u0027-storage_protocol\u0027)"},{"line_number":41,"context_line":"        bad_vendor \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":42,"context_line":"                                          \u0027-vendor_name\u0027)"},{"line_number":43,"context_line":"        extra_specs \u003d {\u0027storage_protocol\u0027: bad_protocol,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_9222e5a3","line":40,"range":{"start_line":39,"start_character":44,"end_line":40,"end_character":64},"updated":"2017-05-16 16:59:43.000000000","message":"Can be placed on same line.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"34e92e0fe8fb4b915700b280737500610062ba12","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        \"\"\"Trigger a \u0027no valid host\u0027 situation to generate a message.\"\"\""},{"line_number":39,"context_line":"        bad_protocol \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":40,"context_line":"                                            \u0027-storage_protocol\u0027)"},{"line_number":41,"context_line":"        bad_vendor \u003d data_utils.rand_name(self.__class__.__name__ +"},{"line_number":42,"context_line":"                                          \u0027-vendor_name\u0027)"},{"line_number":43,"context_line":"        extra_specs \u003d {\u0027storage_protocol\u0027: bad_protocol,"},{"line_number":44,"context_line":"                       \u0027vendor_name\u0027: bad_vendor}"},{"line_number":45,"context_line":"        vol_type_name \u003d data_utils.rand_name("}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_523c5dc7","line":42,"range":{"start_line":41,"start_character":42,"end_line":42,"end_character":57},"updated":"2017-05-16 16:59:43.000000000","message":"Can be placed on same line.","commit_id":"4ee9f93691a2894f6f81ecfeac42cdfa67ee7f48"}]}
