Chromium Code Reviews| 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 207f1a2700115ac0a726f33bb5440e9e58641cdb..2aea215bba0ec31046322d092f8162fd25162c65 100644 |
| --- a/sync/test/fake_server/fake_server.cc |
| +++ b/sync/test/fake_server/fake_server.cc |
| @@ -34,8 +34,8 @@ using syncer::GetModelType; |
| using syncer::ModelType; |
| using syncer::ModelTypeSet; |
| -// The default birthday value. |
| -static const char kDefaultBirthday[] = "1234567890"; |
| +// The default store birthday value. |
| +static const char kDefaultStoreBirthday[] = "1234567890"; |
| // The default keystore key. |
| static const char kDefaultKeystoreKey[] = "1111111111111111"; |
| @@ -145,7 +145,7 @@ scoped_ptr<UpdateSieve> UpdateSieve::Create( |
| } // namespace |
| -FakeServer::FakeServer() : version_(0), birthday_(kDefaultBirthday) { |
| +FakeServer::FakeServer() : version_(0), store_birthday_(kDefaultStoreBirthday) { |
| keystore_keys_.push_back(kDefaultKeystoreKey); |
| CHECK(CreateDefaultPermanentItems()); |
| } |
| @@ -218,32 +218,41 @@ void FakeServer::HandleCommand(const string& request, |
| bool parsed = message.ParseFromString(request); |
| DCHECK(parsed); |
| + sync_pb::SyncEnums_ErrorType error_code; |
| sync_pb::ClientToServerResponse response_proto; |
| - bool success; |
| - switch (message.message_contents()) { |
| - case sync_pb::ClientToServerMessage::GET_UPDATES: |
| - success = HandleGetUpdatesRequest(message.get_updates(), |
| - response_proto.mutable_get_updates()); |
| - break; |
| - case sync_pb::ClientToServerMessage::COMMIT: |
| - success = HandleCommitRequest(message.commit(), |
| - message.invalidator_client_id(), |
| - response_proto.mutable_commit()); |
| - break; |
| - default: |
| - callback.Run(net::ERR_NOT_IMPLEMENTED, 0, string());; |
| + |
| + if (message.has_store_birthday() && |
| + message.store_birthday() != store_birthday_) { |
| + error_code = sync_pb::SyncEnums::NOT_MY_BIRTHDAY; |
| + } else { |
| + bool success; |
|
Nicolas Zea
2014/06/02 22:02:04
nit: initialize to false
pval...(no longer on Chromium)
2014/06/02 23:06:54
Done.
|
| + switch (message.message_contents()) { |
| + case sync_pb::ClientToServerMessage::GET_UPDATES: |
| + success = HandleGetUpdatesRequest(message.get_updates(), |
| + response_proto.mutable_get_updates()); |
| + break; |
| + case sync_pb::ClientToServerMessage::COMMIT: |
| + success = HandleCommitRequest(message.commit(), |
| + message.invalidator_client_id(), |
| + response_proto.mutable_commit()); |
| + break; |
| + default: |
| + callback.Run(net::ERR_NOT_IMPLEMENTED, 0, string());; |
| + return; |
| + } |
| + |
| + if (!success) { |
| + // TODO(pvalenzuela): Add logging here so that tests have more info about |
| + // the failure. |
| + callback.Run(net::ERR_FAILED, 0, string()); |
| return; |
| - } |
| + } |
| - if (!success) { |
| - // TODO(pvalenzuela): Add logging here so that tests have more info about |
| - // the failure. |
| - callback.Run(net::ERR_FAILED, 0, string()); |
| - return; |
| + error_code = sync_pb::SyncEnums::SUCCESS; |
| } |
| - response_proto.set_error_code(sync_pb::SyncEnums::SUCCESS); |
| - response_proto.set_store_birthday(birthday_); |
| + response_proto.set_error_code(error_code); |
| + response_proto.set_store_birthday(store_birthday_); |
| callback.Run(0, net::HTTP_OK, response_proto.SerializeAsString()); |
| } |
| @@ -473,6 +482,14 @@ void FakeServer::InjectEntity(scoped_ptr<FakeServerEntity> entity) { |
| SaveEntity(entity.release()); |
| } |
| +bool FakeServer::SetNewStoreBirthday(const string& store_birthday) { |
| + if (store_birthday_ == store_birthday) |
| + return false; |
| + |
| + store_birthday_ = store_birthday; |
| + return true; |
| +} |
| + |
| void FakeServer::AddObserver(Observer* observer) { |
| observers_.AddObserver(observer); |
| } |