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

Unified Diff: sync/test/fake_server/fake_server.cc

Issue 310103004: Add integraton test for sync backup/rollback. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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: sync/test/fake_server/fake_server.cc
diff --git a/sync/test/fake_server/fake_server.cc b/sync/test/fake_server/fake_server.cc
index d0ea4de6011c78493cb25d9cc698671296c38ccf..ab8b741fa271db62a16b78951cd3a399191e8655 100644
--- a/sync/test/fake_server/fake_server.cc
+++ b/sync/test/fake_server/fake_server.cc
@@ -145,7 +145,9 @@ scoped_ptr<UpdateSieve> UpdateSieve::Create(
} // namespace
-FakeServer::FakeServer() : version_(0), store_birthday_(kDefaultStoreBirthday) {
+FakeServer::FakeServer() : version_(0),
+ store_birthday_(kDefaultStoreBirthday),
+ error_type_(sync_pb::SyncEnums::SUCCESS) {
keystore_keys_.push_back(kDefaultKeystoreKey);
CHECK(CreateDefaultPermanentItems());
}
@@ -224,6 +226,8 @@ void FakeServer::HandleCommand(const string& request,
if (message.has_store_birthday() &&
message.store_birthday() != store_birthday_) {
error_code = sync_pb::SyncEnums::NOT_MY_BIRTHDAY;
+ } else if (error_type_ != sync_pb::SyncEnums::SUCCESS) {
+ error_code = error_type_;
} else {
bool success = false;
switch (message.message_contents()) {
@@ -490,6 +494,15 @@ bool FakeServer::SetNewStoreBirthday(const string& store_birthday) {
return true;
}
+// TODO(pvalenzuela): comments from Richard: we should look at
+// mock_connection_manager.cc and take it as a warning. This style of injecting
+// errors works when there's one or two conditions we care about, but it can
+// eventually lead to a hairball once we have many different conditions and
+// triggering logic.
+void FakeServer::TriggerError(const sync_pb::SyncEnums::ErrorType& error_type) {
+ error_type_ = error_type;
+}
+
void FakeServer::AddObserver(Observer* observer) {
observers_.AddObserver(observer);
}

Powered by Google App Engine
This is Rietveld 408576698