OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |