| Index: sync/test/engine/mock_connection_manager.cc
|
| diff --git a/sync/test/engine/mock_connection_manager.cc b/sync/test/engine/mock_connection_manager.cc
|
| index f73b14ea92e58fe6d733bd1bafc67f25e338310a..ab95bce6f2afe92e3fb39c5b03603b7034417f68 100644
|
| --- a/sync/test/engine/mock_connection_manager.cc
|
| +++ b/sync/test/engine/mock_connection_manager.cc
|
| @@ -36,8 +36,11 @@ using syncable::MODEL_TYPE_COUNT;
|
| using syncable::ModelType;
|
| using syncable::WriteTransaction;
|
|
|
| +static char kValidAuthToken[] = "AuthToken";
|
| +
|
| MockConnectionManager::MockConnectionManager(syncable::Directory* directory)
|
| : ServerConnectionManager("unused", 0, false, "version"),
|
| + server_reachable_(true),
|
| conflict_all_commits_(false),
|
| conflict_n_commits_(0),
|
| next_new_id_(10000),
|
| @@ -55,8 +58,8 @@ MockConnectionManager::MockConnectionManager(syncable::Directory* directory)
|
| next_position_in_parent_(2),
|
| use_legacy_bookmarks_protocol_(false),
|
| num_get_updates_requests_(0) {
|
| - server_reachable_ = true;
|
| SetNewTimestamp(0);
|
| + set_auth_token(kValidAuthToken);
|
| }
|
|
|
| MockConnectionManager::~MockConnectionManager() {
|
| @@ -97,6 +100,17 @@ bool MockConnectionManager::PostBufferToPath(PostBufferParams* params,
|
| WriteTransaction wt(FROM_HERE, syncable::UNITTEST, directory_);
|
| }
|
|
|
| + if (auth_token.empty()) {
|
| + params->response.server_status = HttpResponse::SYNC_AUTH_ERROR;
|
| + return false;
|
| + }
|
| +
|
| + if (auth_token != kValidAuthToken) {
|
| + // Simulate server-side auth failure.
|
| + params->response.server_status = HttpResponse::SYNC_AUTH_ERROR;
|
| + InvalidateAndClearAuthToken();
|
| + }
|
| +
|
| if (fail_next_postbuffer_) {
|
| fail_next_postbuffer_ = false;
|
| return false;
|
| @@ -129,8 +143,6 @@ bool MockConnectionManager::PostBufferToPath(PostBufferParams* params,
|
| ProcessCommit(&post, &response);
|
| } else if (post.message_contents() == ClientToServerMessage::GET_UPDATES) {
|
| ProcessGetUpdates(&post, &response);
|
| - } else if (post.message_contents() == ClientToServerMessage::AUTHENTICATE) {
|
| - ProcessAuthenticate(&post, &response, auth_token);
|
| } else if (post.message_contents() == ClientToServerMessage::CLEAR_DATA) {
|
| ProcessClearData(&post, &response);
|
| } else {
|
| @@ -164,14 +176,6 @@ bool MockConnectionManager::PostBufferToPath(PostBufferParams* params,
|
| return result;
|
| }
|
|
|
| -bool MockConnectionManager::IsServerReachable() {
|
| - return true;
|
| -}
|
| -
|
| -bool MockConnectionManager::IsUserAuthenticated() {
|
| - return true;
|
| -}
|
| -
|
| sync_pb::GetUpdatesResponse* MockConnectionManager::GetUpdateResponse() {
|
| if (update_queue_.empty()) {
|
| NextUpdateBatch();
|
| @@ -460,35 +464,6 @@ void MockConnectionManager::ProcessClearData(ClientToServerMessage* csm,
|
| response->set_error_code(clear_user_data_response_errortype_);
|
| }
|
|
|
| -void MockConnectionManager::ProcessAuthenticate(
|
| - ClientToServerMessage* csm,
|
| - ClientToServerResponse* response,
|
| - const std::string& auth_token) {
|
| - ASSERT_EQ(csm->message_contents(), ClientToServerMessage::AUTHENTICATE);
|
| - EXPECT_FALSE(auth_token.empty());
|
| -
|
| - if (auth_token != valid_auth_token_) {
|
| - response->set_error_code(SyncEnums::AUTH_INVALID);
|
| - return;
|
| - }
|
| -
|
| - response->set_error_code(SyncEnums::SUCCESS);
|
| - response->mutable_authenticate()->CopyFrom(auth_response_);
|
| - auth_response_.Clear();
|
| -}
|
| -
|
| -void MockConnectionManager::SetAuthenticationResponseInfo(
|
| - const std::string& valid_auth_token,
|
| - const std::string& user_display_name,
|
| - const std::string& user_display_email,
|
| - const std::string& user_obfuscated_id) {
|
| - valid_auth_token_ = valid_auth_token;
|
| - sync_pb::UserIdentification* user = auth_response_.mutable_user();
|
| - user->set_display_name(user_display_name);
|
| - user->set_email(user_display_email);
|
| - user->set_obfuscated_id(user_obfuscated_id);
|
| -}
|
| -
|
| bool MockConnectionManager::ShouldConflictThisCommit() {
|
| bool conflict = false;
|
| if (conflict_all_commits_) {
|
| @@ -641,19 +616,17 @@ sync_pb::DataTypeProgressMarker const*
|
| }
|
|
|
| void MockConnectionManager::SetServerReachable() {
|
| - server_status_ = HttpResponse::SERVER_CONNECTION_OK;
|
| server_reachable_ = true;
|
| -
|
| - FOR_EACH_OBSERVER(ServerConnectionEventListener, listeners_,
|
| - OnServerConnectionEvent(
|
| - ServerConnectionEvent(server_status_, server_reachable_)));
|
| }
|
|
|
| void MockConnectionManager::SetServerNotReachable() {
|
| - server_status_ = HttpResponse::CONNECTION_UNAVAILABLE;
|
| server_reachable_ = false;
|
| +}
|
|
|
| - FOR_EACH_OBSERVER(ServerConnectionEventListener, listeners_,
|
| - OnServerConnectionEvent(
|
| - ServerConnectionEvent(server_status_, server_reachable_)));
|
| +void MockConnectionManager::UpdateConnectionStatus() {
|
| + if (!server_reachable_) {
|
| + server_status_ = HttpResponse::CONNECTION_UNAVAILABLE;
|
| + } else {
|
| + server_status_ = HttpResponse::SERVER_CONNECTION_OK;
|
| + }
|
| }
|
|
|