def test_optimize_readahead_should_not_apply(mocker): mock_subprocess_call = _mock_subprocess_call(mocker) mock_config = _get_new_mock_config(True) _mock_should_revise_readahead(mocker, False) mount_efs.optimize_readahead_window(MOUNT_POINT, DEFAULT_OPTIONS, mock_config) utils.assert_not_called(mock_subprocess_call)
def test_optimize_readahead_should_apply_failed_with_exception(mocker): mock_subprocess_call = _mock_subprocess_call(mocker, True) mock_config = _get_new_mock_config(True) mock_log_warning = mocker.patch("logging.warning") _mock_should_revise_readahead(mocker, True) mocker.patch( "subprocess.check_output", return_value='"' + str(EXPECTED_MOUNT_POINT_DEV_NUMBER) + '"\n', ) mount_efs.optimize_readahead_window(MOUNT_POINT, DEFAULT_OPTIONS, mock_config) utils.assert_called_once(mock_subprocess_call) args, _ = mock_subprocess_call.call_args readahead_kb_value = int(mount_efs.DEFAULT_NFS_MAX_READAHEAD_MULTIPLIER * int(DEFAULT_OPTIONS["rsize"]) / 1024) expected_subprocess_call = EXPECTED_CALL_FORMAT % ( readahead_kb_value, EXPECTED_READAHEAD_KB_PATH, ) assert expected_subprocess_call == args[0] assert "failed to modify read_ahead_kb" in mock_log_warning.call_args[0][0]
def test_optimize_readahead_should_apply(mocker): mock_subprocess_call = _mock_subprocess_call(mocker) mock_config = _get_new_mock_config(True) _mock_should_revise_readahead(mocker, True) mocker.patch('subprocess.check_output', return_value='"' + str(EXPECTED_MOUNT_POINT_DEV_NUMBER) + '"\n') mount_efs.optimize_readahead_window(MOUNT_POINT, DEFAULT_OPTIONS, mock_config) utils.assert_called_once(mock_subprocess_call) args, _ = mock_subprocess_call.call_args readahead_kb_value = int(mount_efs.DEFAULT_NFS_MAX_READAHEAD_MULTIPLIER * int(DEFAULT_OPTIONS['rsize']) / 1024) expected_subprocess_call = EXPECTED_CALL_FORMAT % ( readahead_kb_value, EXPECTED_READAHEAD_KB_PATH) assert expected_subprocess_call == args[0]