)]}'
{"nova/tests/unit/virt/libvirt/test_imagebackend.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"bd136422baacc39decd3352bc77c1abb06edf454","unresolved":false,"context_lines":[{"line_number":1267,"context_line":"        self.libvirt_utils \u003d imagebackend.libvirt_utils"},{"line_number":1268,"context_line":"        self.utils \u003d imagebackend.utils"},{"line_number":1269,"context_line":"        self.mox.StubOutWithMock(rbd_utils, \u0027rbd\u0027)"},{"line_number":1270,"context_line":"        self.mox.StubOutWithMock(rbd_utils, \u0027rados\u0027)"},{"line_number":1271,"context_line":""},{"line_number":1272,"context_line":"    def test_cache(self):"},{"line_number":1273,"context_line":"        image \u003d self.image_class(self.INSTANCE, self.NAME)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a74a57a_6e07851c","side":"PARENT","line":1270,"updated":"2016-11-24 11:31:46.000000000","message":"Nit: probably easier to covert to self.stub_out for these. I think that would stop the need to stub out odd things in the base class.","commit_id":"c0b3ecde9b67235b4da217237dd75f3d4f8393f7"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"bd136422baacc39decd3352bc77c1abb06edf454","unresolved":false,"context_lines":[{"line_number":121,"context_line":"                 \u0027fallocate -n -l %s %s\u0027 % (self.SIZE, self.PATH)])"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    @mock.patch.object(rbd_utils, \u0027rbd\u0027)"},{"line_number":124,"context_line":"    @mock.patch.object(rbd_utils, \u0027rados\u0027)"},{"line_number":125,"context_line":"    def test_prealloc_image_without_write_access(self, mock_rados, mock_rbd):"},{"line_number":126,"context_line":"        CONF.set_override(\u0027preallocate_images\u0027, \u0027space\u0027)"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5a74a57a_2edcade3","line":124,"updated":"2016-11-24 11:31:46.000000000","message":"These look very strange here. It seems its needed for one of the subclasses. It feels wrong to add these here.\n\nAdded the suggestion of just using self.stub_out in the subclass rather than adding these here.","commit_id":"bf7acba63aea51cc2a3d01fc57f0982f9ee79437"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"bd136422baacc39decd3352bc77c1abb06edf454","unresolved":false,"context_lines":[{"line_number":132,"context_line":"        def fake_fetch(target, *args, **kwargs):"},{"line_number":133,"context_line":"            return"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"        self.stubs.Set(image, \u0027exists\u0027, lambda: True)"},{"line_number":136,"context_line":"        self.stubs.Set(image, \u0027_can_fallocate\u0027, lambda: True)"},{"line_number":137,"context_line":"        self.stubs.Set(image, \u0027get_disk_size\u0027, lambda _: self.SIZE)"},{"line_number":138,"context_line":"        self.stub_out(\u0027os.path.exists\u0027, lambda _: True)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a74a57a_0eec518e","line":135,"range":{"start_line":135,"start_character":8,"end_line":135,"end_character":22},"updated":"2016-11-24 11:31:46.000000000","message":"Note: we should be changing all self.stubs.Set to self.stub_out as part of the mox effort, I believe. I guess thats a separate patch though.","commit_id":"bf7acba63aea51cc2a3d01fc57f0982f9ee79437"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"20cd1e2b01b1bac522864754f1d5d5ecd9c3f217","unresolved":false,"context_lines":[{"line_number":782,"context_line":""},{"line_number":783,"context_line":"        mock_exists.assert_has_calls(exist_calls)"},{"line_number":784,"context_line":""},{"line_number":785,"context_line":"    @mock.patch.object(imagebackend.fileutils, \u0027ensure_tree\u0027)"},{"line_number":786,"context_line":"    @mock.patch.object(os.path, \u0027exists\u0027)"},{"line_number":787,"context_line":"    def test_cache_base_dir_exists(self, mock_exists, mock_ensure):"},{"line_number":788,"context_line":"        mock_exists.side_effect \u003d [True, False, False]"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a77a97e_2a8c9c34","line":785,"range":{"start_line":785,"start_character":48,"end_line":785,"end_character":59},"updated":"2016-11-16 08:43:09.000000000","message":"should check this method call also","commit_id":"bf7acba63aea51cc2a3d01fc57f0982f9ee79437"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"bd136422baacc39decd3352bc77c1abb06edf454","unresolved":false,"context_lines":[{"line_number":782,"context_line":""},{"line_number":783,"context_line":"        mock_exists.assert_has_calls(exist_calls)"},{"line_number":784,"context_line":""},{"line_number":785,"context_line":"    @mock.patch.object(imagebackend.fileutils, \u0027ensure_tree\u0027)"},{"line_number":786,"context_line":"    @mock.patch.object(os.path, \u0027exists\u0027)"},{"line_number":787,"context_line":"    def test_cache_base_dir_exists(self, mock_exists, mock_ensure):"},{"line_number":788,"context_line":"        mock_exists.side_effect \u003d [True, False, False]"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a74a57a_0eba916e","line":785,"range":{"start_line":785,"start_character":48,"end_line":785,"end_character":59},"in_reply_to":"7a77a97e_2a8c9c34","updated":"2016-11-24 11:31:46.000000000","message":"Yeah, the previous test asserted there were no calls to this method.","commit_id":"bf7acba63aea51cc2a3d01fc57f0982f9ee79437"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"bd136422baacc39decd3352bc77c1abb06edf454","unresolved":false,"context_lines":[{"line_number":790,"context_line":"                       mock.call(self.PATH),"},{"line_number":791,"context_line":"                       mock.call(self.TEMPLATE_PATH)]"},{"line_number":792,"context_line":"        fn \u003d mock.MagicMock()"},{"line_number":793,"context_line":"        fn(target\u003dself.TEMPLATE_PATH)"},{"line_number":794,"context_line":"        image \u003d self.image_class(self.INSTANCE, self.NAME)"},{"line_number":795,"context_line":"        self.mock_create_image(image)"},{"line_number":796,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5a74a57a_ae4a7d81","line":793,"updated":"2016-11-24 11:31:46.000000000","message":"my old friend is here again, this doesn\u0027t assert anything anymore, like it did in the previous version of this code.","commit_id":"bf7acba63aea51cc2a3d01fc57f0982f9ee79437"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"20cd1e2b01b1bac522864754f1d5d5ecd9c3f217","unresolved":false,"context_lines":[{"line_number":1273,"context_line":""},{"line_number":1274,"context_line":"    @mock.patch.object(os.path, \u0027exists\u0027)"},{"line_number":1275,"context_line":"    @mock.patch.object(imagebackend.Rbd, \u0027exists\u0027)"},{"line_number":1276,"context_line":"    @mock.patch.object(rbd_utils, \u0027rbd\u0027)"},{"line_number":1277,"context_line":"    @mock.patch.object(rbd_utils, \u0027rados\u0027)"},{"line_number":1278,"context_line":"    @mock.patch.object(imagebackend.fileutils, \u0027ensure_tree\u0027)"},{"line_number":1279,"context_line":"    def test_cache(self, mock_ensure, mock_rados, mock_rbd,"},{"line_number":1280,"context_line":"                   mock_img_exist, mock_os_exist):"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a77a97e_8a277011","line":1277,"range":{"start_line":1276,"start_character":0,"end_line":1277,"end_character":42},"updated":"2016-11-16 08:43:09.000000000","message":"should check method call of those method","commit_id":"bf7acba63aea51cc2a3d01fc57f0982f9ee79437"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"20cd1e2b01b1bac522864754f1d5d5ecd9c3f217","unresolved":false,"context_lines":[{"line_number":1296,"context_line":""},{"line_number":1297,"context_line":"    @mock.patch.object(os.path, \u0027exists\u0027)"},{"line_number":1298,"context_line":"    @mock.patch.object(imagebackend.Rbd, \u0027exists\u0027)"},{"line_number":1299,"context_line":"    @mock.patch.object(rbd_utils, \u0027rbd\u0027)"},{"line_number":1300,"context_line":"    @mock.patch.object(rbd_utils, \u0027rados\u0027)"},{"line_number":1301,"context_line":"    @mock.patch.object(imagebackend.fileutils, \u0027ensure_tree\u0027)"},{"line_number":1302,"context_line":"    def test_cache_base_dir_exists(self, mock_ensure, mock_rados, mock_rbd,"},{"line_number":1303,"context_line":"                                   mock_img_exist, mock_os_exist):"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a77a97e_2a7d7ce7","line":1300,"range":{"start_line":1299,"start_character":0,"end_line":1300,"end_character":42},"updated":"2016-11-16 08:43:09.000000000","message":"ditto","commit_id":"bf7acba63aea51cc2a3d01fc57f0982f9ee79437"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"20cd1e2b01b1bac522864754f1d5d5ecd9c3f217","unresolved":false,"context_lines":[{"line_number":1317,"context_line":""},{"line_number":1318,"context_line":"    @mock.patch.object(os.path, \u0027exists\u0027)"},{"line_number":1319,"context_line":"    @mock.patch.object(imagebackend.Rbd, \u0027exists\u0027)"},{"line_number":1320,"context_line":"    @mock.patch.object(rbd_utils, \u0027rbd\u0027)"},{"line_number":1321,"context_line":"    @mock.patch.object(rbd_utils, \u0027rados\u0027)"},{"line_number":1322,"context_line":"    def test_cache_image_exists(self, mock_rados, mock_rbd,"},{"line_number":1323,"context_line":"                                mock_img_exist, mock_os_exist):"},{"line_number":1324,"context_line":"        mock_os_exist.return_value \u003d True"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a77a97e_aa50ac5f","line":1321,"range":{"start_line":1320,"start_character":0,"end_line":1321,"end_character":42},"updated":"2016-11-16 08:43:09.000000000","message":"ditto","commit_id":"bf7acba63aea51cc2a3d01fc57f0982f9ee79437"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"bd136422baacc39decd3352bc77c1abb06edf454","unresolved":false,"context_lines":[{"line_number":1731,"context_line":"        exist_calls \u003d [mock.call(self.TEMPLATE_DIR),"},{"line_number":1732,"context_line":"                       mock.call(self.PATH), mock.call(self.TEMPLATE_PATH)]"},{"line_number":1733,"context_line":"        fn \u003d mock.MagicMock()"},{"line_number":1734,"context_line":"        fn(target\u003dself.TEMPLATE_PATH)"},{"line_number":1735,"context_line":"        image \u003d self.image_class(self.INSTANCE, self.NAME)"},{"line_number":1736,"context_line":"        self.mock_create_image(image)"},{"line_number":1737,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5a74a57a_11f716f6","line":1734,"updated":"2016-11-24 11:31:46.000000000","message":"as above.","commit_id":"bf7acba63aea51cc2a3d01fc57f0982f9ee79437"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e4a01b97e7995c446678db597c0b3f4e09d6ac59","unresolved":false,"context_lines":[{"line_number":745,"context_line":"    @mock.patch.object(imagebackend.fileutils, \u0027ensure_tree\u0027)"},{"line_number":746,"context_line":"    @mock.patch.object(os.path, \u0027exists\u0027)"},{"line_number":747,"context_line":"    def test_cache_base_dir_exists(self, mock_exists, mock_ensure):"},{"line_number":748,"context_line":"        mock_exists.side_effect \u003d [True, False, False]"},{"line_number":749,"context_line":"        exist_calls \u003d [mock.call(self.TEMPLATE_DIR),"},{"line_number":750,"context_line":"                       mock.call(self.PATH),"},{"line_number":751,"context_line":"                       mock.call(self.TEMPLATE_PATH)]"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5201f7_cbb6d1db","line":748,"range":{"start_line":748,"start_character":8,"end_line":748,"end_character":54},"updated":"2017-01-03 11:12:02.000000000","message":"nit: I guess this could be a decorator parameter?","commit_id":"313ca1343f842f0fe0449badc40ecdb09a4722e7"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"9814cadc0e8a64746f3c860bd90498f4a89cd1ad","unresolved":false,"context_lines":[{"line_number":745,"context_line":"    @mock.patch.object(imagebackend.fileutils, \u0027ensure_tree\u0027)"},{"line_number":746,"context_line":"    @mock.patch.object(os.path, \u0027exists\u0027)"},{"line_number":747,"context_line":"    def test_cache_base_dir_exists(self, mock_exists, mock_ensure):"},{"line_number":748,"context_line":"        mock_exists.side_effect \u003d [True, False, False]"},{"line_number":749,"context_line":"        exist_calls \u003d [mock.call(self.TEMPLATE_DIR),"},{"line_number":750,"context_line":"                       mock.call(self.PATH),"},{"line_number":751,"context_line":"                       mock.call(self.TEMPLATE_PATH)]"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5201f7_2b14a042","line":748,"range":{"start_line":748,"start_character":8,"end_line":748,"end_character":54},"in_reply_to":"ba5201f7_cbb6d1db","updated":"2017-01-04 01:18:26.000000000","message":"Done","commit_id":"313ca1343f842f0fe0449badc40ecdb09a4722e7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e4a01b97e7995c446678db597c0b3f4e09d6ac59","unresolved":false,"context_lines":[{"line_number":1236,"context_line":"    @mock.patch.object(imagebackend.fileutils, \u0027ensure_tree\u0027)"},{"line_number":1237,"context_line":"    def test_cache(self, mock_ensure, mock_img_exist, mock_os_exist):"},{"line_number":1238,"context_line":"        image \u003d self.image_class(self.INSTANCE, self.NAME)"},{"line_number":1239,"context_line":"        mock_os_exist.return_value \u003d False"},{"line_number":1240,"context_line":"        mock_img_exist.return_value \u003d False"},{"line_number":1241,"context_line":"        fn \u003d mock.MagicMock()"},{"line_number":1242,"context_line":"        image.exists()"},{"line_number":1243,"context_line":"        self.mock_create_image(image)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5201f7_cbba51e1","line":1240,"range":{"start_line":1239,"start_character":0,"end_line":1240,"end_character":43},"updated":"2017-01-03 11:12:02.000000000","message":"nit: Could you make these parameters to the decorators instead?","commit_id":"313ca1343f842f0fe0449badc40ecdb09a4722e7"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"9814cadc0e8a64746f3c860bd90498f4a89cd1ad","unresolved":false,"context_lines":[{"line_number":1236,"context_line":"    @mock.patch.object(imagebackend.fileutils, \u0027ensure_tree\u0027)"},{"line_number":1237,"context_line":"    def test_cache(self, mock_ensure, mock_img_exist, mock_os_exist):"},{"line_number":1238,"context_line":"        image \u003d self.image_class(self.INSTANCE, self.NAME)"},{"line_number":1239,"context_line":"        mock_os_exist.return_value \u003d False"},{"line_number":1240,"context_line":"        mock_img_exist.return_value \u003d False"},{"line_number":1241,"context_line":"        fn \u003d mock.MagicMock()"},{"line_number":1242,"context_line":"        image.exists()"},{"line_number":1243,"context_line":"        self.mock_create_image(image)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5201f7_4b0f242e","line":1240,"range":{"start_line":1239,"start_character":0,"end_line":1240,"end_character":43},"in_reply_to":"ba5201f7_cbba51e1","updated":"2017-01-04 01:18:26.000000000","message":"Done","commit_id":"313ca1343f842f0fe0449badc40ecdb09a4722e7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e4a01b97e7995c446678db597c0b3f4e09d6ac59","unresolved":false,"context_lines":[{"line_number":1239,"context_line":"        mock_os_exist.return_value \u003d False"},{"line_number":1240,"context_line":"        mock_img_exist.return_value \u003d False"},{"line_number":1241,"context_line":"        fn \u003d mock.MagicMock()"},{"line_number":1242,"context_line":"        image.exists()"},{"line_number":1243,"context_line":"        self.mock_create_image(image)"},{"line_number":1244,"context_line":""},{"line_number":1245,"context_line":"        image.cache(fn, self.TEMPLATE)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5201f7_4ba4a1a5","line":1242,"range":{"start_line":1242,"start_character":8,"end_line":1242,"end_character":22},"updated":"2017-01-03 11:12:02.000000000","message":"I don\u0027t think this call is intended - it\u0027s called by \u0027image.cache()\u0027 and you just need to assert that the call happens","commit_id":"313ca1343f842f0fe0449badc40ecdb09a4722e7"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"9814cadc0e8a64746f3c860bd90498f4a89cd1ad","unresolved":false,"context_lines":[{"line_number":1239,"context_line":"        mock_os_exist.return_value \u003d False"},{"line_number":1240,"context_line":"        mock_img_exist.return_value \u003d False"},{"line_number":1241,"context_line":"        fn \u003d mock.MagicMock()"},{"line_number":1242,"context_line":"        image.exists()"},{"line_number":1243,"context_line":"        self.mock_create_image(image)"},{"line_number":1244,"context_line":""},{"line_number":1245,"context_line":"        image.cache(fn, self.TEMPLATE)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5201f7_eb57f8ff","line":1242,"range":{"start_line":1242,"start_character":8,"end_line":1242,"end_character":22},"in_reply_to":"ba5201f7_4ba4a1a5","updated":"2017-01-04 01:18:26.000000000","message":"ack, fixed.","commit_id":"313ca1343f842f0fe0449badc40ecdb09a4722e7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e4a01b97e7995c446678db597c0b3f4e09d6ac59","unresolved":false,"context_lines":[{"line_number":1273,"context_line":"    @mock.patch.object(os.path, \u0027exists\u0027)"},{"line_number":1274,"context_line":"    @mock.patch.object(imagebackend.Rbd, \u0027exists\u0027)"},{"line_number":1275,"context_line":"    def test_cache_image_exists(self, mock_img_exist, mock_os_exist):"},{"line_number":1276,"context_line":"        mock_os_exist.return_value \u003d True"},{"line_number":1277,"context_line":"        mock_img_exist.return_value \u003d True"},{"line_number":1278,"context_line":"        image \u003d self.image_class(self.INSTANCE, self.NAME)"},{"line_number":1279,"context_line":""},{"line_number":1280,"context_line":"        image.cache(None, self.TEMPLATE)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5201f7_0bb1b9e1","line":1277,"range":{"start_line":1276,"start_character":0,"end_line":1277,"end_character":42},"updated":"2017-01-03 11:12:02.000000000","message":"nit: decorator parameter?","commit_id":"313ca1343f842f0fe0449badc40ecdb09a4722e7"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"9814cadc0e8a64746f3c860bd90498f4a89cd1ad","unresolved":false,"context_lines":[{"line_number":1273,"context_line":"    @mock.patch.object(os.path, \u0027exists\u0027)"},{"line_number":1274,"context_line":"    @mock.patch.object(imagebackend.Rbd, \u0027exists\u0027)"},{"line_number":1275,"context_line":"    def test_cache_image_exists(self, mock_img_exist, mock_os_exist):"},{"line_number":1276,"context_line":"        mock_os_exist.return_value \u003d True"},{"line_number":1277,"context_line":"        mock_img_exist.return_value \u003d True"},{"line_number":1278,"context_line":"        image \u003d self.image_class(self.INSTANCE, self.NAME)"},{"line_number":1279,"context_line":""},{"line_number":1280,"context_line":"        image.cache(None, self.TEMPLATE)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba5201f7_6b4ce870","line":1277,"range":{"start_line":1276,"start_character":0,"end_line":1277,"end_character":42},"in_reply_to":"ba5201f7_0bb1b9e1","updated":"2017-01-04 01:18:26.000000000","message":"Done","commit_id":"313ca1343f842f0fe0449badc40ecdb09a4722e7"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"64f1b49840542e7ebd730bb7067e3253297d0b11","unresolved":false,"context_lines":[{"line_number":743,"context_line":"                       mock.call(self.PATH),"},{"line_number":744,"context_line":"                       mock.call(self.TEMPLATE_PATH)]"},{"line_number":745,"context_line":"        fn \u003d mock.MagicMock()"},{"line_number":746,"context_line":"        fn(target\u003dself.TEMPLATE_PATH)"},{"line_number":747,"context_line":"        image \u003d self.image_class(self.INSTANCE, self.NAME)"},{"line_number":748,"context_line":"        self.mock_create_image(image)"},{"line_number":749,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"7a3c09a3_a253db15","line":746,"range":{"start_line":746,"start_character":8,"end_line":746,"end_character":37},"updated":"2017-01-18 02:27:53.000000000","message":"this should be fixed as John mentioned in previous comment.","commit_id":"299455b110cdb9aab157df0cc69df9fab7675130"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"50381cc5a10b830f76b0ae9a500a9682d5aeec58","unresolved":false,"context_lines":[{"line_number":743,"context_line":"                       mock.call(self.PATH),"},{"line_number":744,"context_line":"                       mock.call(self.TEMPLATE_PATH)]"},{"line_number":745,"context_line":"        fn \u003d mock.MagicMock()"},{"line_number":746,"context_line":"        fn(target\u003dself.TEMPLATE_PATH)"},{"line_number":747,"context_line":"        image \u003d self.image_class(self.INSTANCE, self.NAME)"},{"line_number":748,"context_line":"        self.mock_create_image(image)"},{"line_number":749,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"7a3c09a3_ea6bf982","line":746,"range":{"start_line":746,"start_character":8,"end_line":746,"end_character":37},"in_reply_to":"7a3c09a3_a253db15","updated":"2017-01-18 04:16:09.000000000","message":"Done","commit_id":"299455b110cdb9aab157df0cc69df9fab7675130"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f8da67cd6bf85d384d40635dcc4984a8f5671511","unresolved":false,"context_lines":[{"line_number":1303,"context_line":"        mock_os_exist.assert_has_calls(["},{"line_number":1304,"context_line":"            mock.call(self.TEMPLATE_DIR), mock.call(self.TEMPLATE_PATH)"},{"line_number":1305,"context_line":"        ])"},{"line_number":1306,"context_line":"        fn.assert_called_once_with(target\u003dself.TEMPLATE_PATH)"},{"line_number":1307,"context_line":""},{"line_number":1308,"context_line":"    @mock.patch.object(os.path, \u0027exists\u0027, return_value\u003dTrue)"},{"line_number":1309,"context_line":"    @mock.patch.object(imagebackend.Rbd, \u0027exists\u0027, return_value\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a461143_9a405ca7","line":1306,"updated":"2017-01-27 18:50:50.000000000","message":"Nit: really mock_ensure should be asserted that its not called here.","commit_id":"7af405c9a6e3aafb74893eac9b3120307b58709f"}]}
