)]}'
{"sushy_tools/tests/unit/emulator/resources/systems/test_libvirt.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"c9f1b42d7d556ba04bf237a0204619f2a7e71caa","unresolved":false,"context_lines":[{"line_number":549,"context_line":"                    with mock.patch.object("},{"line_number":550,"context_line":"                            self.test_driver, \u0027_remove_boot_images\u0027):"},{"line_number":551,"context_line":"                        with mock.patch.object("},{"line_number":552,"context_line":"                                self.test_driver, \u0027_add_boot_image\u0027):"},{"line_number":553,"context_line":""},{"line_number":554,"context_line":"                            gbd_mock.return_value \u003d \u0027Cd\u0027"},{"line_number":555,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_cbfbf078","line":552,"updated":"2019-11-30 16:00:33.000000000","message":"Ouch :) Could you please move all these to a decorator?","commit_id":"484699813b8e88ff62e89192849e1f0177283099"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"dffeea029b8be9d6fae9ee2f0595f13cc22fec1c","unresolved":false,"context_lines":[{"line_number":549,"context_line":"                    with mock.patch.object("},{"line_number":550,"context_line":"                            self.test_driver, \u0027_remove_boot_images\u0027):"},{"line_number":551,"context_line":"                        with mock.patch.object("},{"line_number":552,"context_line":"                                self.test_driver, \u0027_add_boot_image\u0027):"},{"line_number":553,"context_line":""},{"line_number":554,"context_line":"                            gbd_mock.return_value \u003d \u0027Cd\u0027"},{"line_number":555,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_cb09b084","line":552,"in_reply_to":"3fa7e38b_4b44e0b8","updated":"2019-11-30 16:11:09.000000000","message":"Hmm, if we mutate class method, would previously created instances of that class get affected? I fear class instances would keep referencing original class methods...","commit_id":"484699813b8e88ff62e89192849e1f0177283099"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"b9dae90f72cd0339e46bb2e7579926d20d7fff31","unresolved":false,"context_lines":[{"line_number":549,"context_line":"                    with mock.patch.object("},{"line_number":550,"context_line":"                            self.test_driver, \u0027_remove_boot_images\u0027):"},{"line_number":551,"context_line":"                        with mock.patch.object("},{"line_number":552,"context_line":"                                self.test_driver, \u0027_add_boot_image\u0027):"},{"line_number":553,"context_line":""},{"line_number":554,"context_line":"                            gbd_mock.return_value \u003d \u0027Cd\u0027"},{"line_number":555,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_c68e7e25","line":552,"in_reply_to":"3fa7e38b_6b48bcb2","updated":"2019-12-02 12:40:03.000000000","message":"Done","commit_id":"484699813b8e88ff62e89192849e1f0177283099"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0af11588fe265540a68580cb25aeebdfb5bbc962","unresolved":false,"context_lines":[{"line_number":549,"context_line":"                    with mock.patch.object("},{"line_number":550,"context_line":"                            self.test_driver, \u0027_remove_boot_images\u0027):"},{"line_number":551,"context_line":"                        with mock.patch.object("},{"line_number":552,"context_line":"                                self.test_driver, \u0027_add_boot_image\u0027):"},{"line_number":553,"context_line":""},{"line_number":554,"context_line":"                            gbd_mock.return_value \u003d \u0027Cd\u0027"},{"line_number":555,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_4b44e0b8","line":552,"in_reply_to":"3fa7e38b_8b3ad832","updated":"2019-11-30 16:07:58.000000000","message":"setUp happens first, but you can mock the class itself, not self.test_driver.","commit_id":"484699813b8e88ff62e89192849e1f0177283099"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"e0fef27560cd3518582f9c073d822236fd606b07","unresolved":false,"context_lines":[{"line_number":549,"context_line":"                    with mock.patch.object("},{"line_number":550,"context_line":"                            self.test_driver, \u0027_remove_boot_images\u0027):"},{"line_number":551,"context_line":"                        with mock.patch.object("},{"line_number":552,"context_line":"                                self.test_driver, \u0027_add_boot_image\u0027):"},{"line_number":553,"context_line":""},{"line_number":554,"context_line":"                            gbd_mock.return_value \u003d \u0027Cd\u0027"},{"line_number":555,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_6b48bcb2","line":552,"in_reply_to":"3fa7e38b_cb09b084","updated":"2019-11-30 16:28:27.000000000","message":"In a normal situation, instances use method definitions from classes. We use such mocking everywhere in ironic.","commit_id":"484699813b8e88ff62e89192849e1f0177283099"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"54b4917856c77c8b7caa3451d357de9b23ef1207","unresolved":false,"context_lines":[{"line_number":549,"context_line":"                    with mock.patch.object("},{"line_number":550,"context_line":"                            self.test_driver, \u0027_remove_boot_images\u0027):"},{"line_number":551,"context_line":"                        with mock.patch.object("},{"line_number":552,"context_line":"                                self.test_driver, \u0027_add_boot_image\u0027):"},{"line_number":553,"context_line":""},{"line_number":554,"context_line":"                            gbd_mock.return_value \u003d \u0027Cd\u0027"},{"line_number":555,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_8b3ad832","line":552,"in_reply_to":"3fa7e38b_cbfbf078","updated":"2019-11-30 16:05:40.000000000","message":"I should try if a decorator patch would work at all... That probably depends on what happens first: setUp instantiate the driver class or test method decorator mutates the driver class...","commit_id":"484699813b8e88ff62e89192849e1f0177283099"}]}
