Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2106)

Unified Diff: chrome/browser/sync/test/engine/mock_connection_manager.cc

Issue 9348036: Trim code from sync's ServerConnectionManager (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: small updates Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync/test/engine/mock_connection_manager.cc
diff --git a/chrome/browser/sync/test/engine/mock_connection_manager.cc b/chrome/browser/sync/test/engine/mock_connection_manager.cc
index 488f83730517e85f99d17d4e7497712a0311fc06..76fb7e11fa444b5c7b349757ec7f16777982b489 100644
--- a/chrome/browser/sync/test/engine/mock_connection_manager.cc
+++ b/chrome/browser/sync/test/engine/mock_connection_manager.cc
@@ -38,9 +38,12 @@ using syncable::ModelType;
using syncable::ScopedDirLookup;
using syncable::WriteTransaction;
+static char kValidAuthToken[] = "AuthToken";
+
MockConnectionManager::MockConnectionManager(DirectoryManager* dirmgr,
const string& name)
: ServerConnectionManager("unused", 0, false, "version"),
+ server_reachable_(true),
conflict_all_commits_(false),
conflict_n_commits_(0),
next_new_id_(10000),
@@ -59,8 +62,8 @@ MockConnectionManager::MockConnectionManager(DirectoryManager* dirmgr,
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() {
@@ -93,16 +96,27 @@ bool MockConnectionManager::PostBufferToPath(PostBufferParams* params,
response.Clear();
ScopedDirLookup directory(directory_manager_, directory_name_);
- // For any non-AUTHENTICATE requests, a valid directory should be set up.
- // If the Directory's locked when we do this, it's a problem as in normal
- // use this function could take a while to return because it accesses the
- // network. As we can't test this we do the next best thing and hang here
- // when there's an issue.
+
+ // A valid directory should be set up. If the Directory's locked when we do
+ // this, it's a problem as in normal use this function could take a while to
+ // return because it accesses the network. As we can't test this we do the
+ // next best thing and hang here when there's an issue.
if (post.message_contents() != ClientToServerMessage::AUTHENTICATE) {
CHECK(directory.good());
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;
@@ -135,8 +149,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 {
@@ -170,14 +182,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();
@@ -466,35 +470,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_) {
@@ -647,19 +622,9 @@ 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_)));
}

Powered by Google App Engine
This is Rietveld 408576698