summaryrefslogtreecommitdiffstats
path: root/sync/test
diff options
context:
space:
mode:
authorpvalenzuela@chromium.org <pvalenzuela@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-03 10:29:25 +0000
committerpvalenzuela@chromium.org <pvalenzuela@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-03 10:29:25 +0000
commit3efda4b6040f299eaa4bba4c21226e828ac75025 (patch)
tree4554f48aa6f4d4c2844605ed01f447f147b0cbc5 /sync/test
parentf1a6abc7a185d868428f85000bda1c1132ee5a23 (diff)
downloadchromium_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.cc65
-rw-r--r--sync/test/fake_server/fake_server.h9
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.