diff options
author | tim@chromium.org <tim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-08 19:07:36 +0000 |
---|---|---|
committer | tim@chromium.org <tim@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-08 19:07:36 +0000 |
commit | 1ce52aae084f6a0201c64141e35772fc70bab1f0 (patch) | |
tree | f1d3ee1f356df34f5746f4659c05b0de5438a808 /chrome/test | |
parent | af3711395a43fc47aa5882148edc93d9674dcdf1 (diff) | |
download | chromium_src-1ce52aae084f6a0201c64141e35772fc70bab1f0.zip chromium_src-1ce52aae084f6a0201c64141e35772fc70bab1f0.tar.gz chromium_src-1ce52aae084f6a0201c64141e35772fc70bab1f0.tar.bz2 |
Implements the backend for clearing data from the server
BUG=54280
TEST=accessible only via unit test checked in this CL
Original patch by raz@chromium.org
Original review: http://codereview.chromium.org/3293007
Review URL: http://codereview.chromium.org/3310018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58859 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test')
-rw-r--r-- | chrome/test/sync/engine/mock_connection_manager.cc | 16 | ||||
-rw-r--r-- | chrome/test/sync/engine/mock_connection_manager.h | 8 |
2 files changed, 23 insertions, 1 deletions
diff --git a/chrome/test/sync/engine/mock_connection_manager.cc b/chrome/test/sync/engine/mock_connection_manager.cc index bfba668..3b11e0a 100644 --- a/chrome/test/sync/engine/mock_connection_manager.cc +++ b/chrome/test/sync/engine/mock_connection_manager.cc @@ -126,6 +126,8 @@ bool MockConnectionManager::PostBufferToPath(const PostBufferParams* params, 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 { EXPECT_TRUE(false) << "Unknown/unsupported ClientToServerMessage"; return false; @@ -359,6 +361,20 @@ void MockConnectionManager::ProcessGetUpdates(ClientToServerMessage* csm, ResetUpdates(); } +void MockConnectionManager::SetClearUserDataResponseStatus( + sync_pb::UserDataStatus status) { + // Note: this is not a thread-safe set, ok for now. NOT ok if tests + // run the syncer on the background thread while this method is called. + clear_user_data_response_.set_status(status); +} + +void MockConnectionManager::ProcessClearData(ClientToServerMessage* csm, + ClientToServerResponse* response) { + CHECK(csm->has_clear_user_data()); + ASSERT_EQ(csm->message_contents(), ClientToServerMessage::CLEAR_DATA); + response->mutable_clear_user_data()->CopyFrom(clear_user_data_response_); +} + void MockConnectionManager::ProcessAuthenticate( ClientToServerMessage* csm, ClientToServerResponse* response, diff --git a/chrome/test/sync/engine/mock_connection_manager.h b/chrome/test/sync/engine/mock_connection_manager.h index 7d68844..2ed6ad4 100644 --- a/chrome/test/sync/engine/mock_connection_manager.h +++ b/chrome/test/sync/engine/mock_connection_manager.h @@ -128,6 +128,8 @@ class MockConnectionManager : public browser_sync::ServerConnectionManager { void FailNextPostBufferToPathCall() { fail_next_postbuffer_ = true; } + void SetClearUserDataResponseStatus(sync_pb::UserDataStatus status); + // A visitor class to allow a test to change some monitoring state atomically // with the action of overriding the response codes sent back to the Syncer // (for example, so you can say "ThrottleNextRequest, and assert no more @@ -238,7 +240,8 @@ class MockConnectionManager : public browser_sync::ServerConnectionManager { const std::string& auth_token); void ProcessCommit(sync_pb::ClientToServerMessage* csm, sync_pb::ClientToServerResponse* response_buffer); - + void ProcessClearData(sync_pb::ClientToServerMessage* csm, + sync_pb::ClientToServerResponse* response); void AddDefaultBookmarkData(sync_pb::SyncEntity* entity, bool is_folder); // Determine if one entry in a commit should be rejected with a conflict. @@ -290,6 +293,9 @@ class MockConnectionManager : public browser_sync::ServerConnectionManager { scoped_ptr<Callback0::Type> mid_commit_callback_; MidCommitObserver* mid_commit_observer_; + // The clear data response we'll return in the next response + sync_pb::ClearUserDataResponse clear_user_data_response_; + // The AUTHENTICATE response we'll return for auth requests. sync_pb::AuthenticateResponse auth_response_; // What we use to determine if we should return SUCCESS or BAD_AUTH_TOKEN. |