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

Side by Side Diff: sync/test/engine/mock_connection_manager.cc

Issue 10103017: Abort sync cycles when download step fails (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove notifications re-enable code Created 8 years, 8 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/engine/mock_connection_manager.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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // Mock ServerConnectionManager class for use in client regression tests. 5 // Mock ServerConnectionManager class for use in client regression tests.
6 6
7 #include "sync/test/engine/mock_connection_manager.h" 7 #include "sync/test/engine/mock_connection_manager.h"
8 8
9 #include <map> 9 #include <map>
10 10
(...skipping 30 matching lines...) Expand all
41 MockConnectionManager::MockConnectionManager(syncable::Directory* directory) 41 MockConnectionManager::MockConnectionManager(syncable::Directory* directory)
42 : ServerConnectionManager("unused", 0, false, "version"), 42 : ServerConnectionManager("unused", 0, false, "version"),
43 server_reachable_(true), 43 server_reachable_(true),
44 conflict_all_commits_(false), 44 conflict_all_commits_(false),
45 conflict_n_commits_(0), 45 conflict_n_commits_(0),
46 next_new_id_(10000), 46 next_new_id_(10000),
47 store_birthday_("Store BDay!"), 47 store_birthday_("Store BDay!"),
48 store_birthday_sent_(false), 48 store_birthday_sent_(false),
49 client_stuck_(false), 49 client_stuck_(false),
50 commit_time_rename_prepended_string_(""), 50 commit_time_rename_prepended_string_(""),
51 fail_next_postbuffer_(false), 51 countdown_to_postbuffer_fail_(0),
52 directory_(directory), 52 directory_(directory),
53 mid_commit_observer_(NULL), 53 mid_commit_observer_(NULL),
54 throttling_(false), 54 throttling_(false),
55 fail_with_auth_invalid_(false), 55 fail_with_auth_invalid_(false),
56 fail_non_periodic_get_updates_(false), 56 fail_non_periodic_get_updates_(false),
57 client_command_(NULL), 57 client_command_(NULL),
58 next_position_in_parent_(2), 58 next_position_in_parent_(2),
59 use_legacy_bookmarks_protocol_(false), 59 use_legacy_bookmarks_protocol_(false),
60 num_get_updates_requests_(0) { 60 num_get_updates_requests_(0) {
61 SetNewTimestamp(0); 61 SetNewTimestamp(0);
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 params->response.server_status = HttpResponse::SYNC_AUTH_ERROR; 104 params->response.server_status = HttpResponse::SYNC_AUTH_ERROR;
105 return false; 105 return false;
106 } 106 }
107 107
108 if (auth_token != kValidAuthToken) { 108 if (auth_token != kValidAuthToken) {
109 // Simulate server-side auth failure. 109 // Simulate server-side auth failure.
110 params->response.server_status = HttpResponse::SYNC_AUTH_ERROR; 110 params->response.server_status = HttpResponse::SYNC_AUTH_ERROR;
111 InvalidateAndClearAuthToken(); 111 InvalidateAndClearAuthToken();
112 } 112 }
113 113
114 if (fail_next_postbuffer_) { 114 if (--countdown_to_postbuffer_fail_ == 0) {
115 fail_next_postbuffer_ = false; 115 // Fail as countdown hits zero.
116 params->response.server_status = HttpResponse::SYNC_SERVER_ERROR;
116 return false; 117 return false;
117 } 118 }
118 119
119 if (!server_reachable_) { 120 if (!server_reachable_) {
120 params->response.server_status = HttpResponse::CONNECTION_UNAVAILABLE; 121 params->response.server_status = HttpResponse::CONNECTION_UNAVAILABLE;
121 return false; 122 return false;
122 } 123 }
123 124
124 // Default to an ok connection. 125 // Default to an ok connection.
125 params->response.server_status = HttpResponse::SERVER_CONNECTION_OK; 126 params->response.server_status = HttpResponse::SERVER_CONNECTION_OK;
(...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after
557 const CommitMessage& MockConnectionManager::last_sent_commit() const { 558 const CommitMessage& MockConnectionManager::last_sent_commit() const {
558 EXPECT_TRUE(!commit_messages_.empty()); 559 EXPECT_TRUE(!commit_messages_.empty());
559 return *commit_messages_->back(); 560 return *commit_messages_->back();
560 } 561 }
561 562
562 const CommitResponse& MockConnectionManager::last_commit_response() const { 563 const CommitResponse& MockConnectionManager::last_commit_response() const {
563 EXPECT_TRUE(!commit_responses_.empty()); 564 EXPECT_TRUE(!commit_responses_.empty());
564 return *commit_responses_->back(); 565 return *commit_responses_->back();
565 } 566 }
566 567
567 void MockConnectionManager::ThrottleNextRequest(
568 ResponseCodeOverrideRequestor* visitor) {
569 base::AutoLock lock(response_code_override_lock_);
570 throttling_ = true;
571 if (visitor)
572 visitor->OnOverrideComplete();
573 }
574
575 void MockConnectionManager::FailWithAuthInvalid(
576 ResponseCodeOverrideRequestor* visitor) {
577 base::AutoLock lock(response_code_override_lock_);
578 fail_with_auth_invalid_ = true;
579 if (visitor)
580 visitor->OnOverrideComplete();
581 }
582
583 void MockConnectionManager::StopFailingWithAuthInvalid(
584 ResponseCodeOverrideRequestor* visitor) {
585 base::AutoLock lock(response_code_override_lock_);
586 fail_with_auth_invalid_ = false;
587 if (visitor)
588 visitor->OnOverrideComplete();
589 }
590
591 bool MockConnectionManager::IsModelTypePresentInSpecifics( 568 bool MockConnectionManager::IsModelTypePresentInSpecifics(
592 const google::protobuf::RepeatedPtrField< 569 const google::protobuf::RepeatedPtrField<
593 sync_pb::DataTypeProgressMarker>& filter, 570 sync_pb::DataTypeProgressMarker>& filter,
594 syncable::ModelType value) { 571 syncable::ModelType value) {
595 int data_type_id = syncable::GetSpecificsFieldNumberFromModelType(value); 572 int data_type_id = syncable::GetSpecificsFieldNumberFromModelType(value);
596 for (int i = 0; i < filter.size(); ++i) { 573 for (int i = 0; i < filter.size(); ++i) {
597 if (filter.Get(i).data_type_id() == data_type_id) { 574 if (filter.Get(i).data_type_id() == data_type_id) {
598 return true; 575 return true;
599 } 576 }
600 } 577 }
(...skipping 22 matching lines...) Expand all
623 server_reachable_ = false; 600 server_reachable_ = false;
624 } 601 }
625 602
626 void MockConnectionManager::UpdateConnectionStatus() { 603 void MockConnectionManager::UpdateConnectionStatus() {
627 if (!server_reachable_) { 604 if (!server_reachable_) {
628 server_status_ = HttpResponse::CONNECTION_UNAVAILABLE; 605 server_status_ = HttpResponse::CONNECTION_UNAVAILABLE;
629 } else { 606 } else {
630 server_status_ = HttpResponse::SERVER_CONNECTION_OK; 607 server_status_ = HttpResponse::SERVER_CONNECTION_OK;
631 } 608 }
632 } 609 }
OLDNEW
« no previous file with comments | « sync/test/engine/mock_connection_manager.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698