)]}'
{"cinder/tests/unit/test_nfs.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ed2251afc7ee3bedc2e9033b0d49965606af20ab","unresolved":false,"context_lines":[{"line_number":585,"context_line":"        mox.StubOutWithMock(drv, \u0027_read_config_file\u0027)"},{"line_number":586,"context_line":"        config_data \u003d []"},{"line_number":587,"context_line":"        config_data.append(self.TEST_NFS_EXPORT1)"},{"line_number":588,"context_line":"        drv._read_config_file(self.TEST_SHARES_CONFIG_FILE).\\"},{"line_number":589,"context_line":"            AndReturn(config_data)"},{"line_number":590,"context_line":""},{"line_number":591,"context_line":"        mox.StubOutWithMock(drv, \u0027_ensure_share_mounted\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_0c26a5ba","side":"PARENT","line":588,"range":{"start_line":588,"start_character":8,"end_line":588,"end_character":59},"updated":"2015-12-30 09:40:58.000000000","message":"In updated version this assert is omitted.","commit_id":"49507b61cbc4e5a6b2144be2511af0939ff91706"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ed2251afc7ee3bedc2e9033b0d49965606af20ab","unresolved":false,"context_lines":[{"line_number":596,"context_line":""},{"line_number":597,"context_line":"        drv._ensure_shares_mounted()"},{"line_number":598,"context_line":""},{"line_number":599,"context_line":"        self.assertEqual(1, len(drv._mounted_shares))"},{"line_number":600,"context_line":"        self.assertEqual(self.TEST_NFS_EXPORT1, drv._mounted_shares[0])"},{"line_number":601,"context_line":""},{"line_number":602,"context_line":"        mox.VerifyAll()"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_ac3759e2","side":"PARENT","line":599,"range":{"start_line":599,"start_character":8,"end_line":599,"end_character":53},"updated":"2015-12-30 09:40:58.000000000","message":"This assert is also missing from updated version.","commit_id":"49507b61cbc4e5a6b2144be2511af0939ff91706"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ed2251afc7ee3bedc2e9033b0d49965606af20ab","unresolved":false,"context_lines":[{"line_number":419,"context_line":"        du_used \u003d 490560"},{"line_number":420,"context_line":"        du_output \u003d \u0027%d /mnt\u0027 % du_used"},{"line_number":421,"context_line":""},{"line_number":422,"context_line":"        with mock.patch.object(drv, \u0027_get_mount_point_for_share\u0027) as \\"},{"line_number":423,"context_line":"                mock_get_mount:"},{"line_number":424,"context_line":"            mock_get_mount.return_value \u003d self.TEST_MNT_POINT"},{"line_number":425,"context_line":"            self._execute.side_effect \u003d [(stat_output, None),"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_21bcd26b","line":422,"range":{"start_line":422,"start_character":69,"end_line":422,"end_character":70},"updated":"2015-12-30 09:40:58.000000000","message":"It\u0027s preferred to use parentheses instead of \\ to wrap long lines.","commit_id":"cbc91a40a8460fcab057f99b4edf02d1d745c21c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ed2251afc7ee3bedc2e9033b0d49965606af20ab","unresolved":false,"context_lines":[{"line_number":430,"context_line":""},{"line_number":431,"context_line":"            mock_get_mount.assert_called_once_with(self.TEST_NFS_EXPORT1)"},{"line_number":432,"context_line":""},{"line_number":433,"context_line":"            self.assertTrue(mock.call(\u0027stat\u0027, \u0027-f\u0027, \u0027-c\u0027, \u0027%S %b %a\u0027,"},{"line_number":434,"context_line":"                                      self.TEST_MNT_POINT, run_as_root\u003dTrue)"},{"line_number":435,"context_line":"                            in self._execute.call_args_list)"},{"line_number":436,"context_line":""},{"line_number":437,"context_line":"            self.assertTrue(mock.call(\u0027du\u0027, \u0027-sb\u0027, \u0027--apparent-size\u0027,"},{"line_number":438,"context_line":"                                      \u0027--exclude\u0027, \u0027*snapshot*\u0027,"},{"line_number":439,"context_line":"                                      self.TEST_MNT_POINT, run_as_root\u003dTrue)"},{"line_number":440,"context_line":"                            in self._execute.call_args_list)"},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"    def test_get_capacity_info_for_share_and_mount_point_with_spaces(self):"},{"line_number":443,"context_line":"        \"\"\"_get_capacity_info should calculate correct value.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_21c7f213","line":440,"range":{"start_line":433,"start_character":0,"end_line":440,"end_character":60},"updated":"2015-12-30 09:40:58.000000000","message":"I think you can use assert_has_calls instead:\n\n[1] https://docs.python.org/3/library/unittest.mock.html#unittest.mock.Mock.assert_has_calls","commit_id":"cbc91a40a8460fcab057f99b4edf02d1d745c21c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ed2251afc7ee3bedc2e9033b0d49965606af20ab","unresolved":false,"context_lines":[{"line_number":449,"context_line":"        du_used \u003d 490560"},{"line_number":450,"context_line":"        du_output \u003d \u0027%d /mnt\u0027 % du_used"},{"line_number":451,"context_line":""},{"line_number":452,"context_line":"        with mock.patch.object(drv, \u0027_get_mount_point_for_share\u0027) as \\"},{"line_number":453,"context_line":"                mock_get_mount:"},{"line_number":454,"context_line":"            mock_get_mount.return_value \u003d self.TEST_MNT_POINT_SPACES"},{"line_number":455,"context_line":"            self._execute.side_effect \u003d [(stat_output, None),"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_6193aafb","line":452,"range":{"start_line":452,"start_character":69,"end_line":452,"end_character":70},"updated":"2015-12-30 09:40:58.000000000","message":"It\u0027s preferred to use parentheses instead of \\ to wrap long lines.","commit_id":"cbc91a40a8460fcab057f99b4edf02d1d745c21c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ed2251afc7ee3bedc2e9033b0d49965606af20ab","unresolved":false,"context_lines":[{"line_number":462,"context_line":"            mock_get_mount.assert_called_once_with("},{"line_number":463,"context_line":"                self.TEST_NFS_EXPORT_SPACES)"},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"            self.assertTrue(mock.call(\u0027stat\u0027, \u0027-f\u0027, \u0027-c\u0027, \u0027%S %b %a\u0027,"},{"line_number":466,"context_line":"                                      self.TEST_MNT_POINT_SPACES,"},{"line_number":467,"context_line":"                                      run_as_root\u003dTrue)"},{"line_number":468,"context_line":"                            in self._execute.call_args_list)"},{"line_number":469,"context_line":""},{"line_number":470,"context_line":"            self.assertTrue(mock.call(\u0027du\u0027, \u0027-sb\u0027, \u0027--apparent-size\u0027,"},{"line_number":471,"context_line":"                                      \u0027--exclude\u0027, \u0027*snapshot*\u0027,"},{"line_number":472,"context_line":"                                      self.TEST_MNT_POINT_SPACES,"},{"line_number":473,"context_line":"                                      run_as_root\u003dTrue)"},{"line_number":474,"context_line":"                            in self._execute.call_args_list)"},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"    def test_load_shares_config(self):"},{"line_number":477,"context_line":"        drv \u003d self._driver"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_c1d856f2","line":474,"range":{"start_line":465,"start_character":0,"end_line":474,"end_character":60},"updated":"2015-12-30 09:40:58.000000000","message":"ditto","commit_id":"cbc91a40a8460fcab057f99b4edf02d1d745c21c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ed2251afc7ee3bedc2e9033b0d49965606af20ab","unresolved":false,"context_lines":[{"line_number":477,"context_line":"        drv \u003d self._driver"},{"line_number":478,"context_line":"        drv.configuration.nfs_shares_config \u003d self.TEST_SHARES_CONFIG_FILE"},{"line_number":479,"context_line":""},{"line_number":480,"context_line":"        with mock.patch.object(drv, \u0027_read_config_file\u0027) as \\"},{"line_number":481,"context_line":"                mock_read_config:"},{"line_number":482,"context_line":"            config_data \u003d []"},{"line_number":483,"context_line":"            config_data.append(self.TEST_NFS_EXPORT1)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_a189a2cc","line":480,"range":{"start_line":480,"start_character":60,"end_line":480,"end_character":61},"updated":"2015-12-30 09:40:58.000000000","message":"It\u0027s preferred to use parentheses instead of \\ to wrap long lines.","commit_id":"cbc91a40a8460fcab057f99b4edf02d1d745c21c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ed2251afc7ee3bedc2e9033b0d49965606af20ab","unresolved":false,"context_lines":[{"line_number":505,"context_line":"        drv.configuration.nas_share_path \u003d self.TEST_NFS_SHARE_PATH"},{"line_number":506,"context_line":"        drv.configuration.nfs_shares_config \u003d self.TEST_SHARES_CONFIG_FILE"},{"line_number":507,"context_line":""},{"line_number":508,"context_line":"        with mock.patch.object(drv, \u0027_read_config_file\u0027):"},{"line_number":509,"context_line":"            drv._load_shares_config(drv.configuration.nfs_shares_config)"},{"line_number":510,"context_line":""},{"line_number":511,"context_line":"            self.assertIn(self.TEST_NFS_EXPORT1, drv.shares)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_a15e8243","line":508,"range":{"start_line":508,"start_character":13,"end_line":508,"end_character":56},"updated":"2015-12-30 09:40:58.000000000","message":"An assert ensuring this weren\u0027t called is needed here to have the same logic as in mox version.","commit_id":"cbc91a40a8460fcab057f99b4edf02d1d745c21c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ed2251afc7ee3bedc2e9033b0d49965606af20ab","unresolved":false,"context_lines":[{"line_number":519,"context_line":"        self._driver.configuration.nfs_shares_config \u003d ("},{"line_number":520,"context_line":"            self.TEST_SHARES_CONFIG_FILE)"},{"line_number":521,"context_line":""},{"line_number":522,"context_line":"        self.mock_object(self._driver, \u0027_read_config_file\u0027,"},{"line_number":523,"context_line":"                         mock.Mock(return_value\u003dconfig_data))"},{"line_number":524,"context_line":"        self.mock_object(self._driver, \u0027_ensure_share_mounted\u0027)"},{"line_number":525,"context_line":""},{"line_number":526,"context_line":"        self._driver._ensure_share_mounted(self.TEST_NFS_EXPORT1)"},{"line_number":527,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_2c04c913","line":524,"range":{"start_line":522,"start_character":0,"end_line":524,"end_character":63},"updated":"2015-12-30 09:40:58.000000000","message":"Won\u0027t this mock the objects forever? I think you should either use context manager or a decorator. Or stop the mock explicitly. I can see it\u0027s done that way in other places, but I don\u0027t think this is a good practice.","commit_id":"cbc91a40a8460fcab057f99b4edf02d1d745c21c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ed2251afc7ee3bedc2e9033b0d49965606af20ab","unresolved":false,"context_lines":[{"line_number":585,"context_line":"        drv \u003d self._driver"},{"line_number":586,"context_line":"        drv._mounted_shares \u003d [self.TEST_NFS_EXPORT1, self.TEST_NFS_EXPORT2]"},{"line_number":587,"context_line":""},{"line_number":588,"context_line":"        with mock.patch.object(drv, \u0027_get_capacity_info\u0027) as \\"},{"line_number":589,"context_line":"                mock_get_capacity_info:"},{"line_number":590,"context_line":"            mock_get_capacity_info.side_effect \u003d ["},{"line_number":591,"context_line":"                (5 * units.Gi, 0, 5 * units.Gi),"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_8caff5e2","line":588,"range":{"start_line":588,"start_character":61,"end_line":588,"end_character":62},"updated":"2015-12-30 09:40:58.000000000","message":"It\u0027s preferred to use parentheses instead of \\ to wrap long lines.","commit_id":"cbc91a40a8460fcab057f99b4edf02d1d745c21c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ed2251afc7ee3bedc2e9033b0d49965606af20ab","unresolved":false,"context_lines":[{"line_number":593,"context_line":""},{"line_number":594,"context_line":"            self.assertRaises(exception.NfsNoSuitableShareFound,"},{"line_number":595,"context_line":"                              drv._find_share, self.TEST_SIZE_IN_GB)"},{"line_number":596,"context_line":"            self.assertTrue(mock.call(self.TEST_NFS_EXPORT1) in"},{"line_number":597,"context_line":"                            mock_get_capacity_info.call_args_list)"},{"line_number":598,"context_line":"            self.assertTrue(mock.call(self.TEST_NFS_EXPORT2) in"},{"line_number":599,"context_line":"                            mock_get_capacity_info.call_args_list)"},{"line_number":600,"context_line":"            self.assertEqual(2, mock_get_capacity_info.call_count)"},{"line_number":601,"context_line":""},{"line_number":602,"context_line":"    def _simple_volume(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_8c961593","line":599,"range":{"start_line":596,"start_character":0,"end_line":599,"end_character":66},"updated":"2015-12-30 09:40:58.000000000","message":"How about assert_has_calls on mock?","commit_id":"cbc91a40a8460fcab057f99b4edf02d1d745c21c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ed2251afc7ee3bedc2e9033b0d49965606af20ab","unresolved":false,"context_lines":[{"line_number":613,"context_line":""},{"line_number":614,"context_line":"        self.override_config(\u0027nfs_sparsed_volumes\u0027, True)"},{"line_number":615,"context_line":""},{"line_number":616,"context_line":"        with mock.patch.object(drv, \u0027_create_sparsed_file\u0027) as \\"},{"line_number":617,"context_line":"                mock_create_sparsed_file:"},{"line_number":618,"context_line":"            with mock.patch.object(drv, \u0027_set_rw_permissions\u0027) as \\"},{"line_number":619,"context_line":"                    mock_set_rw_permissions:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_ecf791f3","line":616,"range":{"start_line":616,"start_character":63,"end_line":616,"end_character":64},"updated":"2015-12-30 09:40:58.000000000","message":"It\u0027s preferred to use parentheses instead of \\ to wrap long lines.","commit_id":"cbc91a40a8460fcab057f99b4edf02d1d745c21c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ed2251afc7ee3bedc2e9033b0d49965606af20ab","unresolved":false,"context_lines":[{"line_number":615,"context_line":""},{"line_number":616,"context_line":"        with mock.patch.object(drv, \u0027_create_sparsed_file\u0027) as \\"},{"line_number":617,"context_line":"                mock_create_sparsed_file:"},{"line_number":618,"context_line":"            with mock.patch.object(drv, \u0027_set_rw_permissions\u0027) as \\"},{"line_number":619,"context_line":"                    mock_set_rw_permissions:"},{"line_number":620,"context_line":"                drv._do_create_volume(volume)"},{"line_number":621,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_8cddb572","line":618,"range":{"start_line":618,"start_character":66,"end_line":618,"end_character":67},"updated":"2015-12-30 09:40:58.000000000","message":"ditto","commit_id":"cbc91a40a8460fcab057f99b4edf02d1d745c21c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ed2251afc7ee3bedc2e9033b0d49965606af20ab","unresolved":false,"context_lines":[{"line_number":630,"context_line":""},{"line_number":631,"context_line":"        self.override_config(\u0027nfs_sparsed_volumes\u0027, False)"},{"line_number":632,"context_line":""},{"line_number":633,"context_line":"        with mock.patch.object(drv, \u0027_create_regular_file\u0027) as \\"},{"line_number":634,"context_line":"                mock_create_regular_file:"},{"line_number":635,"context_line":"            with mock.patch.object(drv, \u0027_set_rw_permissions\u0027) as \\"},{"line_number":636,"context_line":"                    mock_set_rw_permissions:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_4ce7bd40","line":633,"range":{"start_line":633,"start_character":63,"end_line":633,"end_character":64},"updated":"2015-12-30 09:40:58.000000000","message":"ditto","commit_id":"cbc91a40a8460fcab057f99b4edf02d1d745c21c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ed2251afc7ee3bedc2e9033b0d49965606af20ab","unresolved":false,"context_lines":[{"line_number":632,"context_line":""},{"line_number":633,"context_line":"        with mock.patch.object(drv, \u0027_create_regular_file\u0027) as \\"},{"line_number":634,"context_line":"                mock_create_regular_file:"},{"line_number":635,"context_line":"            with mock.patch.object(drv, \u0027_set_rw_permissions\u0027) as \\"},{"line_number":636,"context_line":"                    mock_set_rw_permissions:"},{"line_number":637,"context_line":"                drv._do_create_volume(volume)"},{"line_number":638,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_ccc96dae","line":635,"range":{"start_line":635,"start_character":66,"end_line":635,"end_character":67},"updated":"2015-12-30 09:40:58.000000000","message":"ditto","commit_id":"cbc91a40a8460fcab057f99b4edf02d1d745c21c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ed2251afc7ee3bedc2e9033b0d49965606af20ab","unresolved":false,"context_lines":[{"line_number":647,"context_line":"        drv._find_share \u003d mock.Mock()"},{"line_number":648,"context_line":"        drv._do_create_volume \u003d mock.Mock()"},{"line_number":649,"context_line":""},{"line_number":650,"context_line":"        with mock.patch.object(drv, \u0027_ensure_shares_mounted\u0027) as \\"},{"line_number":651,"context_line":"                mock_ensure_shares:"},{"line_number":652,"context_line":"            volume \u003d DumbVolume()"},{"line_number":653,"context_line":"            volume[\u0027size\u0027] \u003d self.TEST_SIZE_IN_GB"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_8c4b752b","line":650,"range":{"start_line":650,"start_character":65,"end_line":650,"end_character":66},"updated":"2015-12-30 09:40:58.000000000","message":"ditto","commit_id":"cbc91a40a8460fcab057f99b4edf02d1d745c21c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ed2251afc7ee3bedc2e9033b0d49965606af20ab","unresolved":false,"context_lines":[{"line_number":674,"context_line":"    def test_delete_volume(self):"},{"line_number":675,"context_line":"        \"\"\"delete_volume simple test case.\"\"\""},{"line_number":676,"context_line":"        drv \u003d self._driver"},{"line_number":677,"context_line":"        drv._ensure_share_mounted \u003d mock.Mock()"},{"line_number":678,"context_line":""},{"line_number":679,"context_line":"        volume \u003d DumbVolume()"},{"line_number":680,"context_line":"        volume[\u0027name\u0027] \u003d \u0027volume-123\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_4c6c9d9c","line":677,"range":{"start_line":677,"start_character":8,"end_line":677,"end_character":47},"updated":"2015-12-30 09:40:58.000000000","message":"Won\u0027t this mock _ensure_share_mounted forever? I think context manager or decorator should be used here.","commit_id":"cbc91a40a8460fcab057f99b4edf02d1d745c21c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ed2251afc7ee3bedc2e9033b0d49965606af20ab","unresolved":false,"context_lines":[{"line_number":695,"context_line":"        volume[\u0027name\u0027] \u003d \u0027volume-123\u0027"},{"line_number":696,"context_line":"        volume[\u0027provider_location\u0027] \u003d self.TEST_NFS_EXPORT1"},{"line_number":697,"context_line":""},{"line_number":698,"context_line":"        with mock.patch.object(drv, \u0027_ensure_share_mounted\u0027) as \\"},{"line_number":699,"context_line":"                mock_ensure_share:"},{"line_number":700,"context_line":"            drv.delete_volume(volume)"},{"line_number":701,"context_line":"            mock_ensure_share.assert_called_once_with(self.TEST_NFS_EXPORT1)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_ec13110c","line":698,"range":{"start_line":698,"start_character":64,"end_line":698,"end_character":65},"updated":"2015-12-30 09:40:58.000000000","message":"It\u0027s preferred to use parentheses instead of \\ to wrap long lines.","commit_id":"cbc91a40a8460fcab057f99b4edf02d1d745c21c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ed2251afc7ee3bedc2e9033b0d49965606af20ab","unresolved":false,"context_lines":[{"line_number":704,"context_line":"        \"\"\"delete_volume shouldn\u0027t delete if provider_location missed.\"\"\""},{"line_number":705,"context_line":"        drv \u003d self._driver"},{"line_number":706,"context_line":""},{"line_number":707,"context_line":"        self.stubs.Set(drv, \u0027_ensure_share_mounted\u0027, mock.Mock())"},{"line_number":708,"context_line":"        self.stubs.Set(drv, \u0027local_path\u0027, mock.Mock())"},{"line_number":709,"context_line":""},{"line_number":710,"context_line":"        volume \u003d DumbVolume()"},{"line_number":711,"context_line":"        volume[\u0027name\u0027] \u003d \u0027volume-123\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_ec2a312c","line":708,"range":{"start_line":707,"start_character":0,"end_line":708,"end_character":54},"updated":"2015-12-30 09:40:58.000000000","message":"This also seems mox-styled.","commit_id":"cbc91a40a8460fcab057f99b4edf02d1d745c21c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ed2251afc7ee3bedc2e9033b0d49965606af20ab","unresolved":false,"context_lines":[{"line_number":718,"context_line":""},{"line_number":719,"context_line":"    def test_get_volume_stats(self):"},{"line_number":720,"context_line":"        \"\"\"get_volume_stats must fill the correct values.\"\"\""},{"line_number":721,"context_line":"        mox \u003d self.mox"},{"line_number":722,"context_line":"        drv \u003d self._driver"},{"line_number":723,"context_line":""},{"line_number":724,"context_line":"        drv._mounted_shares \u003d [self.TEST_NFS_EXPORT1, self.TEST_NFS_EXPORT2]"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_8c20554b","line":721,"range":{"start_line":721,"start_character":8,"end_line":721,"end_character":22},"updated":"2015-12-30 09:40:58.000000000","message":"mox?","commit_id":"cbc91a40a8460fcab057f99b4edf02d1d745c21c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ed2251afc7ee3bedc2e9033b0d49965606af20ab","unresolved":false,"context_lines":[{"line_number":723,"context_line":""},{"line_number":724,"context_line":"        drv._mounted_shares \u003d [self.TEST_NFS_EXPORT1, self.TEST_NFS_EXPORT2]"},{"line_number":725,"context_line":""},{"line_number":726,"context_line":"        mox.StubOutWithMock(drv, \u0027_ensure_shares_mounted\u0027)"},{"line_number":727,"context_line":"        mox.StubOutWithMock(drv, \u0027_get_capacity_info\u0027)"},{"line_number":728,"context_line":""},{"line_number":729,"context_line":"        drv._ensure_shares_mounted()"},{"line_number":730,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_ac1d1911","line":727,"range":{"start_line":726,"start_character":0,"end_line":727,"end_character":54},"updated":"2015-12-30 09:40:58.000000000","message":"mox?","commit_id":"cbc91a40a8460fcab057f99b4edf02d1d745c21c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"ed2251afc7ee3bedc2e9033b0d49965606af20ab","unresolved":false,"context_lines":[{"line_number":745,"context_line":""},{"line_number":746,"context_line":"        mox.VerifyAll()"},{"line_number":747,"context_line":""},{"line_number":748,"context_line":"    def test_get_volume_stats_with_non_zero_reserved_percentage(self):"},{"line_number":749,"context_line":"        \"\"\"get_volume_stats must fill the correct values.\"\"\""},{"line_number":750,"context_line":"        mox \u003d self.mox"},{"line_number":751,"context_line":"        self.configuration.reserved_percentage \u003d 10.0"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_2cd84953","line":748,"range":{"start_line":748,"start_character":0,"end_line":748,"end_character":70},"updated":"2015-12-30 09:40:58.000000000","message":"This test is using mox also.","commit_id":"cbc91a40a8460fcab057f99b4edf02d1d745c21c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"84ce53bc25ff01296f9c32b41f45a40617b8af14","unresolved":false,"context_lines":[{"line_number":658,"context_line":"    def test_delete_volume(self):"},{"line_number":659,"context_line":"        \"\"\"delete_volume simple test case.\"\"\""},{"line_number":660,"context_line":"        drv \u003d self._driver"},{"line_number":661,"context_line":"        drv._ensure_share_mounted \u003d mock.Mock()"},{"line_number":662,"context_line":""},{"line_number":663,"context_line":"        volume \u003d DumbVolume()"},{"line_number":664,"context_line":"        volume[\u0027name\u0027] \u003d \u0027volume-123\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa69d971_2e733d82","line":661,"range":{"start_line":661,"start_character":8,"end_line":661,"end_character":47},"updated":"2015-12-31 10:05:30.000000000","message":"My comment on patchset #2 wasn\u0027t addressed, but now I see self._driver is reset in setUp, so if my understanding is correct, this will be un-mocked after the test ends. Therefore - this should be fine.","commit_id":"c15dcc0dfccbb0b042904001ad4b11eb522d49e5"}]}
