)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"be776580fe623adbab7a8146b53a87962936055c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d62ba9e6_3671029f","updated":"2022-10-28 10:10:49.000000000","message":"This looks pretty good to me.","commit_id":"20429e72c2b9c5853a88da6a93f75d2d3f21cb5b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c5986221a75d13fd7537fc5d947ace34068e044a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"682d3c00_9dea11fd","updated":"2022-12-20 15:27:15.000000000","message":"I feel bad leaving the -1 for such a small thing. Please accept my apologies and assume a +2 from me once it\u0027s addressed 😂","commit_id":"68c47504eef6794b37bedd4d056f9eb911ee9959"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"c7265b8c0f60b9c8ae712bc86d31b3aa063a9881","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9ff09f6f_72e6c5cc","in_reply_to":"682d3c00_9dea11fd","updated":"2023-01-05 01:54:03.000000000","message":"No worries, thanks for catching that 🙂","commit_id":"68c47504eef6794b37bedd4d056f9eb911ee9959"}],"nova/tests/fixtures/nova.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"01991e10bbd85611cf70c1a49f8a7f5b00922e1a","unresolved":true,"context_lines":[{"line_number":1809,"context_line":"    in the test environment but if they _are_ present, it can result in"},{"line_number":1810,"context_line":"    actual calls to libvirt, for example, which could cause tests to fail."},{"line_number":1811,"context_line":""},{"line_number":1812,"context_line":"    This fixture will inspect modules imported by way of oslo.utils"},{"line_number":1813,"context_line":"    importutils.import_module() and if they are in the disallowed list, the"},{"line_number":1814,"context_line":"    test will fail with a helpful message about mocking needed in the test."},{"line_number":1815,"context_line":"    \"\"\""},{"line_number":1816,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"64fff08f_d7efd657","line":1813,"range":{"start_line":1812,"start_character":47,"end_line":1813,"end_character":31},"updated":"2022-10-28 18:18:56.000000000","message":"Argh, I forgot to update the docstring. Going to push an update.","commit_id":"20429e72c2b9c5853a88da6a93f75d2d3f21cb5b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c5986221a75d13fd7537fc5d947ace34068e044a","unresolved":false,"context_lines":[{"line_number":1809,"context_line":"    in the test environment but if they _are_ present, it can result in"},{"line_number":1810,"context_line":"    actual calls to libvirt, for example, which could cause tests to fail."},{"line_number":1811,"context_line":""},{"line_number":1812,"context_line":"    This fixture will inspect modules imported by way of oslo.utils"},{"line_number":1813,"context_line":"    importutils.import_module() and if they are in the disallowed list, the"},{"line_number":1814,"context_line":"    test will fail with a helpful message about mocking needed in the test."},{"line_number":1815,"context_line":"    \"\"\""},{"line_number":1816,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"31dedecd_86e04014","line":1813,"range":{"start_line":1812,"start_character":47,"end_line":1813,"end_character":31},"in_reply_to":"64fff08f_d7efd657","updated":"2022-12-20 15:27:15.000000000","message":"Done","commit_id":"20429e72c2b9c5853a88da6a93f75d2d3f21cb5b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c5986221a75d13fd7537fc5d947ace34068e044a","unresolved":true,"context_lines":[{"line_number":1823,"context_line":"        def find_spec(self, fullname, path, target\u003dNone):"},{"line_number":1824,"context_line":"            if fullname in self.modules:"},{"line_number":1825,"context_line":"                self.test.fail_message \u003d ("},{"line_number":1826,"context_line":"                    f\"\u0027This test imports the \u0027{fullname}\u0027 module, which it \""},{"line_number":1827,"context_line":"                    \u0027should not in the test environment. Please add \u0027"},{"line_number":1828,"context_line":"                    \u0027appropriate mocking to this test.\u0027"},{"line_number":1829,"context_line":"                )"}],"source_content_type":"text/x-python","patch_set":3,"id":"a0b3c607_43086902","line":1826,"range":{"start_line":1826,"start_character":22,"end_line":1826,"end_character":23},"updated":"2022-12-20 15:27:15.000000000","message":"extra quote?","commit_id":"68c47504eef6794b37bedd4d056f9eb911ee9959"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"c7265b8c0f60b9c8ae712bc86d31b3aa063a9881","unresolved":false,"context_lines":[{"line_number":1823,"context_line":"        def find_spec(self, fullname, path, target\u003dNone):"},{"line_number":1824,"context_line":"            if fullname in self.modules:"},{"line_number":1825,"context_line":"                self.test.fail_message \u003d ("},{"line_number":1826,"context_line":"                    f\"\u0027This test imports the \u0027{fullname}\u0027 module, which it \""},{"line_number":1827,"context_line":"                    \u0027should not in the test environment. Please add \u0027"},{"line_number":1828,"context_line":"                    \u0027appropriate mocking to this test.\u0027"},{"line_number":1829,"context_line":"                )"}],"source_content_type":"text/x-python","patch_set":3,"id":"2347d908_7b3d418b","line":1826,"range":{"start_line":1826,"start_character":22,"end_line":1826,"end_character":23},"in_reply_to":"a0b3c607_43086902","updated":"2023-01-05 01:54:03.000000000","message":"Done","commit_id":"68c47504eef6794b37bedd4d056f9eb911ee9959"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c5986221a75d13fd7537fc5d947ace34068e044a","unresolved":true,"context_lines":[{"line_number":1824,"context_line":"            if fullname in self.modules:"},{"line_number":1825,"context_line":"                self.test.fail_message \u003d ("},{"line_number":1826,"context_line":"                    f\"\u0027This test imports the \u0027{fullname}\u0027 module, which it \""},{"line_number":1827,"context_line":"                    \u0027should not in the test environment. Please add \u0027"},{"line_number":1828,"context_line":"                    \u0027appropriate mocking to this test.\u0027"},{"line_number":1829,"context_line":"                )"},{"line_number":1830,"context_line":"                raise ImportError(fullname)"}],"source_content_type":"text/x-python","patch_set":3,"id":"de614f4d_fa6d575d","line":1827,"range":{"start_line":1827,"start_character":19,"end_line":1827,"end_character":21},"updated":"2022-12-20 15:27:15.000000000","message":"style nit: flake8 will let you use the f prefix on multiline string, even if not all of them contain substitutions, to maintain alignment. Would be nice to add this here.","commit_id":"68c47504eef6794b37bedd4d056f9eb911ee9959"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"c7265b8c0f60b9c8ae712bc86d31b3aa063a9881","unresolved":false,"context_lines":[{"line_number":1824,"context_line":"            if fullname in self.modules:"},{"line_number":1825,"context_line":"                self.test.fail_message \u003d ("},{"line_number":1826,"context_line":"                    f\"\u0027This test imports the \u0027{fullname}\u0027 module, which it \""},{"line_number":1827,"context_line":"                    \u0027should not in the test environment. Please add \u0027"},{"line_number":1828,"context_line":"                    \u0027appropriate mocking to this test.\u0027"},{"line_number":1829,"context_line":"                )"},{"line_number":1830,"context_line":"                raise ImportError(fullname)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fd29c105_33ad9b01","line":1827,"range":{"start_line":1827,"start_character":19,"end_line":1827,"end_character":21},"in_reply_to":"de614f4d_fa6d575d","updated":"2023-01-05 01:54:03.000000000","message":"Done","commit_id":"68c47504eef6794b37bedd4d056f9eb911ee9959"}],"nova/virt/disk/vfs/guestfs.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"962692288f4766d0f957b2abe30430995c81bb79","unresolved":true,"context_lines":[{"line_number":52,"context_line":"    attacks from the guest filesystem."},{"line_number":53,"context_line":"    \"\"\""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    def __init__(self, image, partition\u003dNone):"},{"line_number":56,"context_line":"        \"\"\"Create a new local VFS instance"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        :param image: instance of nova.virt.image.model.Image"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f948cd3_d574dbe4","line":55,"updated":"2022-10-27 16:25:23.000000000","message":"An alternative would be to poison this function. So that if it is ever called in our test then it blows up. This way we would not need to selectively poison import_module.","commit_id":"5a7e5e098dca769a92e3180e14937ab3c36453ae"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"0d5bfbbc84c4e7953235498324a263c619fe909f","unresolved":true,"context_lines":[{"line_number":52,"context_line":"    attacks from the guest filesystem."},{"line_number":53,"context_line":"    \"\"\""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    def __init__(self, image, partition\u003dNone):"},{"line_number":56,"context_line":"        \"\"\"Create a new local VFS instance"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        :param image: instance of nova.virt.image.model.Image"}],"source_content_type":"text/x-python","patch_set":1,"id":"313d43d9_6814406f","line":55,"in_reply_to":"1f948cd3_d574dbe4","updated":"2022-10-27 18:59:37.000000000","message":"I went back and forth on that, whether to poison the specific case here or make it a generic fixture. I ended up going with the latter in part because we know another module we don\u0027t want to be importing (libvirt) and I was thinking it\u0027s possible we might want to add more modules to the list in the future.","commit_id":"5a7e5e098dca769a92e3180e14937ab3c36453ae"}]}
