1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "sync/sessions/test_util.h" 6 7 namespace syncer { 8 namespace sessions { 9 namespace test_util { 10 11 void SimulateGetEncryptionKeyFailed( 12 ModelTypeSet requsted_types, 13 sync_pb::GetUpdatesCallerInfo::GetUpdatesSource source, 14 sessions::SyncSession* session) { 15 session->mutable_status_controller()->set_last_get_key_result( 16 SERVER_RESPONSE_VALIDATION_FAILED); 17 session->mutable_status_controller()->set_last_download_updates_result( 18 SYNCER_OK); 19 } 20 21 void SimulateConfigureSuccess( 22 ModelTypeSet requsted_types, 23 sync_pb::GetUpdatesCallerInfo::GetUpdatesSource source, 24 sessions::SyncSession* session) { 25 session->mutable_status_controller()->set_last_get_key_result(SYNCER_OK); 26 session->mutable_status_controller()->set_last_download_updates_result( 27 SYNCER_OK); 28 } 29 30 void SimulateConfigureFailed( 31 ModelTypeSet requsted_types, 32 sync_pb::GetUpdatesCallerInfo::GetUpdatesSource source, 33 sessions::SyncSession* session) { 34 session->mutable_status_controller()->set_last_get_key_result(SYNCER_OK); 35 session->mutable_status_controller()->set_last_download_updates_result( 36 SERVER_RETURN_TRANSIENT_ERROR); 37 } 38 39 void SimulateConfigureConnectionFailure( 40 ModelTypeSet requsted_types, 41 sync_pb::GetUpdatesCallerInfo::GetUpdatesSource source, 42 sessions::SyncSession* session) { 43 session->mutable_status_controller()->set_last_get_key_result(SYNCER_OK); 44 session->mutable_status_controller()->set_last_download_updates_result( 45 NETWORK_CONNECTION_UNAVAILABLE); 46 } 47 48 void SimulateNormalSuccess(ModelTypeSet requested_types, 49 const sessions::NudgeTracker& nudge_tracker, 50 sessions::SyncSession* session) { 51 session->mutable_status_controller()->set_commit_result(SYNCER_OK); 52 session->mutable_status_controller()->set_last_download_updates_result( 53 SYNCER_OK); 54 } 55 56 void SimulateDownloadUpdatesFailed( 57 ModelTypeSet requested_types, 58 const sessions::NudgeTracker& nudge_tracker, 59 sessions::SyncSession* session) { 60 session->mutable_status_controller()->set_last_download_updates_result( 61 SERVER_RETURN_TRANSIENT_ERROR); 62 } 63 64 void SimulateCommitFailed(ModelTypeSet requested_types, 65 const sessions::NudgeTracker& nudge_tracker, 66 sessions::SyncSession* session) { 67 session->mutable_status_controller()->set_last_get_key_result(SYNCER_OK); 68 session->mutable_status_controller()->set_last_download_updates_result( 69 SYNCER_OK); 70 session->mutable_status_controller()->set_commit_result( 71 SERVER_RETURN_TRANSIENT_ERROR); 72 } 73 74 void SimulateConnectionFailure( 75 ModelTypeSet requested_types, 76 const sessions::NudgeTracker& nudge_tracker, 77 sessions::SyncSession* session) { 78 session->mutable_status_controller()->set_last_download_updates_result( 79 NETWORK_CONNECTION_UNAVAILABLE); 80 } 81 82 void SimulatePollSuccess(ModelTypeSet requested_types, 83 sessions::SyncSession* session) { 84 session->mutable_status_controller()->set_last_download_updates_result( 85 SYNCER_OK); 86 } 87 88 void SimulatePollFailed(ModelTypeSet requested_types, 89 sessions::SyncSession* session) { 90 session->mutable_status_controller()->set_last_download_updates_result( 91 SERVER_RETURN_TRANSIENT_ERROR); 92 } 93 94 void SimulateThrottledImpl( 95 sessions::SyncSession* session, 96 const base::TimeDelta& delta) { 97 session->mutable_status_controller()->set_last_download_updates_result( 98 SERVER_RETURN_THROTTLED); 99 session->delegate()->OnThrottled(delta); 100 } 101 102 void SimulateTypesThrottledImpl( 103 sessions::SyncSession* session, 104 ModelTypeSet types, 105 const base::TimeDelta& delta) { 106 session->mutable_status_controller()->set_last_download_updates_result( 107 SERVER_RETURN_THROTTLED); 108 session->delegate()->OnTypesThrottled(types, delta); 109 } 110 111 void SimulatePollIntervalUpdateImpl( 112 ModelTypeSet requested_types, 113 sessions::SyncSession* session, 114 const base::TimeDelta& new_poll) { 115 SimulatePollSuccess(requested_types, session); 116 session->delegate()->OnReceivedLongPollIntervalUpdate(new_poll); 117 } 118 119 void SimulateSessionsCommitDelayUpdateImpl( 120 ModelTypeSet requested_types, 121 const sessions::NudgeTracker& nudge_tracker, 122 sessions::SyncSession* session, 123 const base::TimeDelta& new_delay) { 124 SimulateNormalSuccess(requested_types, nudge_tracker, session); 125 std::map<ModelType, base::TimeDelta> delay_map; 126 delay_map[SESSIONS] = new_delay; 127 session->delegate()->OnReceivedCustomNudgeDelays(delay_map); 128 } 129 130 void SimulateGuRetryDelayCommandImpl(sessions::SyncSession* session, 131 base::TimeDelta delay) { 132 session->mutable_status_controller()->set_last_download_updates_result( 133 SYNCER_OK); 134 session->delegate()->OnReceivedGuRetryDelay(delay); 135 } 136 137 } // namespace test_util 138 } // namespace sessions 139 } // namespace syncer 140