)]}'
{"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a5598710ba851181851c5c1158dc914aed3dc0f0","unresolved":false,"context_lines":[{"line_number":20670,"context_line":"        mock_refresh_connection_info.assert_called_once_with(self.c, instance,"},{"line_number":20671,"context_line":"            self.drvr._volume_api, self.drvr)"},{"line_number":20672,"context_line":""},{"line_number":20673,"context_line":"    @mock.patch(\u0027nova.volume.cinder.API\u0027)"},{"line_number":20674,"context_line":"    @mock.patch.object(FakeVirtDomain, \u0027snapshotCreateXML\u0027)"},{"line_number":20675,"context_line":"    @mock.patch.object(FakeVirtDomain, \u0027XMLDesc\u0027)"},{"line_number":20676,"context_line":"    @mock.patch.object(host.Host, \u0027_get_domain\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_6882d001","line":20673,"range":{"start_line":20673,"start_character":0,"end_line":20673,"end_character":41},"updated":"2018-07-14 11:34:03.000000000","message":"we do not need to mock this. There is not call to volume API from this tests.","commit_id":"c83d3215dc2563797e6dbfca79ee45b31531083a"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"b33e096485e52b6ad7e57cccfc4fe057c6029c0c","unresolved":false,"context_lines":[{"line_number":20670,"context_line":"        mock_refresh_connection_info.assert_called_once_with(self.c, instance,"},{"line_number":20671,"context_line":"            self.drvr._volume_api, self.drvr)"},{"line_number":20672,"context_line":""},{"line_number":20673,"context_line":"    @mock.patch(\u0027nova.volume.cinder.API\u0027)"},{"line_number":20674,"context_line":"    @mock.patch.object(FakeVirtDomain, \u0027snapshotCreateXML\u0027)"},{"line_number":20675,"context_line":"    @mock.patch.object(FakeVirtDomain, \u0027XMLDesc\u0027)"},{"line_number":20676,"context_line":"    @mock.patch.object(host.Host, \u0027_get_domain\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_2b458d9b","line":20673,"range":{"start_line":20673,"start_character":0,"end_line":20673,"end_character":41},"in_reply_to":"5f7c97a3_6882d001","updated":"2018-07-17 00:54:46.000000000","message":"Done","commit_id":"c83d3215dc2563797e6dbfca79ee45b31531083a"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a5598710ba851181851c5c1158dc914aed3dc0f0","unresolved":false,"context_lines":[{"line_number":20761,"context_line":"            mock_snapshot.assert_called_once_with(snap_xml_src,"},{"line_number":20762,"context_line":"                                                  flags\u003dsnap_flags)"},{"line_number":20763,"context_line":""},{"line_number":20764,"context_line":"    @mock.patch(\u0027nova.volume.cinder.API\u0027)"},{"line_number":20765,"context_line":"    @mock.patch.object(FakeVirtDomain, \u0027snapshotCreateXML\u0027)"},{"line_number":20766,"context_line":"    @mock.patch.object(FakeVirtDomain, \u0027XMLDesc\u0027)"},{"line_number":20767,"context_line":"    @mock.patch.object(host.Host, \u0027_get_domain\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_487fd416","line":20764,"range":{"start_line":20764,"start_character":0,"end_line":20764,"end_character":41},"updated":"2018-07-14 11:34:03.000000000","message":"ditto","commit_id":"c83d3215dc2563797e6dbfca79ee45b31531083a"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"b33e096485e52b6ad7e57cccfc4fe057c6029c0c","unresolved":false,"context_lines":[{"line_number":20761,"context_line":"            mock_snapshot.assert_called_once_with(snap_xml_src,"},{"line_number":20762,"context_line":"                                                  flags\u003dsnap_flags)"},{"line_number":20763,"context_line":""},{"line_number":20764,"context_line":"    @mock.patch(\u0027nova.volume.cinder.API\u0027)"},{"line_number":20765,"context_line":"    @mock.patch.object(FakeVirtDomain, \u0027snapshotCreateXML\u0027)"},{"line_number":20766,"context_line":"    @mock.patch.object(FakeVirtDomain, \u0027XMLDesc\u0027)"},{"line_number":20767,"context_line":"    @mock.patch.object(host.Host, \u0027_get_domain\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_6b4f05be","line":20764,"range":{"start_line":20764,"start_character":0,"end_line":20764,"end_character":41},"in_reply_to":"5f7c97a3_487fd416","updated":"2018-07-17 00:54:46.000000000","message":"Done","commit_id":"c83d3215dc2563797e6dbfca79ee45b31531083a"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f17ce540b93698f35dc3fda25e2cea8810818981","unresolved":false,"context_lines":[{"line_number":20461,"context_line":"                            \u0027rd_bytes\u0027: 688640, \u0027wr_req\u0027: 0,"},{"line_number":20462,"context_line":"                            \u0027rd_req\u0027: 169, \u0027wr_bytes\u0027: 0}]"},{"line_number":20463,"context_line":"        self.assertEqual(vol_usage, expected_usage)"},{"line_number":20464,"context_line":"        mock_block_stats.assert_has_calls(["},{"line_number":20465,"context_line":"            mock.call(self.ins_ref, \u0027vde\u0027), mock.call(self.ins_ref, \u0027vda\u0027)])"},{"line_number":20466,"context_line":"        self.assertEqual(2, mock_block_stats.call_count)"},{"line_number":20467,"context_line":""},{"line_number":20468,"context_line":"    @mock.patch.object(host.Host, \u0027_get_domain\u0027,"},{"line_number":20469,"context_line":"                       side_effect\u003dexception.InstanceNotFound("}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_2998da73","line":20466,"range":{"start_line":20464,"start_character":0,"end_line":20466,"end_character":56},"updated":"2018-07-20 01:05:27.000000000","message":"I think it is better to check the call count at first, then check the detail with the assert_has_calls().","commit_id":"ef6f172bdd85d888cc633dc16d4ff6887d8425e9"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"ce7dd0ce34295450c6b58e4d9405a18973e10975","unresolved":false,"context_lines":[{"line_number":20461,"context_line":"                            \u0027rd_bytes\u0027: 688640, \u0027wr_req\u0027: 0,"},{"line_number":20462,"context_line":"                            \u0027rd_req\u0027: 169, \u0027wr_bytes\u0027: 0}]"},{"line_number":20463,"context_line":"        self.assertEqual(vol_usage, expected_usage)"},{"line_number":20464,"context_line":"        mock_block_stats.assert_has_calls(["},{"line_number":20465,"context_line":"            mock.call(self.ins_ref, \u0027vde\u0027), mock.call(self.ins_ref, \u0027vda\u0027)])"},{"line_number":20466,"context_line":"        self.assertEqual(2, mock_block_stats.call_count)"},{"line_number":20467,"context_line":""},{"line_number":20468,"context_line":"    @mock.patch.object(host.Host, \u0027_get_domain\u0027,"},{"line_number":20469,"context_line":"                       side_effect\u003dexception.InstanceNotFound("}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_24af7c9e","line":20466,"range":{"start_line":20464,"start_character":0,"end_line":20466,"end_character":56},"in_reply_to":"5f7c97a3_2998da73","updated":"2018-07-23 02:07:29.000000000","message":"Done","commit_id":"ef6f172bdd85d888cc633dc16d4ff6887d8425e9"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f17ce540b93698f35dc3fda25e2cea8810818981","unresolved":false,"context_lines":[{"line_number":20473,"context_line":"              [dict(instance\u003dself.ins_ref, instance_bdms\u003dself.bdms)])"},{"line_number":20474,"context_line":"        self.assertEqual(vol_usage, [])"},{"line_number":20475,"context_line":"        mock_get_domain.assert_has_calls([mock.call(self.ins_ref)] * 2)"},{"line_number":20476,"context_line":"        self.assertEqual(2, mock_get_domain.call_count)"},{"line_number":20477,"context_line":""},{"line_number":20478,"context_line":""},{"line_number":20479,"context_line":"class LibvirtNonblockingTestCase(test.NoDBTestCase):"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_a97dca1e","line":20476,"updated":"2018-07-20 01:05:27.000000000","message":"ditto","commit_id":"ef6f172bdd85d888cc633dc16d4ff6887d8425e9"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"ce7dd0ce34295450c6b58e4d9405a18973e10975","unresolved":false,"context_lines":[{"line_number":20473,"context_line":"              [dict(instance\u003dself.ins_ref, instance_bdms\u003dself.bdms)])"},{"line_number":20474,"context_line":"        self.assertEqual(vol_usage, [])"},{"line_number":20475,"context_line":"        mock_get_domain.assert_has_calls([mock.call(self.ins_ref)] * 2)"},{"line_number":20476,"context_line":"        self.assertEqual(2, mock_get_domain.call_count)"},{"line_number":20477,"context_line":""},{"line_number":20478,"context_line":""},{"line_number":20479,"context_line":"class LibvirtNonblockingTestCase(test.NoDBTestCase):"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_04c6006b","line":20476,"in_reply_to":"5f7c97a3_a97dca1e","updated":"2018-07-23 02:07:29.000000000","message":"Done","commit_id":"ef6f172bdd85d888cc633dc16d4ff6887d8425e9"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f17ce540b93698f35dc3fda25e2cea8810818981","unresolved":false,"context_lines":[{"line_number":20515,"context_line":"        c \u003d driver._get_connection()"},{"line_number":20516,"context_line":"        self.assertTrue(c.is_expected)"},{"line_number":20517,"context_line":"        mock_execute.assert_has_calls(expected_calls)"},{"line_number":20518,"context_line":"        self.assertEqual(len(expected_calls), mock_execute.call_count)"},{"line_number":20519,"context_line":""},{"line_number":20520,"context_line":""},{"line_number":20521,"context_line":"class LibvirtVolumeSnapshotTestCase(test.NoDBTestCase):"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_c98046f9","line":20518,"updated":"2018-07-20 01:05:27.000000000","message":"ditto","commit_id":"ef6f172bdd85d888cc633dc16d4ff6887d8425e9"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"ce7dd0ce34295450c6b58e4d9405a18973e10975","unresolved":false,"context_lines":[{"line_number":20515,"context_line":"        c \u003d driver._get_connection()"},{"line_number":20516,"context_line":"        self.assertTrue(c.is_expected)"},{"line_number":20517,"context_line":"        mock_execute.assert_has_calls(expected_calls)"},{"line_number":20518,"context_line":"        self.assertEqual(len(expected_calls), mock_execute.call_count)"},{"line_number":20519,"context_line":""},{"line_number":20520,"context_line":""},{"line_number":20521,"context_line":"class LibvirtVolumeSnapshotTestCase(test.NoDBTestCase):"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_a4c2ac53","line":20518,"in_reply_to":"5f7c97a3_c98046f9","updated":"2018-07-23 02:07:29.000000000","message":"Done","commit_id":"ef6f172bdd85d888cc633dc16d4ff6887d8425e9"}]}
