)]}'
{"nova/tests/unit/virt/xenapi/test_vm_utils.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a341084801f987c4879f75e05feeb6ce5b57f1a6","unresolved":false,"context_lines":[{"line_number":354,"context_line":""},{"line_number":355,"context_line":"        vm_utils._repair_filesystem(\"fakepath\")"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"    def _call_parted_mkpart(self, path, start, end):"},{"line_number":358,"context_line":"        utils.execute(\u0027parted\u0027, \u0027--script\u0027, path, \u0027rm\u0027, \u00271\u0027,"},{"line_number":359,"context_line":"            run_as_root\u003dTrue)"},{"line_number":360,"context_line":"        utils.execute(\u0027parted\u0027, \u0027--script\u0027, path, \u0027mkpart\u0027,"},{"line_number":361,"context_line":"            \u0027primary\u0027, \u0027%ds\u0027 % start, \u0027%ds\u0027 % end, run_as_root\u003dTrue)"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"    def _call_parted_boot_flag(self, path):"},{"line_number":364,"context_line":"        utils.execute(\u0027parted\u0027, \u0027--script\u0027, path, \u0027set\u0027, \u00271\u0027,"},{"line_number":365,"context_line":"            \u0027boot\u0027, \u0027on\u0027, run_as_root\u003dTrue)"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"    @mock.patch(\u0027nova.privsep.fs.ext_journal_disable\u0027)"},{"line_number":368,"context_line":"    @mock.patch(\u0027nova.privsep.fs.ext_journal_enable\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_28d73726","side":"PARENT","line":365,"range":{"start_line":357,"start_character":0,"end_line":365,"end_character":43},"updated":"2018-04-06 01:26:51.000000000","message":"+1, these seems unused method.","commit_id":"2425a9ecf42b7a5130512916e58798072f73087c"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a341084801f987c4879f75e05feeb6ce5b57f1a6","unresolved":false,"context_lines":[{"line_number":443,"context_line":"    @mock.patch.object(vm_utils, \u0027_get_vdi_chain_size\u0027,"},{"line_number":444,"context_line":"                       return_value\u003d1073741824)"},{"line_number":445,"context_line":"    def test_not_too_large(self, mock_get_vdi_chain_size):"},{"line_number":446,"context_line":"        with mock.patch.object(self.instance, \u0027get_flavor\u0027) as get:"},{"line_number":447,"context_line":"            self.flavor.root_gb \u003d 1"},{"line_number":448,"context_line":"            get.return_value \u003d self.flavor"},{"line_number":449,"context_line":"            vm_utils._check_vdi_size(self.context, self.session, self.instance,"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_c8ca3ba0","line":446,"range":{"start_line":446,"start_character":8,"end_line":446,"end_character":67},"updated":"2018-04-06 01:26:51.000000000","message":"As no other part is done outside of mock scope of \u0027get_flavor\u0027, we could have this too in decorator for better readability.","commit_id":"d22a16f0b4ef5d5ebdba1c55718160b1336fd759"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a341084801f987c4879f75e05feeb6ce5b57f1a6","unresolved":false,"context_lines":[{"line_number":454,"context_line":"    @mock.patch.object(vm_utils, \u0027_get_vdi_chain_size\u0027,"},{"line_number":455,"context_line":"                       return_value\u003d11811160065)  # 10GB overhead allowed"},{"line_number":456,"context_line":"    def test_too_large(self, mock_get_vdi_chain_size):"},{"line_number":457,"context_line":"        with mock.patch.object(self.instance, \u0027get_flavor\u0027) as get:"},{"line_number":458,"context_line":"            self.flavor.root_gb \u003d 1"},{"line_number":459,"context_line":"            get.return_value \u003d self.flavor"},{"line_number":460,"context_line":"            self.assertRaises(exception.FlavorDiskSmallerThanImage,"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_283bb79c","line":457,"range":{"start_line":457,"start_character":66,"end_line":457,"end_character":67},"updated":"2018-04-06 01:26:51.000000000","message":"ditto","commit_id":"d22a16f0b4ef5d5ebdba1c55718160b1336fd759"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a341084801f987c4879f75e05feeb6ce5b57f1a6","unresolved":false,"context_lines":[{"line_number":715,"context_line":"        vm_ref \u003d \"vm-ref\""},{"line_number":716,"context_line":"        self.assertTrue(vm_utils.hard_shutdown_vm("},{"line_number":717,"context_line":"            session, instance, vm_ref))"},{"line_number":718,"context_line":"        mock_is_vm_shutdown.assert_called_once_with(session, vm_ref)"},{"line_number":719,"context_line":""},{"line_number":720,"context_line":"    @mock.patch.object(vm_utils, \u0027LOG\u0027)"},{"line_number":721,"context_line":"    @mock.patch.object(vm_utils, \u0027is_vm_shutdown\u0027, retrun_value\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_6869af89","line":718,"range":{"start_line":718,"start_character":67,"end_line":718,"end_character":68},"updated":"2018-04-06 01:26:51.000000000","message":"we can check assert_called_once_with for mock_log below msg or Mock.Any\n- https://github.com/openstack/nova/blob/996d708a033f96a20c1a258afcbdcad1b8d0a0e9/nova/virt/xenapi/vm_utils.py#L291","commit_id":"d22a16f0b4ef5d5ebdba1c55718160b1336fd759"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a341084801f987c4879f75e05feeb6ce5b57f1a6","unresolved":false,"context_lines":[{"line_number":727,"context_line":"        self.assertTrue(vm_utils.clean_shutdown_vm("},{"line_number":728,"context_line":"            session, instance, vm_ref))"},{"line_number":729,"context_line":"        mock_is_vm_shutdown.assert_called_once_with(session, vm_ref)"},{"line_number":730,"context_line":""},{"line_number":731,"context_line":""},{"line_number":732,"context_line":"@mock.patch.object(FakeSession, \u0027call_xenapi\u0027)"},{"line_number":733,"context_line":"class CreateVBDTestCase(VMUtilsTestBase):"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf659307_88f763d5","line":730,"range":{"start_line":730,"start_character":0,"end_line":730,"end_character":0},"updated":"2018-04-06 01:26:51.000000000","message":"ditto","commit_id":"d22a16f0b4ef5d5ebdba1c55718160b1336fd759"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"ba15653a3dd9a248b6a0cba911a12a854ae0f989","unresolved":false,"context_lines":[{"line_number":431,"context_line":"        vm_utils.try_auto_configure_disk(\"bad_session\", \"bad_vdi_ref\", 0)"},{"line_number":432,"context_line":""},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"@mock.patch.object(objects.Instance, \u0027get_flavor\u0027)"},{"line_number":435,"context_line":"class CheckVDISizeTestCase(VMUtilsTestBase):"},{"line_number":436,"context_line":"    def setUp(self):"},{"line_number":437,"context_line":"        super(CheckVDISizeTestCase, self).setUp()"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_b264db4a","line":434,"range":{"start_line":434,"start_character":0,"end_line":434,"end_character":50},"updated":"2018-04-09 18:10:30.000000000","message":"This works.\n\nOptionally you could put it into setUp as\n\n self.mock_get \u003d fixtures.MockPatchObject(self.instance, \u0027get_flavor\u0027, return_value\u003dself.flavor)\n\n...and then you could eliminate the mock_get args and L448, L461, L472.  This also means you\u0027re mocking the instance\u0027s get_flavor method, rather than that of the class.","commit_id":"414d2e442e633cae827e2e6dbfe212ec163adcba"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"a07e9701d5207eaa1d170aefd3c1d3cf05089307","unresolved":false,"context_lines":[{"line_number":431,"context_line":"        vm_utils.try_auto_configure_disk(\"bad_session\", \"bad_vdi_ref\", 0)"},{"line_number":432,"context_line":""},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"@mock.patch.object(objects.Instance, \u0027get_flavor\u0027)"},{"line_number":435,"context_line":"class CheckVDISizeTestCase(VMUtilsTestBase):"},{"line_number":436,"context_line":"    def setUp(self):"},{"line_number":437,"context_line":"        super(CheckVDISizeTestCase, self).setUp()"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_76e06ccd","line":434,"range":{"start_line":434,"start_character":0,"end_line":434,"end_character":50},"in_reply_to":"bf659307_b264db4a","updated":"2018-04-10 03:52:42.000000000","message":"Done.\nBut \u0027stub_out\u0027 is used.","commit_id":"414d2e442e633cae827e2e6dbfe212ec163adcba"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"ba15653a3dd9a248b6a0cba911a12a854ae0f989","unresolved":false,"context_lines":[{"line_number":711,"context_line":"class ShutdownTestCase(VMUtilsTestBase):"},{"line_number":712,"context_line":""},{"line_number":713,"context_line":"    @mock.patch.object(vm_utils, \u0027LOG\u0027)"},{"line_number":714,"context_line":"    @mock.patch.object(vm_utils, \u0027is_vm_shutdown\u0027, retrun_value\u003dTrue)"},{"line_number":715,"context_line":"    def test_hardshutdown_should_return_true_when_vm_is_shutdown("},{"line_number":716,"context_line":"            self, mock_is_vm_shutdown, mock_log):"},{"line_number":717,"context_line":"        session \u003d FakeSession()"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_32d52bb8","line":714,"range":{"start_line":714,"start_character":51,"end_line":714,"end_character":57},"updated":"2018-04-09 18:10:30.000000000","message":"return\n\nThis is passing because by default it\u0027s returning a mock, which evaluates to True","commit_id":"414d2e442e633cae827e2e6dbfe212ec163adcba"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"a07e9701d5207eaa1d170aefd3c1d3cf05089307","unresolved":false,"context_lines":[{"line_number":711,"context_line":"class ShutdownTestCase(VMUtilsTestBase):"},{"line_number":712,"context_line":""},{"line_number":713,"context_line":"    @mock.patch.object(vm_utils, \u0027LOG\u0027)"},{"line_number":714,"context_line":"    @mock.patch.object(vm_utils, \u0027is_vm_shutdown\u0027, retrun_value\u003dTrue)"},{"line_number":715,"context_line":"    def test_hardshutdown_should_return_true_when_vm_is_shutdown("},{"line_number":716,"context_line":"            self, mock_is_vm_shutdown, mock_log):"},{"line_number":717,"context_line":"        session \u003d FakeSession()"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_6b50890b","line":714,"range":{"start_line":714,"start_character":51,"end_line":714,"end_character":57},"in_reply_to":"bf659307_32d52bb8","updated":"2018-04-10 03:52:42.000000000","message":"Done","commit_id":"414d2e442e633cae827e2e6dbfe212ec163adcba"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"ba15653a3dd9a248b6a0cba911a12a854ae0f989","unresolved":false,"context_lines":[{"line_number":721,"context_line":"            session, instance, vm_ref))"},{"line_number":722,"context_line":"        mock_is_vm_shutdown.assert_called_once_with(session, vm_ref)"},{"line_number":723,"context_line":"        mock_log.warning.assert_called_once_with("},{"line_number":724,"context_line":"            \u0027VM already halted, skipping shutdown...\u0027, instance\u003dinstance)"},{"line_number":725,"context_line":""},{"line_number":726,"context_line":"    @mock.patch.object(vm_utils, \u0027LOG\u0027)"},{"line_number":727,"context_line":"    @mock.patch.object(vm_utils, \u0027is_vm_shutdown\u0027, retrun_value\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_726f23fc","line":724,"range":{"start_line":724,"start_character":12,"end_line":724,"end_character":53},"updated":"2018-04-09 18:10:30.000000000","message":"I think we generally don\u0027t like asserting log messages.  If this were already part of the test, I wouldn\u0027t mention it, but since you added it...\n\nI would say remove this - and remove the mock of LOG too; it looks like it\u0027s not actually doing anything.","commit_id":"414d2e442e633cae827e2e6dbfe212ec163adcba"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"a07e9701d5207eaa1d170aefd3c1d3cf05089307","unresolved":false,"context_lines":[{"line_number":721,"context_line":"            session, instance, vm_ref))"},{"line_number":722,"context_line":"        mock_is_vm_shutdown.assert_called_once_with(session, vm_ref)"},{"line_number":723,"context_line":"        mock_log.warning.assert_called_once_with("},{"line_number":724,"context_line":"            \u0027VM already halted, skipping shutdown...\u0027, instance\u003dinstance)"},{"line_number":725,"context_line":""},{"line_number":726,"context_line":"    @mock.patch.object(vm_utils, \u0027LOG\u0027)"},{"line_number":727,"context_line":"    @mock.patch.object(vm_utils, \u0027is_vm_shutdown\u0027, retrun_value\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_8b4abd52","line":724,"range":{"start_line":724,"start_character":12,"end_line":724,"end_character":53},"in_reply_to":"bf659307_726f23fc","updated":"2018-04-10 03:52:42.000000000","message":"Done","commit_id":"414d2e442e633cae827e2e6dbfe212ec163adcba"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"ba15653a3dd9a248b6a0cba911a12a854ae0f989","unresolved":false,"context_lines":[{"line_number":723,"context_line":"        mock_log.warning.assert_called_once_with("},{"line_number":724,"context_line":"            \u0027VM already halted, skipping shutdown...\u0027, instance\u003dinstance)"},{"line_number":725,"context_line":""},{"line_number":726,"context_line":"    @mock.patch.object(vm_utils, \u0027LOG\u0027)"},{"line_number":727,"context_line":"    @mock.patch.object(vm_utils, \u0027is_vm_shutdown\u0027, retrun_value\u003dTrue)"},{"line_number":728,"context_line":"    def test_cleanshutdown_should_return_true_when_vm_is_shutdown("},{"line_number":729,"context_line":"            self, mock_is_vm_shutdown, mock_log):"},{"line_number":730,"context_line":"        session \u003d FakeSession()"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_32fe8b38","line":727,"range":{"start_line":726,"start_character":0,"end_line":727,"end_character":69},"updated":"2018-04-09 18:10:30.000000000","message":"Since you\u0027re doing these in both test methods, may as well decorate the class or patch them in setUp.","commit_id":"414d2e442e633cae827e2e6dbfe212ec163adcba"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"a07e9701d5207eaa1d170aefd3c1d3cf05089307","unresolved":false,"context_lines":[{"line_number":723,"context_line":"        mock_log.warning.assert_called_once_with("},{"line_number":724,"context_line":"            \u0027VM already halted, skipping shutdown...\u0027, instance\u003dinstance)"},{"line_number":725,"context_line":""},{"line_number":726,"context_line":"    @mock.patch.object(vm_utils, \u0027LOG\u0027)"},{"line_number":727,"context_line":"    @mock.patch.object(vm_utils, \u0027is_vm_shutdown\u0027, retrun_value\u003dTrue)"},{"line_number":728,"context_line":"    def test_cleanshutdown_should_return_true_when_vm_is_shutdown("},{"line_number":729,"context_line":"            self, mock_is_vm_shutdown, mock_log):"},{"line_number":730,"context_line":"        session \u003d FakeSession()"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_cb6995be","line":727,"range":{"start_line":726,"start_character":0,"end_line":727,"end_character":69},"in_reply_to":"bf659307_32fe8b38","updated":"2018-04-10 03:52:42.000000000","message":"Done","commit_id":"414d2e442e633cae827e2e6dbfe212ec163adcba"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"ba15653a3dd9a248b6a0cba911a12a854ae0f989","unresolved":false,"context_lines":[{"line_number":761,"context_line":"        return vbd_rec"},{"line_number":762,"context_line":""},{"line_number":763,"context_line":"    def test_create_vbd_default_args(self, mock_call_xenapi):"},{"line_number":764,"context_line":"        mock_call_xenapi.return_value \u003d \u0027vbd_ref\u0027"},{"line_number":765,"context_line":""},{"line_number":766,"context_line":"        result \u003d vm_utils.create_vbd(self.session, \"vm_ref\", \"vdi_ref\", 0)"},{"line_number":767,"context_line":"        self.assertEqual(result, \"vbd_ref\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_723de3db","line":764,"range":{"start_line":764,"start_character":25,"end_line":764,"end_character":49},"updated":"2018-04-09 18:10:30.000000000","message":"may as well put this in the decorator, since it\u0027s the same throughout.","commit_id":"414d2e442e633cae827e2e6dbfe212ec163adcba"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"a07e9701d5207eaa1d170aefd3c1d3cf05089307","unresolved":false,"context_lines":[{"line_number":761,"context_line":"        return vbd_rec"},{"line_number":762,"context_line":""},{"line_number":763,"context_line":"    def test_create_vbd_default_args(self, mock_call_xenapi):"},{"line_number":764,"context_line":"        mock_call_xenapi.return_value \u003d \u0027vbd_ref\u0027"},{"line_number":765,"context_line":""},{"line_number":766,"context_line":"        result \u003d vm_utils.create_vbd(self.session, \"vm_ref\", \"vdi_ref\", 0)"},{"line_number":767,"context_line":"        self.assertEqual(result, \"vbd_ref\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf659307_eb1c9914","line":764,"range":{"start_line":764,"start_character":25,"end_line":764,"end_character":49},"in_reply_to":"bf659307_723de3db","updated":"2018-04-10 03:52:42.000000000","message":"Done","commit_id":"414d2e442e633cae827e2e6dbfe212ec163adcba"}]}
