diff options
author | pvalenzuela@chromium.org <pvalenzuela@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-03 10:29:25 +0000 |
---|---|---|
committer | pvalenzuela@chromium.org <pvalenzuela@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-03 10:29:25 +0000 |
commit | 3efda4b6040f299eaa4bba4c21226e828ac75025 (patch) | |
tree | 4554f48aa6f4d4c2844605ed01f447f147b0cbc5 /sync/test | |
parent | f1a6abc7a185d868428f85000bda1c1132ee5a23 (diff) | |
download | chromium_src-3efda4b6040f299eaa4bba4c21226e828ac75025.zip chromium_src-3efda4b6040f299eaa4bba4c21226e828ac75025.tar.gz chromium_src-3efda4b6040f299eaa4bba4c21226e828ac75025.tar.bz2 |
Convert Sync BirthdayErrorTest to use FakeServer
BUG=323265
Review URL: https://codereview.chromium.org/308963006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@274459 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/test')
-rw-r--r-- | sync/test/fake_server/fake_server.cc | 65 | ||||
-rw-r--r-- | sync/test/fake_server/fake_server.h | 9 |
2 files changed, 48 insertions, 26 deletions
diff --git a/sync/test/fake_server/fake_server.cc b/sync/test/fake_server/fake_server.cc index 207f1a2..d0ea4de 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); } diff --git a/sync/test/fake_server/fake_server.h b/sync/test/fake_server/fake_server.h index c33db91..74e5536 100644 --- a/sync/test/fake_server/fake_server.h +++ b/sync/test/fake_server/fake_server.h @@ -57,6 +57,11 @@ class FakeServer { // result in successful server operations. void InjectEntity(scoped_ptr<FakeServerEntity> entity); + // Sets a new store birthday so that tests may trigger a NOT_MY_BIRTHDAY + // error. If |store_birthday| is the same as |store_birthday_|, false is + // returned and this method has no effect. + bool SetNewStoreBirthday(const std::string& store_birthday); + // Adds |observer| to FakeServer's observer list. This should be called // before the Profile associated with |observer| is connected to the server. void AddObserver(Observer* observer); @@ -115,8 +120,8 @@ class FakeServer { // have a version number of version_ + 1. int64 version_; - // The current birthday value. - std::string birthday_; + // The current store birthday value. + std::string store_birthday_; // All SyncEntity objects saved by the server. The key value is the entity's // id string. |