| 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..d0ea4de6011c78493cb25d9cc698671296c38ccf 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 = false;
|
| + 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);
|
| }
|
|
|