// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "sync/sessions/test_util.h"
namespace syncer {
namespace sessions {
namespace test_util {
void SimulateGetEncryptionKeyFailed(
ModelTypeSet requsted_types,
sync_pb::GetUpdatesCallerInfo::GetUpdatesSource source,
sessions::SyncSession* session) {
session->mutable_status_controller()->set_last_get_key_result(
SERVER_RESPONSE_VALIDATION_FAILED);
session->mutable_status_controller()->set_last_download_updates_result(
SYNCER_OK);
}
void SimulateConfigureSuccess(
ModelTypeSet requsted_types,
sync_pb::GetUpdatesCallerInfo::GetUpdatesSource source,
sessions::SyncSession* session) {
ASSERT_EQ(0U, session->status_controller().num_server_changes_remaining());
session->mutable_status_controller()->set_last_get_key_result(SYNCER_OK);
session->mutable_status_controller()->set_last_download_updates_result(
SYNCER_OK);
}
void SimulateConfigureFailed(
ModelTypeSet requsted_types,
sync_pb::GetUpdatesCallerInfo::GetUpdatesSource source,
sessions::SyncSession* session) {
session->mutable_status_controller()->set_last_get_key_result(SYNCER_OK);
session->mutable_status_controller()->set_last_download_updates_result(
SERVER_RETURN_TRANSIENT_ERROR);
}
void SimulateConfigureConnectionFailure(
ModelTypeSet requsted_types,
sync_pb::GetUpdatesCallerInfo::GetUpdatesSource source,
sessions::SyncSession* session) {
session->mutable_status_controller()->set_last_get_key_result(SYNCER_OK);
session->mutable_status_controller()->set_last_download_updates_result(
NETWORK_CONNECTION_UNAVAILABLE);
}
void SimulateNormalSuccess(ModelTypeSet requested_types,
const sessions::NudgeTracker& nudge_tracker,
sessions::SyncSession* session) {
ASSERT_EQ(0U, session->status_controller().num_server_changes_remaining());
session->mutable_status_controller()->set_commit_result(SYNCER_OK);
session->mutable_status_controller()->set_last_download_updates_result(
SYNCER_OK);
}
void SimulateDownloadUpdatesFailed(
ModelTypeSet requested_types,
const sessions::NudgeTracker& nudge_tracker,
sessions::SyncSession* session) {
session->mutable_status_controller()->set_last_download_updates_result(
SERVER_RETURN_TRANSIENT_ERROR);
}
void SimulateCommitFailed(ModelTypeSet requested_types,
const sessions::NudgeTracker& nudge_tracker,
sessions::SyncSession* session) {
session->mutable_status_controller()->set_last_get_key_result(SYNCER_OK);
session->mutable_status_controller()->set_last_download_updates_result(
SYNCER_OK);
session->mutable_status_controller()->set_commit_result(
SERVER_RETURN_TRANSIENT_ERROR);
}
void SimulateConnectionFailure(
ModelTypeSet requested_types,
const sessions::NudgeTracker& nudge_tracker,
sessions::SyncSession* session) {
session->mutable_status_controller()->set_last_download_updates_result(
NETWORK_CONNECTION_UNAVAILABLE);
}
void SimulatePollSuccess(ModelTypeSet requested_types,
sessions::SyncSession* session) {
ASSERT_EQ(0U, session->status_controller().num_server_changes_remaining());
session->mutable_status_controller()->set_last_download_updates_result(
SYNCER_OK);
}
void SimulatePollFailed(ModelTypeSet requested_types,
sessions::SyncSession* session) {
ASSERT_EQ(0U, session->status_controller().num_server_changes_remaining());
session->mutable_status_controller()->set_last_download_updates_result(
SERVER_RETURN_TRANSIENT_ERROR);
}
void SimulateThrottledImpl(
sessions::SyncSession* session,
const base::TimeDelta& delta) {
session->mutable_status_controller()->set_last_download_updates_result(
SERVER_RETURN_THROTTLED);
session->delegate()->OnThrottled(delta);
}
void SimulateTypesThrottledImpl(
sessions::SyncSession* session,
ModelTypeSet types,
const base::TimeDelta& delta) {
session->mutable_status_controller()->set_last_download_updates_result(
SERVER_RETURN_THROTTLED);
session->delegate()->OnTypesThrottled(types, delta);
}
void SimulatePollIntervalUpdateImpl(
ModelTypeSet requested_types,
sessions::SyncSession* session,
const base::TimeDelta& new_poll) {
SimulatePollSuccess(requested_types, session);
session->delegate()->OnReceivedLongPollIntervalUpdate(new_poll);
}
void SimulateSessionsCommitDelayUpdateImpl(
ModelTypeSet requested_types,
const sessions::NudgeTracker& nudge_tracker,
sessions::SyncSession* session,
const base::TimeDelta& new_delay) {
SimulateNormalSuccess(requested_types, nudge_tracker, session);
session->delegate()->OnReceivedSessionsCommitDelay(new_delay);
}
} // namespace test_util
} // namespace sessions
} // namespace syncer