)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"72034f1ee58b19075df89db39971a56f52b33ff2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"1e67ec28_bdf82be2","updated":"2023-07-15 09:31:16.000000000","message":"recheck\n\nunrelated failures","commit_id":"d2643ec6d7bbaac3fce7fe0720d9e8319befaff0"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2ba38ee56670346a453dc367161d510b35318fb0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"2f91a561_1a34ec64","updated":"2023-07-24 16:56:59.000000000","message":"Accidental rebase, sorry 😊","commit_id":"e20307670e449c696aef9d58af5a888891436df2"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"045eac7c3e93aa6c494db0910b33ea6c7275e47b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"81add307_79d43d75","updated":"2023-07-26 18:52:53.000000000","message":"recheck\n\nm-dat creation failure; we\u0027re aware of the AZ duplication issue; i suppose we\u0027ll have these sporadic failures until we finish the sqlalchemy2.0 conversion in entitreity","commit_id":"e20307670e449c696aef9d58af5a888891436df2"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"2ab06e5aa9d0edb69a287370eb54b76a94fdf3f1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"bfa90bb0_7b4a2ad0","updated":"2023-08-21 06:04:04.000000000","message":"Thanks Goutham! few minor comments","commit_id":"f226d1eea40b8f7e09dee4c535301932f7618104"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d3979af01d0949a1741f9cea5261b19c56d93cd2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"4d3871a6_204334fd","in_reply_to":"bfa90bb0_7b4a2ad0","updated":"2023-08-22 00:07:28.000000000","message":"Thanks Liron; i\u0027ve responded and fixed some things","commit_id":"f226d1eea40b8f7e09dee4c535301932f7618104"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a8ad425c740efa429ac44179c572c5e9fb162d07","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"7d9ca49d_1fe0a813","updated":"2023-08-25 13:28:57.000000000","message":"LGTM. Thanks Goutham!","commit_id":"646fcd2e23b4e0c15489a275af15a9ef9a7c0b0b"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"f6e607b7ebdb6da957918f20a198823b80631082","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"3a68d7a0_53937330","updated":"2023-08-23 07:54:48.000000000","message":"Thanks Goutham! LGTM!","commit_id":"646fcd2e23b4e0c15489a275af15a9ef9a7c0b0b"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"4a90855daeaded9d6b4a9796ead2e941e6579a1a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"e46a9af9_3232008c","updated":"2023-08-28 12:57:39.000000000","message":"recheck\nApparently, failures are not related to this change. Let\u0027s give it one more shot","commit_id":"646fcd2e23b4e0c15489a275af15a9ef9a7c0b0b"}],"manila_tempest_tests/tests/api/test_resource_locks.py":[{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"2ab06e5aa9d0edb69a287370eb54b76a94fdf3f1","unresolved":true,"context_lines":[{"line_number":51,"context_line":"    def resource_setup(cls):"},{"line_number":52,"context_line":"        super(ResourceLockCRUTest, cls).resource_setup()"},{"line_number":53,"context_line":"        # create share type"},{"line_number":54,"context_line":"        cls.share_type \u003d cls.create_share_type()"},{"line_number":55,"context_line":"        cls.share_type_id \u003d cls.share_type[\u0027id\u0027]"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        # create share and lock it"}],"source_content_type":"text/x-python","patch_set":6,"id":"d485384a_dfa7715a","line":54,"range":{"start_line":54,"start_character":8,"end_line":54,"end_character":11},"updated":"2023-08-21 06:04:04.000000000","message":"It can be removed.","commit_id":"f226d1eea40b8f7e09dee4c535301932f7618104"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d3979af01d0949a1741f9cea5261b19c56d93cd2","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    def resource_setup(cls):"},{"line_number":52,"context_line":"        super(ResourceLockCRUTest, cls).resource_setup()"},{"line_number":53,"context_line":"        # create share type"},{"line_number":54,"context_line":"        cls.share_type \u003d cls.create_share_type()"},{"line_number":55,"context_line":"        cls.share_type_id \u003d cls.share_type[\u0027id\u0027]"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        # create share and lock it"}],"source_content_type":"text/x-python","patch_set":6,"id":"9b95d45c_ed2624de","line":54,"range":{"start_line":54,"start_character":8,"end_line":54,"end_character":11},"in_reply_to":"d485384a_dfa7715a","updated":"2023-08-22 00:07:28.000000000","message":"Done","commit_id":"f226d1eea40b8f7e09dee4c535301932f7618104"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"2ab06e5aa9d0edb69a287370eb54b76a94fdf3f1","unresolved":true,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        # create share and lock it"},{"line_number":58,"context_line":"        cls.share \u003d cls.create_share(share_type_id\u003dcls.share_type_id)"},{"line_number":59,"context_line":"        cls.lock \u003d cls.create_resource_lock(cls.share[\u0027id\u0027])"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    @decorators.attr(type\u003d[base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND])"},{"line_number":62,"context_line":"    @decorators.idempotent_id(\u0027f3d162a6-2ab4-433b-b8e7-6bf4f0bb6b0e\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"be600e68_89f12e8e","line":59,"range":{"start_line":59,"start_character":19,"end_line":59,"end_character":60},"updated":"2023-08-21 06:04:04.000000000","message":"I think a comment should be added to explain that the share is locked for deletion.","commit_id":"f226d1eea40b8f7e09dee4c535301932f7618104"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d3979af01d0949a1741f9cea5261b19c56d93cd2","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        # create share and lock it"},{"line_number":58,"context_line":"        cls.share \u003d cls.create_share(share_type_id\u003dcls.share_type_id)"},{"line_number":59,"context_line":"        cls.lock \u003d cls.create_resource_lock(cls.share[\u0027id\u0027])"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    @decorators.attr(type\u003d[base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND])"},{"line_number":62,"context_line":"    @decorators.idempotent_id(\u0027f3d162a6-2ab4-433b-b8e7-6bf4f0bb6b0e\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"4ce8281a_b2e00ed1","line":59,"range":{"start_line":59,"start_character":19,"end_line":59,"end_character":60},"in_reply_to":"be600e68_89f12e8e","updated":"2023-08-22 00:07:28.000000000","message":"Done","commit_id":"f226d1eea40b8f7e09dee4c535301932f7618104"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"2ab06e5aa9d0edb69a287370eb54b76a94fdf3f1","unresolved":true,"context_lines":[{"line_number":98,"context_line":"        # Filter by resource_id, resource_action, lock_reason_like,"},{"line_number":99,"context_line":"        # created_since, created_before"},{"line_number":100,"context_line":"        share_2 \u003d self.create_share(share_type_id\u003dself.share_type_id)"},{"line_number":101,"context_line":"        share_1_lock_2 \u003d self.create_resource_lock("},{"line_number":102,"context_line":"            self.share[\u0027id\u0027],"},{"line_number":103,"context_line":"            lock_reason\u003d\"clemson tigers rule\","},{"line_number":104,"context_line":"            cleanup_in_class\u003dFalse)"},{"line_number":105,"context_line":"        share_2_lock \u003d self.create_resource_lock(share_2[\u0027id\u0027],"},{"line_number":106,"context_line":"                                                 cleanup_in_class\u003dFalse)"},{"line_number":107,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"80241c26_e4276a04","line":104,"range":{"start_line":101,"start_character":0,"end_line":104,"end_character":35},"updated":"2023-08-21 06:04:04.000000000","message":"What does it mean that the share is locked twice?","commit_id":"f226d1eea40b8f7e09dee4c535301932f7618104"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d3979af01d0949a1741f9cea5261b19c56d93cd2","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        # Filter by resource_id, resource_action, lock_reason_like,"},{"line_number":99,"context_line":"        # created_since, created_before"},{"line_number":100,"context_line":"        share_2 \u003d self.create_share(share_type_id\u003dself.share_type_id)"},{"line_number":101,"context_line":"        share_1_lock_2 \u003d self.create_resource_lock("},{"line_number":102,"context_line":"            self.share[\u0027id\u0027],"},{"line_number":103,"context_line":"            lock_reason\u003d\"clemson tigers rule\","},{"line_number":104,"context_line":"            cleanup_in_class\u003dFalse)"},{"line_number":105,"context_line":"        share_2_lock \u003d self.create_resource_lock(share_2[\u0027id\u0027],"},{"line_number":106,"context_line":"                                                 cleanup_in_class\u003dFalse)"},{"line_number":107,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"4f238767_6f95ed21","line":104,"range":{"start_line":101,"start_character":0,"end_line":104,"end_character":35},"in_reply_to":"80241c26_e4276a04","updated":"2023-08-22 00:07:28.000000000","message":"yes... deletion locks can be stacked.. while any lock exists, deletion will be prevented..","commit_id":"f226d1eea40b8f7e09dee4c535301932f7618104"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"2ab06e5aa9d0edb69a287370eb54b76a94fdf3f1","unresolved":true,"context_lines":[{"line_number":224,"context_line":"                         lock[\u0027resource_lock\u0027][\u0027lock_reason\u0027])"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"class ResourceLockDeleteTest(base.BaseSharesMixedTest):"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"    @classmethod"},{"line_number":230,"context_line":"    def skip_checks(cls):"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a3ec62a_7abbd702","line":227,"range":{"start_line":227,"start_character":0,"end_line":227,"end_character":55},"updated":"2023-08-21 06:04:04.000000000","message":"Why a separate class ?","commit_id":"f226d1eea40b8f7e09dee4c535301932f7618104"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d3979af01d0949a1741f9cea5261b19c56d93cd2","unresolved":false,"context_lines":[{"line_number":224,"context_line":"                         lock[\u0027resource_lock\u0027][\u0027lock_reason\u0027])"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"class ResourceLockDeleteTest(base.BaseSharesMixedTest):"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"    @classmethod"},{"line_number":230,"context_line":"    def skip_checks(cls):"}],"source_content_type":"text/x-python","patch_set":6,"id":"0dfdbd90_1c1041e8","line":227,"range":{"start_line":227,"start_character":0,"end_line":227,"end_character":55},"in_reply_to":"7a3ec62a_7abbd702","updated":"2023-08-22 00:07:28.000000000","message":"In the class above, we\u0027re creating a share and a lock in resource_setup.. the two tests below don\u0027t need those..","commit_id":"f226d1eea40b8f7e09dee4c535301932f7618104"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"2ab06e5aa9d0edb69a287370eb54b76a94fdf3f1","unresolved":true,"context_lines":[{"line_number":234,"context_line":"    @classmethod"},{"line_number":235,"context_line":"    def resource_setup(cls):"},{"line_number":236,"context_line":"        super(ResourceLockDeleteTest, cls).resource_setup()"},{"line_number":237,"context_line":"        cls.share_type \u003d cls.create_share_type()"},{"line_number":238,"context_line":"        cls.share_type_id \u003d cls.share_type[\u0027id\u0027]"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"    @decorators.idempotent_id(\u0027835fd617-4600-40a0-9ba1-40e5e0097b01\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"4949a70f_b0df2655","line":237,"range":{"start_line":237,"start_character":8,"end_line":237,"end_character":11},"updated":"2023-08-21 06:04:04.000000000","message":"Same","commit_id":"f226d1eea40b8f7e09dee4c535301932f7618104"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d3979af01d0949a1741f9cea5261b19c56d93cd2","unresolved":false,"context_lines":[{"line_number":234,"context_line":"    @classmethod"},{"line_number":235,"context_line":"    def resource_setup(cls):"},{"line_number":236,"context_line":"        super(ResourceLockDeleteTest, cls).resource_setup()"},{"line_number":237,"context_line":"        cls.share_type \u003d cls.create_share_type()"},{"line_number":238,"context_line":"        cls.share_type_id \u003d cls.share_type[\u0027id\u0027]"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"    @decorators.idempotent_id(\u0027835fd617-4600-40a0-9ba1-40e5e0097b01\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"0d7f6574_6cbbf2cd","line":237,"range":{"start_line":237,"start_character":8,"end_line":237,"end_character":11},"in_reply_to":"4949a70f_b0df2655","updated":"2023-08-22 00:07:28.000000000","message":"Done","commit_id":"f226d1eea40b8f7e09dee4c535301932f7618104"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"2ab06e5aa9d0edb69a287370eb54b76a94fdf3f1","unresolved":true,"context_lines":[{"line_number":241,"context_line":"    @decorators.attr(type\u003d[base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND])"},{"line_number":242,"context_line":"    def test_delete_lock(self):"},{"line_number":243,"context_line":"        share \u003d self.create_share(share_type_id\u003dself.share_type_id)"},{"line_number":244,"context_line":"        lock_1 \u003d self.create_resource_lock(share[\u0027id\u0027], cleanup_in_class\u003dFalse)"},{"line_number":245,"context_line":"        lock_2 \u003d self.create_resource_lock(share[\u0027id\u0027], cleanup_in_class\u003dFalse)"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"        locks \u003d self.shares_v2_client.list_resource_locks("},{"line_number":248,"context_line":"            filters\u003d{\u0027resource_id\u0027: share[\u0027id\u0027]})[\u0027resource_locks\u0027]"}],"source_content_type":"text/x-python","patch_set":6,"id":"e2a9a93e_1c6ffa23","line":245,"range":{"start_line":244,"start_character":0,"end_line":245,"end_character":79},"updated":"2023-08-21 06:04:04.000000000","message":"One locked share is not enough ?","commit_id":"f226d1eea40b8f7e09dee4c535301932f7618104"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d3979af01d0949a1741f9cea5261b19c56d93cd2","unresolved":false,"context_lines":[{"line_number":241,"context_line":"    @decorators.attr(type\u003d[base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND])"},{"line_number":242,"context_line":"    def test_delete_lock(self):"},{"line_number":243,"context_line":"        share \u003d self.create_share(share_type_id\u003dself.share_type_id)"},{"line_number":244,"context_line":"        lock_1 \u003d self.create_resource_lock(share[\u0027id\u0027], cleanup_in_class\u003dFalse)"},{"line_number":245,"context_line":"        lock_2 \u003d self.create_resource_lock(share[\u0027id\u0027], cleanup_in_class\u003dFalse)"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"        locks \u003d self.shares_v2_client.list_resource_locks("},{"line_number":248,"context_line":"            filters\u003d{\u0027resource_id\u0027: share[\u0027id\u0027]})[\u0027resource_locks\u0027]"}],"source_content_type":"text/x-python","patch_set":6,"id":"252a271c_a2fc8dc4","line":245,"range":{"start_line":244,"start_character":0,"end_line":245,"end_character":79},"in_reply_to":"e2a9a93e_1c6ffa23","updated":"2023-08-22 00:07:28.000000000","message":"this is testing the logic where locks can be stacked.. for a single user, locking once is sufficient. the use case makes sense when there are multiple project users that want to lock a share.. for example, when the same share is attached to multiple nova instances by different users, nova will place a deletion lock for each attachment when it implements virtiofs attachments..","commit_id":"f226d1eea40b8f7e09dee4c535301932f7618104"}],"manila_tempest_tests/tests/api/test_resource_locks_negative.py":[{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"2ab06e5aa9d0edb69a287370eb54b76a94fdf3f1","unresolved":true,"context_lines":[{"line_number":49,"context_line":"        )"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"class ResourceLockNegativeTestWithShares(base.BaseSharesMixedTest):"},{"line_number":53,"context_line":"    @classmethod"},{"line_number":54,"context_line":"    def skip_checks(cls):"},{"line_number":55,"context_line":"        super(ResourceLockNegativeTestWithShares, cls).skip_checks()"}],"source_content_type":"text/x-python","patch_set":6,"id":"9b1fdecd_10a7ca65","line":52,"range":{"start_line":52,"start_character":6,"end_line":52,"end_character":40},"updated":"2023-08-21 06:04:04.000000000","message":"I think we usually don\u0027t separate classes by api/shares. We just tag them.","commit_id":"f226d1eea40b8f7e09dee4c535301932f7618104"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d3979af01d0949a1741f9cea5261b19c56d93cd2","unresolved":true,"context_lines":[{"line_number":49,"context_line":"        )"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"class ResourceLockNegativeTestWithShares(base.BaseSharesMixedTest):"},{"line_number":53,"context_line":"    @classmethod"},{"line_number":54,"context_line":"    def skip_checks(cls):"},{"line_number":55,"context_line":"        super(ResourceLockNegativeTestWithShares, cls).skip_checks()"}],"source_content_type":"text/x-python","patch_set":6,"id":"dceae0e0_facb8dd1","line":52,"range":{"start_line":52,"start_character":6,"end_line":52,"end_character":40},"in_reply_to":"9b1fdecd_10a7ca65","updated":"2023-08-22 00:07:28.000000000","message":"true; the only reason is so that we can run the two tests above with just the manila-api service... the tests in this class require the manila-share service..","commit_id":"f226d1eea40b8f7e09dee4c535301932f7618104"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"75144241f5007d04e9629a716ee812debd35654d","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        )"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"class ResourceLockNegativeTestWithShares(base.BaseSharesMixedTest):"},{"line_number":53,"context_line":"    @classmethod"},{"line_number":54,"context_line":"    def skip_checks(cls):"},{"line_number":55,"context_line":"        super(ResourceLockNegativeTestWithShares, cls).skip_checks()"}],"source_content_type":"text/x-python","patch_set":6,"id":"11270f30_3044c056","line":52,"range":{"start_line":52,"start_character":6,"end_line":52,"end_character":40},"in_reply_to":"dceae0e0_facb8dd1","updated":"2023-08-22 00:08:12.000000000","message":"Done","commit_id":"f226d1eea40b8f7e09dee4c535301932f7618104"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"2ab06e5aa9d0edb69a287370eb54b76a94fdf3f1","unresolved":true,"context_lines":[{"line_number":58,"context_line":"    @classmethod"},{"line_number":59,"context_line":"    def resource_setup(cls):"},{"line_number":60,"context_line":"        super(ResourceLockNegativeTestWithShares, cls).resource_setup()"},{"line_number":61,"context_line":"        cls.share_type \u003d cls.create_share_type()"},{"line_number":62,"context_line":"        cls.share_type_id \u003d cls.share_type[\u0027id\u0027]"},{"line_number":63,"context_line":"        cls.share \u003d cls.create_share(share_type_id\u003dcls.share_type_id)"},{"line_number":64,"context_line":"        cls.user_project \u003d cls.os_admin.projects_client.show_project("}],"source_content_type":"text/x-python","patch_set":6,"id":"5c4ab764_5b268ba2","line":61,"range":{"start_line":61,"start_character":8,"end_line":61,"end_character":11},"updated":"2023-08-21 06:04:04.000000000","message":"Same","commit_id":"f226d1eea40b8f7e09dee4c535301932f7618104"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d3979af01d0949a1741f9cea5261b19c56d93cd2","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    @classmethod"},{"line_number":59,"context_line":"    def resource_setup(cls):"},{"line_number":60,"context_line":"        super(ResourceLockNegativeTestWithShares, cls).resource_setup()"},{"line_number":61,"context_line":"        cls.share_type \u003d cls.create_share_type()"},{"line_number":62,"context_line":"        cls.share_type_id \u003d cls.share_type[\u0027id\u0027]"},{"line_number":63,"context_line":"        cls.share \u003d cls.create_share(share_type_id\u003dcls.share_type_id)"},{"line_number":64,"context_line":"        cls.user_project \u003d cls.os_admin.projects_client.show_project("}],"source_content_type":"text/x-python","patch_set":6,"id":"ac929762_ab3b5be7","line":61,"range":{"start_line":61,"start_character":8,"end_line":61,"end_character":11},"in_reply_to":"5c4ab764_5b268ba2","updated":"2023-08-22 00:07:28.000000000","message":"Done","commit_id":"f226d1eea40b8f7e09dee4c535301932f7618104"}]}
