OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 unit tests. | 5 // Mock ServerConnectionManager class for use in client unit tests. |
6 | 6 |
7 #ifndef CHROME_TEST_SYNC_ENGINE_MOCK_CONNECTION_MANAGER_H_ | 7 #ifndef CHROME_TEST_SYNC_ENGINE_MOCK_CONNECTION_MANAGER_H_ |
8 #define CHROME_TEST_SYNC_ENGINE_MOCK_CONNECTION_MANAGER_H_ | 8 #define CHROME_TEST_SYNC_ENGINE_MOCK_CONNECTION_MANAGER_H_ |
9 #pragma once | 9 #pragma once |
10 | 10 |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
183 conflict_n_commits_ = value; | 183 conflict_n_commits_ = value; |
184 } | 184 } |
185 | 185 |
186 void set_use_legacy_bookmarks_protocol(bool value) { | 186 void set_use_legacy_bookmarks_protocol(bool value) { |
187 use_legacy_bookmarks_protocol_ = value; | 187 use_legacy_bookmarks_protocol_ = value; |
188 } | 188 } |
189 | 189 |
190 void set_store_birthday(string new_birthday) { | 190 void set_store_birthday(string new_birthday) { |
191 // Multiple threads can set store_birthday_ in our tests, need to lock it to | 191 // Multiple threads can set store_birthday_ in our tests, need to lock it to |
192 // ensure atomic read/writes and avoid race conditions. | 192 // ensure atomic read/writes and avoid race conditions. |
193 AutoLock lock(store_birthday_lock_); | 193 base::AutoLock lock(store_birthday_lock_); |
194 store_birthday_ = new_birthday; | 194 store_birthday_ = new_birthday; |
195 } | 195 } |
196 | 196 |
197 // Retrieve the number of GetUpdates requests that the mock server has | 197 // Retrieve the number of GetUpdates requests that the mock server has |
198 // seen since the last time this function was called. Can be used to | 198 // seen since the last time this function was called. Can be used to |
199 // verify that a GetUpdates actually did or did not happen after running | 199 // verify that a GetUpdates actually did or did not happen after running |
200 // the syncer. | 200 // the syncer. |
201 int GetAndClearNumGetUpdatesRequests() { | 201 int GetAndClearNumGetUpdatesRequests() { |
202 int result = num_get_updates_requests_; | 202 int result = num_get_updates_requests_; |
203 num_get_updates_requests_ = 0; | 203 num_get_updates_requests_ = 0; |
204 return result; | 204 return result; |
205 } | 205 } |
206 | 206 |
207 // Expect that GetUpdates will request exactly the types indicated in | 207 // Expect that GetUpdates will request exactly the types indicated in |
208 // the bitset. | 208 // the bitset. |
209 void ExpectGetUpdatesRequestTypes( | 209 void ExpectGetUpdatesRequestTypes( |
210 std::bitset<syncable::MODEL_TYPE_COUNT> expected_filter) { | 210 std::bitset<syncable::MODEL_TYPE_COUNT> expected_filter) { |
211 expected_filter_ = expected_filter; | 211 expected_filter_ = expected_filter; |
212 } | 212 } |
213 | 213 |
214 void SetServerReachable(); | 214 void SetServerReachable(); |
215 | 215 |
216 void SetServerNotReachable(); | 216 void SetServerNotReachable(); |
217 | 217 |
218 // Const necessary to avoid any hidden copy-on-write issues that would break | 218 // Const necessary to avoid any hidden copy-on-write issues that would break |
219 // in multithreaded scenarios (see |set_store_birthday|). | 219 // in multithreaded scenarios (see |set_store_birthday|). |
220 const std::string& store_birthday() { | 220 const std::string& store_birthday() { |
221 AutoLock lock(store_birthday_lock_); | 221 base::AutoLock lock(store_birthday_lock_); |
222 return store_birthday_; | 222 return store_birthday_; |
223 } | 223 } |
224 | 224 |
225 // Locate the most recent update message for purpose of alteration. | 225 // Locate the most recent update message for purpose of alteration. |
226 sync_pb::SyncEntity* GetMutableLastUpdate(); | 226 sync_pb::SyncEntity* GetMutableLastUpdate(); |
227 | 227 |
228 private: | 228 private: |
229 sync_pb::SyncEntity* AddUpdateFull(syncable::Id id, syncable::Id parentid, | 229 sync_pb::SyncEntity* AddUpdateFull(syncable::Id id, syncable::Id parentid, |
230 string name, int64 version, | 230 string name, int64 version, |
231 int64 sync_ts, | 231 int64 sync_ts, |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
270 | 270 |
271 // Commit messages we've sent, and responses we've returned. | 271 // Commit messages we've sent, and responses we've returned. |
272 ScopedVector<sync_pb::CommitMessage> commit_messages_; | 272 ScopedVector<sync_pb::CommitMessage> commit_messages_; |
273 ScopedVector<sync_pb::CommitResponse> commit_responses_; | 273 ScopedVector<sync_pb::CommitResponse> commit_responses_; |
274 | 274 |
275 // The next id the mock will return to a commit. | 275 // The next id the mock will return to a commit. |
276 int next_new_id_; | 276 int next_new_id_; |
277 | 277 |
278 // The store birthday we send to the client. | 278 // The store birthday we send to the client. |
279 string store_birthday_; | 279 string store_birthday_; |
280 Lock store_birthday_lock_; | 280 base::Lock store_birthday_lock_; |
281 bool store_birthday_sent_; | 281 bool store_birthday_sent_; |
282 bool client_stuck_; | 282 bool client_stuck_; |
283 string commit_time_rename_prepended_string_; | 283 string commit_time_rename_prepended_string_; |
284 | 284 |
285 // Fail on the next call to PostBufferToPath(). | 285 // Fail on the next call to PostBufferToPath(). |
286 bool fail_next_postbuffer_; | 286 bool fail_next_postbuffer_; |
287 | 287 |
288 // Our directory. | 288 // Our directory. |
289 syncable::DirectoryManager* directory_manager_; | 289 syncable::DirectoryManager* directory_manager_; |
290 std::string directory_name_; | 290 std::string directory_name_; |
(...skipping 14 matching lines...) Expand all Loading... |
305 | 305 |
306 // Whether we are faking a server mandating clients to throttle requests. | 306 // Whether we are faking a server mandating clients to throttle requests. |
307 // Protected by |response_code_override_lock_|. | 307 // Protected by |response_code_override_lock_|. |
308 bool throttling_; | 308 bool throttling_; |
309 | 309 |
310 // Whether we are failing all requests by returning | 310 // Whether we are failing all requests by returning |
311 // ClientToServerResponse::AUTH_INVALID. | 311 // ClientToServerResponse::AUTH_INVALID. |
312 // Protected by |response_code_override_lock_|. | 312 // Protected by |response_code_override_lock_|. |
313 bool fail_with_auth_invalid_; | 313 bool fail_with_auth_invalid_; |
314 | 314 |
315 Lock response_code_override_lock_; | 315 base::Lock response_code_override_lock_; |
316 | 316 |
317 // True if we are only accepting GetUpdatesCallerInfo::PERIODIC requests. | 317 // True if we are only accepting GetUpdatesCallerInfo::PERIODIC requests. |
318 bool fail_non_periodic_get_updates_; | 318 bool fail_non_periodic_get_updates_; |
319 | 319 |
320 scoped_ptr<sync_pb::ClientCommand> client_command_; | 320 scoped_ptr<sync_pb::ClientCommand> client_command_; |
321 | 321 |
322 // The next value to use for the position_in_parent property. | 322 // The next value to use for the position_in_parent property. |
323 int64 next_position_in_parent_; | 323 int64 next_position_in_parent_; |
324 | 324 |
325 // The default is to use the newer sync_pb::BookmarkSpecifics-style protocol. | 325 // The default is to use the newer sync_pb::BookmarkSpecifics-style protocol. |
326 // If this option is set to true, then the MockConnectionManager will | 326 // If this option is set to true, then the MockConnectionManager will |
327 // use the older sync_pb::SyncEntity_BookmarkData-style protocol. | 327 // use the older sync_pb::SyncEntity_BookmarkData-style protocol. |
328 bool use_legacy_bookmarks_protocol_; | 328 bool use_legacy_bookmarks_protocol_; |
329 | 329 |
330 std::bitset<syncable::MODEL_TYPE_COUNT> expected_filter_; | 330 std::bitset<syncable::MODEL_TYPE_COUNT> expected_filter_; |
331 | 331 |
332 int num_get_updates_requests_; | 332 int num_get_updates_requests_; |
333 | 333 |
334 sync_pb::ClientToServerMessage last_request_; | 334 sync_pb::ClientToServerMessage last_request_; |
335 | 335 |
336 DISALLOW_COPY_AND_ASSIGN(MockConnectionManager); | 336 DISALLOW_COPY_AND_ASSIGN(MockConnectionManager); |
337 }; | 337 }; |
338 | 338 |
339 #endif // CHROME_TEST_SYNC_ENGINE_MOCK_CONNECTION_MANAGER_H_ | 339 #endif // CHROME_TEST_SYNC_ENGINE_MOCK_CONNECTION_MANAGER_H_ |
OLD | NEW |