)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"4fbb21eaf8651af8b0f0f4f2911e6242eed9f25d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"3a865fcd_68f9e00c","updated":"2023-07-12 14:24:36.000000000","message":"Thanks, looks better to me. I\u0027ll hunt for a +W on this when it is Zuul+1.","commit_id":"f7ce4df51c080ff3b5a6280771f30a8488c7c2df"}],"nova/tests/fixtures/cinder.py":[{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"10508f31816ee211f917eca3b53e79e7836d9273","unresolved":true,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        self.test.stub_out("},{"line_number":113,"context_line":"            \u0027nova.volume.cinder.API.attachment_create\u0027,"},{"line_number":114,"context_line":"            self.fake_attachment_create)"},{"line_number":115,"context_line":"        self.test.stub_out("},{"line_number":116,"context_line":"            \u0027nova.volume.cinder.API.attachment_update\u0027,"},{"line_number":117,"context_line":"            self.fake_attachment_update)"}],"source_content_type":"text/x-python","patch_set":2,"id":"4ff8fabe_be01bae6","line":114,"updated":"2023-06-12 13:57:12.000000000","message":"these doesn\u0027t work\n\n- with mock.patch(\u0027nova.volume.cinder.API.attachment_create\u0027) as mock_attachment_create:\n       side_effect\u003dself.fake_attachment_create\n- mock.patch(\u0027nova.volume.cinder.API.attachment_create\u0027, side_effect\u003dself.fake_attachment_create).start()","commit_id":"91b3fe44ba7a42e47e9276fee155419d25a08c61"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"71ccfc9fe27ec2add3e09d4e3c10cedbf2afa786","unresolved":true,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        self.test.stub_out("},{"line_number":113,"context_line":"            \u0027nova.volume.cinder.API.attachment_create\u0027,"},{"line_number":114,"context_line":"            self.fake_attachment_create)"},{"line_number":115,"context_line":"        self.test.stub_out("},{"line_number":116,"context_line":"            \u0027nova.volume.cinder.API.attachment_update\u0027,"},{"line_number":117,"context_line":"            self.fake_attachment_update)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9c27be9a_683d636a","line":114,"in_reply_to":"46008f0f_e9659742","updated":"2023-06-12 14:16:35.000000000","message":"You can\u0027t use the context manager approach because the whole point of that is that it\u0027s just in place for one \"context\". Use the `MockPatch` fixture. This grep will help you find some examples:\n\n```\n$ grep \u0027Fixture.*MockPatch\u0027 -r nova/tests\n ```\n \nAside from converting to using `MockPatch` this looks a lot better and is what we were aiming for. Thanks!","commit_id":"91b3fe44ba7a42e47e9276fee155419d25a08c61"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"829edd72114cdaa2c93861a9d4b6b745b8858b91","unresolved":true,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        self.test.stub_out("},{"line_number":113,"context_line":"            \u0027nova.volume.cinder.API.attachment_create\u0027,"},{"line_number":114,"context_line":"            self.fake_attachment_create)"},{"line_number":115,"context_line":"        self.test.stub_out("},{"line_number":116,"context_line":"            \u0027nova.volume.cinder.API.attachment_update\u0027,"},{"line_number":117,"context_line":"            self.fake_attachment_update)"}],"source_content_type":"text/x-python","patch_set":2,"id":"46008f0f_e9659742","line":114,"in_reply_to":"4ff8fabe_be01bae6","updated":"2023-06-12 13:59:03.000000000","message":"Convert the legacy stub_out calls to mock patch fixtures","commit_id":"91b3fe44ba7a42e47e9276fee155419d25a08c61"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"995d21157a18a7ee13106d60a4b336e9127f51f5","unresolved":false,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        self.test.stub_out("},{"line_number":113,"context_line":"            \u0027nova.volume.cinder.API.attachment_create\u0027,"},{"line_number":114,"context_line":"            self.fake_attachment_create)"},{"line_number":115,"context_line":"        self.test.stub_out("},{"line_number":116,"context_line":"            \u0027nova.volume.cinder.API.attachment_update\u0027,"},{"line_number":117,"context_line":"            self.fake_attachment_update)"}],"source_content_type":"text/x-python","patch_set":2,"id":"cf16575a_22ff756c","line":114,"in_reply_to":"9c27be9a_683d636a","updated":"2023-07-05 10:46:13.000000000","message":"thanks, went further","commit_id":"91b3fe44ba7a42e47e9276fee155419d25a08c61"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"647ff015f3ff8e50bfb7aafcb8d6906abd2ee071","unresolved":true,"context_lines":[{"line_number":142,"context_line":"        #     lambda ctxt, microversion: None)"},{"line_number":143,"context_line":"        # self.test.stub_out("},{"line_number":144,"context_line":"        #     \u0027nova.volume.cinder.API.check_attached\u0027,"},{"line_number":145,"context_line":"        #     lambda *args, **kwargs: None)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"        self.useFixture(fixtures.MockPatch("},{"line_number":148,"context_line":"            \u0027nova.volume.cinder.API.get_all_volume_types\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"ce2ca40c_27f17cae","line":145,"updated":"2023-07-12 13:24:44.000000000","message":"Actually, why not just convert these as well? I personally don\u0027t like to leave code commented out because it\u0027s hard to see in an un-highlighted diff (like gerrit shows when the file is too large) that the code is actually inactive. IMHO, either mockpatch these or just remove them and leave a list of other methods that might need to be added in the future.","commit_id":"61fe9ba6af6588acee2f39a19f1bbbecd352c7a2"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"4fbb21eaf8651af8b0f0f4f2911e6242eed9f25d","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        #     lambda ctxt, microversion: None)"},{"line_number":143,"context_line":"        # self.test.stub_out("},{"line_number":144,"context_line":"        #     \u0027nova.volume.cinder.API.check_attached\u0027,"},{"line_number":145,"context_line":"        #     lambda *args, **kwargs: None)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"        self.useFixture(fixtures.MockPatch("},{"line_number":148,"context_line":"            \u0027nova.volume.cinder.API.get_all_volume_types\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"58f5c592_cc69762b","line":145,"in_reply_to":"ce2ca40c_27f17cae","updated":"2023-07-12 14:24:36.000000000","message":"Done","commit_id":"61fe9ba6af6588acee2f39a19f1bbbecd352c7a2"}],"nova/tests/functional/notification_sample_tests/test_instance.py":[{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"995d21157a18a7ee13106d60a4b336e9127f51f5","unresolved":true,"context_lines":[{"line_number":365,"context_line":"        server \u003d self._boot_a_server("},{"line_number":366,"context_line":"            extra_params\u003d{\u0027networks\u0027: [{\u0027port\u0027: self.neutron.port_1[\u0027id\u0027]}]})"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"        self._attach_volume_to_server(server, self.cinder.SWAP_OLD_VOL)"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"        actions \u003d ["},{"line_number":371,"context_line":"            self._test_power_off_on_server,"}],"source_content_type":"text/x-python","patch_set":6,"id":"efb6c874_cca73757","line":368,"updated":"2023-07-05 10:46:13.000000000","message":"this fails with \n    unittest.mock.InvalidSpecError: Cannot autospec a Mock object. [object\u003d\u003c_AutospecMagicMock name\u003d\u0027attachment_update\u0027 id\u003d\u0027139684853196944\u0027\u003e]                                                                                                                                                                                \n\nthough autospec\u003dFalse is already added in attachment_update fixture","commit_id":"3d1ab95827a5516c82b53d3cb0869775feab902a"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"eeb532b36e36f03a25b234b9b262db363d4e1014","unresolved":true,"context_lines":[{"line_number":365,"context_line":"        server \u003d self._boot_a_server("},{"line_number":366,"context_line":"            extra_params\u003d{\u0027networks\u0027: [{\u0027port\u0027: self.neutron.port_1[\u0027id\u0027]}]})"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"        self._attach_volume_to_server(server, self.cinder.SWAP_OLD_VOL)"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"        actions \u003d ["},{"line_number":371,"context_line":"            self._test_power_off_on_server,"}],"source_content_type":"text/x-python","patch_set":6,"id":"f847bbff_eccf235a","line":368,"in_reply_to":"efb6c874_cca73757","updated":"2023-07-05 11:45:19.000000000","message":"https://f60e9fd20475efa51adb-0e9efd411d5f516ecd1b5a61c03e35b7.ssl.cf5.rackcdn.com/885756/6/check/nova-tox-functional-py310/3d11a79/testr_results.html","commit_id":"3d1ab95827a5516c82b53d3cb0869775feab902a"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"b5a77d04f6b35d929fd9aa79b38dfc5f5cf60fac","unresolved":false,"context_lines":[{"line_number":365,"context_line":"        server \u003d self._boot_a_server("},{"line_number":366,"context_line":"            extra_params\u003d{\u0027networks\u0027: [{\u0027port\u0027: self.neutron.port_1[\u0027id\u0027]}]})"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"        self._attach_volume_to_server(server, self.cinder.SWAP_OLD_VOL)"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"        actions \u003d ["},{"line_number":371,"context_line":"            self._test_power_off_on_server,"}],"source_content_type":"text/x-python","patch_set":6,"id":"f385b4e7_5ccd386a","line":368,"in_reply_to":"f847bbff_eccf235a","updated":"2023-07-11 06:25:14.000000000","message":"Done\n@Dan fixed it by updating mock, here: https://review.opendev.org/c/openstack/nova/+/885756/8/nova/tests/functional/notification_sample_tests/test_instance.py#1783","commit_id":"3d1ab95827a5516c82b53d3cb0869775feab902a"}],"nova/tests/functional/regressions/test_bug_1899835.py":[{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"995d21157a18a7ee13106d60a4b336e9127f51f5","unresolved":true,"context_lines":[{"line_number":84,"context_line":"                self.computes[\u0027dest\u0027].driver, \u0027_disconnect_volume\u0027),"},{"line_number":85,"context_line":"            mock.patch("},{"line_number":86,"context_line":"                \u0027nova.volume.cinder.API.attachment_create\u0027,"},{"line_number":87,"context_line":"                side_effect\u003dtest.TestingException, autospec\u003dFalse)"},{"line_number":88,"context_line":"        ) as ("},{"line_number":89,"context_line":"            mock_dest_connector, mock_dest_connect, mock_dest_disconnect,"},{"line_number":90,"context_line":"            mock_attachment_create"}],"source_content_type":"text/x-python","patch_set":6,"id":"fc64d6af_a7601b7b","line":87,"range":{"start_line":87,"start_character":51,"end_line":87,"end_character":65},"updated":"2023-07-05 10:46:13.000000000","message":"not sure why this is required to add here, autospec already added in base fixture, i.e CinderFixture.","commit_id":"3d1ab95827a5516c82b53d3cb0869775feab902a"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"b5a77d04f6b35d929fd9aa79b38dfc5f5cf60fac","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                self.computes[\u0027dest\u0027].driver, \u0027_disconnect_volume\u0027),"},{"line_number":85,"context_line":"            mock.patch("},{"line_number":86,"context_line":"                \u0027nova.volume.cinder.API.attachment_create\u0027,"},{"line_number":87,"context_line":"                side_effect\u003dtest.TestingException, autospec\u003dFalse)"},{"line_number":88,"context_line":"        ) as ("},{"line_number":89,"context_line":"            mock_dest_connector, mock_dest_connect, mock_dest_disconnect,"},{"line_number":90,"context_line":"            mock_attachment_create"}],"source_content_type":"text/x-python","patch_set":6,"id":"b8c48a7e_d54d7424","line":87,"range":{"start_line":87,"start_character":51,"end_line":87,"end_character":65},"in_reply_to":"fc64d6af_a7601b7b","updated":"2023-07-11 06:25:14.000000000","message":"Done","commit_id":"3d1ab95827a5516c82b53d3cb0869775feab902a"}]}
