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

Side by Side Diff: chrome/browser/sync/test/integration/profile_sync_service_harness.h

Issue 184993006: sync: Change progress marker checking in tests (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Review fixes Created 6 years, 9 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 | « no previous file | chrome/browser/sync/test/integration/profile_sync_service_harness.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #ifndef CHROME_BROWSER_SYNC_TEST_INTEGRATION_PROFILE_SYNC_SERVICE_HARNESS_H_ 5 #ifndef CHROME_BROWSER_SYNC_TEST_INTEGRATION_PROFILE_SYNC_SERVICE_HARNESS_H_
6 #define CHROME_BROWSER_SYNC_TEST_INTEGRATION_PROFILE_SYNC_SERVICE_HARNESS_H_ 6 #define CHROME_BROWSER_SYNC_TEST_INTEGRATION_PROFILE_SYNC_SERVICE_HARNESS_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 bool AwaitCommitActivityCompletion(); 81 bool AwaitCommitActivityCompletion();
82 82
83 // Blocks the caller until sync has been disabled for this client. Returns 83 // Blocks the caller until sync has been disabled for this client. Returns
84 // true if sync is disabled. 84 // true if sync is disabled.
85 bool AwaitSyncDisabled(); 85 bool AwaitSyncDisabled();
86 86
87 // Blocks the caller until sync setup is complete for this client. Returns 87 // Blocks the caller until sync setup is complete for this client. Returns
88 // true if sync setup is complete. 88 // true if sync setup is complete.
89 bool AwaitSyncSetupCompletion(); 89 bool AwaitSyncSetupCompletion();
90 90
91 // Blocks the caller until this harness has observed that the sync engine
92 // has downloaded all the changes seen by the |partner| harness's client.
93 bool WaitUntilProgressMarkersMatch(ProfileSyncServiceHarness* partner);
94
95 // Calling this acts as a barrier and blocks the caller until |this| and 91 // Calling this acts as a barrier and blocks the caller until |this| and
96 // |partner| have both completed a sync cycle. When calling this method, 92 // |partner| have both completed a sync cycle. When calling this method,
97 // the |partner| should be the passive responder who responds to the actions 93 // the |partner| should be the passive responder who responds to the actions
98 // of |this|. This method relies upon the synchronization of callbacks 94 // of |this|. This method relies upon the synchronization of callbacks
99 // from the message queue. Returns true if two sync cycles have completed. 95 // from the message queue. Returns true if two sync cycles have completed.
100 // Note: Use this method when exactly one client makes local change(s), and 96 // Note: Use this method when exactly one client makes local change(s), and
101 // exactly one client is waiting to receive those changes. 97 // exactly one client is waiting to receive those changes.
102 bool AwaitMutualSyncCycleCompletion(ProfileSyncServiceHarness* partner); 98 bool AwaitMutualSyncCycleCompletion(ProfileSyncServiceHarness* partner);
103 99
104 // Blocks the caller until |this| completes its ongoing sync cycle and every 100 // Blocks the caller until |this| completes its ongoing sync cycle and every
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 176
181 // Returns a string that can be used as the value of an oauth2 refresh token. 177 // Returns a string that can be used as the value of an oauth2 refresh token.
182 // This function guarantees that a different string is returned each time 178 // This function guarantees that a different string is returned each time
183 // it is called. 179 // it is called.
184 std::string GenerateFakeOAuth2RefreshTokenString(); 180 std::string GenerateFakeOAuth2RefreshTokenString();
185 181
186 // Returns a string with relevant info about client's sync state (if 182 // Returns a string with relevant info about client's sync state (if
187 // available), annotated with |message|. Useful for logging. 183 // available), annotated with |message|. Useful for logging.
188 std::string GetClientInfoString(const std::string& message) const; 184 std::string GetClientInfoString(const std::string& message) const;
189 185
190 // Returns true if this client has downloaded all the items that the
191 // other client has.
192 bool MatchesPartnerClient() const;
193
194 private: 186 private:
195 ProfileSyncServiceHarness( 187 ProfileSyncServiceHarness(
196 Profile* profile, 188 Profile* profile,
197 const std::string& username, 189 const std::string& username,
198 const std::string& password, 190 const std::string& password,
199 invalidation::P2PInvalidationService* invalidation_service); 191 invalidation::P2PInvalidationService* invalidation_service);
200 192
201 // Quits the current message loop. Called when the status change being waited 193 // Quits the current message loop. Called when the status change being waited
202 // on has occurred, or in the event of a timeout. 194 // on has occurred, or in the event of a timeout.
203 void QuitMessageLoop(); 195 void QuitMessageLoop();
204 196
205 // Signals that sync setup is complete, and that PSS may begin syncing. 197 // Signals that sync setup is complete, and that PSS may begin syncing.
206 void FinishSyncSetup(); 198 void FinishSyncSetup();
207 199
208 // Gets the current progress marker of the current sync session for a 200 // Gets the current progress marker of the current sync session for a
209 // particular datatype. Returns an empty string if the progress marker isn't 201 // particular datatype. Returns an empty string if the progress marker isn't
210 // found. 202 // found.
211 std::string GetSerializedProgressMarker(syncer::ModelType model_type) const; 203 std::string GetSerializedProgressMarker(syncer::ModelType model_type) const;
212 204
213 // Returns true if a client has nothing left to commit and its progress
214 // markers are up to date.
215 bool HasLatestProgressMarkers() const;
216
217 // Gets detailed status from |service_| in pretty-printable form. 205 // Gets detailed status from |service_| in pretty-printable form.
218 std::string GetServiceStatus(); 206 std::string GetServiceStatus();
219 207
220 // Sync profile associated with this sync client. 208 // Sync profile associated with this sync client.
221 Profile* profile_; 209 Profile* profile_;
222 210
223 // ProfileSyncService object associated with |profile_|. 211 // ProfileSyncService object associated with |profile_|.
224 ProfileSyncService* service_; 212 ProfileSyncService* service_;
225 213
226 // An bridge between the ProfileSyncService and P2PInvalidationService. 214 // An bridge between the ProfileSyncService and P2PInvalidationService.
227 scoped_ptr<P2PInvalidationForwarder> p2p_invalidation_forwarder_; 215 scoped_ptr<P2PInvalidationForwarder> p2p_invalidation_forwarder_;
228 216
229 // The harness of the client whose update progress marker we're expecting
230 // eventually match.
231 ProfileSyncServiceHarness* progress_marker_partner_;
232
233 // Credentials used for GAIA authentication. 217 // Credentials used for GAIA authentication.
234 std::string username_; 218 std::string username_;
235 std::string password_; 219 std::string password_;
236 220
237 // Number used by GenerateFakeOAuth2RefreshTokenString() to make sure that 221 // Number used by GenerateFakeOAuth2RefreshTokenString() to make sure that
238 // all refresh tokens used in the tests are different. 222 // all refresh tokens used in the tests are different.
239 int oauth2_refesh_token_number_; 223 int oauth2_refesh_token_number_;
240 224
241 // Used for logging. 225 // Used for logging.
242 const std::string profile_debug_name_; 226 const std::string profile_debug_name_;
243 227
244 // Keeps track of the state change on which we are waiting. PSSHarness can 228 // Keeps track of the state change on which we are waiting. PSSHarness can
245 // wait on only one status change at a time. 229 // wait on only one status change at a time.
246 StatusChangeChecker* status_change_checker_; 230 StatusChangeChecker* status_change_checker_;
247 231
248 DISALLOW_COPY_AND_ASSIGN(ProfileSyncServiceHarness); 232 DISALLOW_COPY_AND_ASSIGN(ProfileSyncServiceHarness);
249 }; 233 };
250 234
251 #endif // CHROME_BROWSER_SYNC_TEST_INTEGRATION_PROFILE_SYNC_SERVICE_HARNESS_H_ 235 #endif // CHROME_BROWSER_SYNC_TEST_INTEGRATION_PROFILE_SYNC_SERVICE_HARNESS_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/sync/test/integration/profile_sync_service_harness.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698