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

Side by Side 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « sync/test/fake_server/fake_server.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "sync/test/fake_server/fake_server.h" 5 #include "sync/test/fake_server/fake_server.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 } 140 }
141 141
142 return scoped_ptr<UpdateSieve>( 142 return scoped_ptr<UpdateSieve>(
143 new UpdateSieve(request_from_version, min_version)); 143 new UpdateSieve(request_from_version, min_version));
144 } 144 }
145 145
146 } // namespace 146 } // namespace
147 147
148 FakeServer::FakeServer() : version_(0), 148 FakeServer::FakeServer() : version_(0),
149 store_birthday_(kDefaultStoreBirthday), 149 store_birthday_(kDefaultStoreBirthday),
150 authenticated_(true) { 150 authenticated_(true),
151 error_type_(sync_pb::SyncEnums::SUCCESS) {
151 keystore_keys_.push_back(kDefaultKeystoreKey); 152 keystore_keys_.push_back(kDefaultKeystoreKey);
152 CHECK(CreateDefaultPermanentItems()); 153 CHECK(CreateDefaultPermanentItems());
153 } 154 }
154 155
155 FakeServer::~FakeServer() { 156 FakeServer::~FakeServer() {
156 STLDeleteContainerPairSecondPointers(entities_.begin(), entities_.end()); 157 STLDeleteContainerPairSecondPointers(entities_.begin(), entities_.end());
157 } 158 }
158 159
159 bool FakeServer::CreateDefaultPermanentItems() { 160 bool FakeServer::CreateDefaultPermanentItems() {
160 ModelTypeSet all_types = syncer::ProtocolTypes(); 161 ModelTypeSet all_types = syncer::ProtocolTypes();
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 sync_pb::ClientToServerMessage message; 225 sync_pb::ClientToServerMessage message;
225 bool parsed = message.ParseFromString(request); 226 bool parsed = message.ParseFromString(request);
226 DCHECK(parsed); 227 DCHECK(parsed);
227 228
228 sync_pb::SyncEnums_ErrorType error_code; 229 sync_pb::SyncEnums_ErrorType error_code;
229 sync_pb::ClientToServerResponse response_proto; 230 sync_pb::ClientToServerResponse response_proto;
230 231
231 if (message.has_store_birthday() && 232 if (message.has_store_birthday() &&
232 message.store_birthday() != store_birthday_) { 233 message.store_birthday() != store_birthday_) {
233 error_code = sync_pb::SyncEnums::NOT_MY_BIRTHDAY; 234 error_code = sync_pb::SyncEnums::NOT_MY_BIRTHDAY;
235 } else if (error_type_ != sync_pb::SyncEnums::SUCCESS) {
236 error_code = error_type_;
234 } else { 237 } else {
235 bool success = false; 238 bool success = false;
236 switch (message.message_contents()) { 239 switch (message.message_contents()) {
237 case sync_pb::ClientToServerMessage::GET_UPDATES: 240 case sync_pb::ClientToServerMessage::GET_UPDATES:
238 success = HandleGetUpdatesRequest(message.get_updates(), 241 success = HandleGetUpdatesRequest(message.get_updates(),
239 response_proto.mutable_get_updates()); 242 response_proto.mutable_get_updates());
240 break; 243 break;
241 case sync_pb::ClientToServerMessage::COMMIT: 244 case sync_pb::ClientToServerMessage::COMMIT:
242 success = HandleCommitRequest(message.commit(), 245 success = HandleCommitRequest(message.commit(),
243 message.invalidator_client_id(), 246 message.invalidator_client_id(),
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
498 } 501 }
499 502
500 void FakeServer::SetAuthenticated() { 503 void FakeServer::SetAuthenticated() {
501 authenticated_ = true; 504 authenticated_ = true;
502 } 505 }
503 506
504 void FakeServer::SetUnauthenticated() { 507 void FakeServer::SetUnauthenticated() {
505 authenticated_ = false; 508 authenticated_ = false;
506 } 509 }
507 510
511 // TODO(pvalenzuela): comments from Richard: we should look at
512 // mock_connection_manager.cc and take it as a warning. This style of injecting
513 // errors works when there's one or two conditions we care about, but it can
514 // eventually lead to a hairball once we have many different conditions and
515 // triggering logic.
516 void FakeServer::TriggerError(const sync_pb::SyncEnums::ErrorType& error_type) {
517 error_type_ = error_type;
518 }
519
508 void FakeServer::AddObserver(Observer* observer) { 520 void FakeServer::AddObserver(Observer* observer) {
509 observers_.AddObserver(observer); 521 observers_.AddObserver(observer);
510 } 522 }
511 523
512 void FakeServer::RemoveObserver(Observer* observer) { 524 void FakeServer::RemoveObserver(Observer* observer) {
513 observers_.RemoveObserver(observer); 525 observers_.RemoveObserver(observer);
514 } 526 }
515 527
516 } // namespace fake_server 528 } // namespace fake_server
OLDNEW
« no previous file with comments | « sync/test/fake_server/fake_server.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698