)]}'
{"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"47733fc68f61908978c3f72495cf1acee629a6ae","unresolved":false,"context_lines":[{"line_number":5423,"context_line":"    @mock.patch(\u0027nova.virt.libvirt.driver.LibvirtDriver.get_info\u0027)"},{"line_number":5424,"context_line":"    @mock.patch(\u0027nova.virt.disk.api.setup_container\u0027)"},{"line_number":5425,"context_line":"    @mock.patch(\u0027oslo_utils.fileutils.ensure_tree\u0027)"},{"line_number":5426,"context_line":"    @mock.patch(\u0027nova.virt.libvirt.utils.get_instance_path\u0027)"},{"line_number":5427,"context_line":"    def test_unmount_fs_if_error_during_lxc_create_domain(self,"},{"line_number":5428,"context_line":"            mock_get_inst_path, mock_ensure_tree, mock_setup_container,"},{"line_number":5429,"context_line":"            mock_get_info, mock_teardown):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_acb689f9","line":5426,"range":{"start_line":5426,"start_character":4,"end_line":5426,"end_character":60},"updated":"2019-03-11 20:41:29.000000000","message":"If you wanted to minimize the surface area of these changes, I think you could simply s/fake_libvirt_utils/libvirt_utils/ (i.e. keep the mock.patch.object and just swap out which lib is your \u0027object\u0027).","commit_id":"d5601cdb9aeda7c0e4622ce4b2fa2a159841f994"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"74168e1f148696fb00356c0c60b84e839351695f","unresolved":false,"context_lines":[{"line_number":5423,"context_line":"    @mock.patch(\u0027nova.virt.libvirt.driver.LibvirtDriver.get_info\u0027)"},{"line_number":5424,"context_line":"    @mock.patch(\u0027nova.virt.disk.api.setup_container\u0027)"},{"line_number":5425,"context_line":"    @mock.patch(\u0027oslo_utils.fileutils.ensure_tree\u0027)"},{"line_number":5426,"context_line":"    @mock.patch(\u0027nova.virt.libvirt.utils.get_instance_path\u0027)"},{"line_number":5427,"context_line":"    def test_unmount_fs_if_error_during_lxc_create_domain(self,"},{"line_number":5428,"context_line":"            mock_get_inst_path, mock_ensure_tree, mock_setup_container,"},{"line_number":5429,"context_line":"            mock_get_info, mock_teardown):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_119d7aba","line":5426,"range":{"start_line":5426,"start_character":4,"end_line":5426,"end_character":60},"in_reply_to":"5fc1f717_acb689f9","updated":"2019-04-04 23:02:43.000000000","message":"I\u0027ve historically have preferred to mock like this because I\u0027ve encountered issues in the past where mocking an imported object hasn\u0027t behaved how I\u0027d expected -- this is more explicit about the exact object to mock.","commit_id":"d5601cdb9aeda7c0e4622ce4b2fa2a159841f994"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"47733fc68f61908978c3f72495cf1acee629a6ae","unresolved":false,"context_lines":[{"line_number":11573,"context_line":"                              self.context, instance,"},{"line_number":11574,"context_line":"                              \"/fake/instance/dir\", disk_info)"},{"line_number":11575,"context_line":""},{"line_number":11576,"context_line":"    @mock.patch(\u0027nova.virt.libvirt.utils.create_cow_image\u0027)"},{"line_number":11577,"context_line":"    @mock.patch(\u0027nova.privsep.path.utime\u0027)"},{"line_number":11578,"context_line":"    def test_create_images_and_backing_images_not_exist_fallback("},{"line_number":11579,"context_line":"            self, mock_utime, mock_create_cow_image):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_6c742169","line":11576,"range":{"start_line":11576,"start_character":4,"end_line":11576,"end_character":59},"updated":"2019-03-11 20:41:29.000000000","message":"if you want to leave method signatures untouched with these, you can add\n\n new\u003dmock.Mock()\n\nin the decorator.","commit_id":"d5601cdb9aeda7c0e4622ce4b2fa2a159841f994"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"74168e1f148696fb00356c0c60b84e839351695f","unresolved":false,"context_lines":[{"line_number":11573,"context_line":"                              self.context, instance,"},{"line_number":11574,"context_line":"                              \"/fake/instance/dir\", disk_info)"},{"line_number":11575,"context_line":""},{"line_number":11576,"context_line":"    @mock.patch(\u0027nova.virt.libvirt.utils.create_cow_image\u0027)"},{"line_number":11577,"context_line":"    @mock.patch(\u0027nova.privsep.path.utime\u0027)"},{"line_number":11578,"context_line":"    def test_create_images_and_backing_images_not_exist_fallback("},{"line_number":11579,"context_line":"            self, mock_utime, mock_create_cow_image):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_b17ca672","line":11576,"range":{"start_line":11576,"start_character":4,"end_line":11576,"end_character":59},"in_reply_to":"5fc1f717_6c742169","updated":"2019-04-04 23:02:43.000000000","message":"My concern with using new\u003dmock.Mock() is potential confusion. Of the nearly 12,000 mocks we have in our unit tests, only 25 use the new\u003dmock.Mock() style of mocking. I\u0027m concerned that would be surprising to people who haven\u0027t seen it before.","commit_id":"d5601cdb9aeda7c0e4622ce4b2fa2a159841f994"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"c5b2f8cdb6761f4ae7446d538de7185b3a609a03","unresolved":false,"context_lines":[{"line_number":11573,"context_line":"                              self.context, instance,"},{"line_number":11574,"context_line":"                              \"/fake/instance/dir\", disk_info)"},{"line_number":11575,"context_line":""},{"line_number":11576,"context_line":"    @mock.patch(\u0027nova.virt.libvirt.utils.create_cow_image\u0027)"},{"line_number":11577,"context_line":"    @mock.patch(\u0027nova.privsep.path.utime\u0027)"},{"line_number":11578,"context_line":"    def test_create_images_and_backing_images_not_exist_fallback("},{"line_number":11579,"context_line":"            self, mock_utime, mock_create_cow_image):"}],"source_content_type":"text/x-python","patch_set":1,"id":"dfbec78f_2a11f752","line":11576,"range":{"start_line":11576,"start_character":4,"end_line":11576,"end_character":59},"in_reply_to":"5fc1f717_b17ca672","updated":"2019-05-13 20:16:35.000000000","message":"\u003e Of\n \u003e the nearly 12,000 mocks we have in our unit tests, only 25 use the\n \u003e new\u003dmock.Mock() style of mocking.\n\nHeh, those are probably mine.\n\n \u003e I\u0027m concerned that would be\n \u003e surprising to people who haven\u0027t seen it before.\n\nPeople needing to learn something new (particularly something as simple as this) seems like a poor reason to avoid a thing. But meh, not worth blocking on.","commit_id":"d5601cdb9aeda7c0e4622ce4b2fa2a159841f994"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"47733fc68f61908978c3f72495cf1acee629a6ae","unresolved":false,"context_lines":[{"line_number":11640,"context_line":"    @mock.patch(\u0027nova.virt.libvirt.utils.create_image\u0027)"},{"line_number":11641,"context_line":"    @mock.patch.object(libvirt_driver.libvirt_utils, \u0027fetch_image\u0027)"},{"line_number":11642,"context_line":"    def test_create_images_and_backing_images_exist("},{"line_number":11643,"context_line":"            self, mock_fetch_image, mock_crteate_image):"},{"line_number":11644,"context_line":"        conn \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)"},{"line_number":11645,"context_line":"        self.test_instance.update({\u0027user_id\u0027: \u0027fake-user\u0027,"},{"line_number":11646,"context_line":"                                   \u0027os_type\u0027: None,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_4c692589","line":11643,"range":{"start_line":11643,"start_character":36,"end_line":11643,"end_character":54},"updated":"2019-03-11 20:41:29.000000000","message":"mock_create_image (or use new\u003dmock.Mock())","commit_id":"d5601cdb9aeda7c0e4622ce4b2fa2a159841f994"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"47733fc68f61908978c3f72495cf1acee629a6ae","unresolved":false,"context_lines":[{"line_number":12375,"context_line":"    @mock.patch(\u0027os.path.getsize\u0027)"},{"line_number":12376,"context_line":"    @mock.patch(\u0027nova.virt.disk.api.get_disk_info\u0027)"},{"line_number":12377,"context_line":"    @mock.patch(\u0027nova.virt.libvirt.utils.get_disk_backing_file\u0027,"},{"line_number":12378,"context_line":"                return_value\u003d\u0027file\u0027)"},{"line_number":12379,"context_line":"    def test_get_instance_disk_info_works_correctly("},{"line_number":12380,"context_line":"            self, mock_get_disk_backing_file, mock_qemu_img_info,"},{"line_number":12381,"context_line":"            mock_get_size, mock_stat):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_8cf4edd0","line":12378,"range":{"start_line":12378,"start_character":16,"end_line":12378,"end_character":35},"updated":"2019-03-11 20:41:29.000000000","message":"in this case\n\n new\u003dmock.Mock(return_value\u003d\u0027file\u0027)","commit_id":"d5601cdb9aeda7c0e4622ce4b2fa2a159841f994"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"47733fc68f61908978c3f72495cf1acee629a6ae","unresolved":false,"context_lines":[{"line_number":12998,"context_line":"        driver \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)"},{"line_number":12999,"context_line":""},{"line_number":13000,"context_line":"        fake_backend \u003d self.useFixture("},{"line_number":13001,"context_line":"            fake_imagebackend.ImageBackendFixture("},{"line_number":13002,"context_line":"                got_files\u003dgotFiles))"},{"line_number":13003,"context_line":""},{"line_number":13004,"context_line":"        with test.nested("}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_2c0379ba","line":13001,"updated":"2019-03-11 20:41:29.000000000","message":"unrelated","commit_id":"d5601cdb9aeda7c0e4622ce4b2fa2a159841f994"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"47733fc68f61908978c3f72495cf1acee629a6ae","unresolved":false,"context_lines":[{"line_number":13147,"context_line":"                          self.context, instance, disk_info[\u0027mapping\u0027])"},{"line_number":13148,"context_line":""},{"line_number":13149,"context_line":"    @mock.patch.object(nova.virt.libvirt.imagebackend.Image, \u0027cache\u0027)"},{"line_number":13150,"context_line":"    def test_create_image_not_exist_fallback("},{"line_number":13151,"context_line":"            self, mock_cache):"},{"line_number":13152,"context_line":""},{"line_number":13153,"context_line":"        def side_effect(fetch_func, filename, size\u003dNone, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_ac28c933","line":13150,"updated":"2019-03-11 20:41:29.000000000","message":"unrelated","commit_id":"d5601cdb9aeda7c0e4622ce4b2fa2a159841f994"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"243e9d72f3aecb9d3ccd30e9eb840faa3c5a5487","unresolved":false,"context_lines":[{"line_number":11667,"context_line":"    @mock.patch(\u0027nova.privsep.path.utime\u0027)"},{"line_number":11668,"context_line":"    @mock.patch(\u0027nova.virt.libvirt.utils.create_cow_image\u0027)"},{"line_number":11669,"context_line":"    def test_create_images_and_backing_ephemeral_gets_created("},{"line_number":11670,"context_line":"            self, mock_utime, mock_create_cow_image):"},{"line_number":11671,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)"},{"line_number":11672,"context_line":""},{"line_number":11673,"context_line":"        base_dir \u003d os.path.join(CONF.instances_path,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5fc1f717_450db2e6","line":11670,"range":{"start_line":11670,"start_character":18,"end_line":11670,"end_character":51},"updated":"2019-04-02 22:45:14.000000000","message":"these are backwards","commit_id":"c918b2ff5d8e910f179d8c7799dc2178cb6e4889"}]}
