| OLD | NEW |
| 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 unit tests. | 5 // Mock ServerConnectionManager class for use in client unit tests. |
| 6 | 6 |
| 7 #ifndef SYNC_TEST_ENGINE_MOCK_CONNECTION_MANAGER_H_ | 7 #ifndef SYNC_TEST_ENGINE_MOCK_CONNECTION_MANAGER_H_ |
| 8 #define SYNC_TEST_ENGINE_MOCK_CONNECTION_MANAGER_H_ | 8 #define SYNC_TEST_ENGINE_MOCK_CONNECTION_MANAGER_H_ |
| 9 | 9 |
| 10 #include <bitset> | 10 #include <bitset> |
| 11 #include <list> | 11 #include <list> |
| 12 #include <string> | 12 #include <string> |
| 13 #include <vector> | 13 #include <vector> |
| 14 | 14 |
| 15 #include "base/callback.h" | 15 #include "base/callback.h" |
| 16 #include "base/compiler_specific.h" | 16 #include "base/compiler_specific.h" |
| 17 #include "base/memory/scoped_vector.h" | 17 #include "base/memory/scoped_vector.h" |
| 18 #include "sync/engine/net/server_connection_manager.h" | 18 #include "sync/engine/net/server_connection_manager.h" |
| 19 #include "sync/internal_api/public/base/model_type.h" | 19 #include "sync/internal_api/public/base/model_type.h" |
| 20 #include "sync/internal_api/public/base/model_type_invalidation_map.h" | 20 #include "sync/internal_api/public/base/model_type_invalidation_map.h" |
| 21 #include "sync/internal_api/public/base/unique_position.h" |
| 21 #include "sync/protocol/sync.pb.h" | 22 #include "sync/protocol/sync.pb.h" |
| 22 | 23 |
| 23 namespace syncer { | 24 namespace syncer { |
| 24 | 25 |
| 25 class MockConnectionManager : public ServerConnectionManager { | 26 class MockConnectionManager : public ServerConnectionManager { |
| 26 public: | 27 public: |
| 27 class MidCommitObserver { | 28 class MidCommitObserver { |
| 28 public: | 29 public: |
| 29 virtual void Observe() = 0; | 30 virtual void Observe() = 0; |
| 30 | 31 |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 int64 sync_ts); | 86 int64 sync_ts); |
| 86 sync_pb::SyncEntity* AddUpdateBookmark(std::string id, | 87 sync_pb::SyncEntity* AddUpdateBookmark(std::string id, |
| 87 std::string parent_id, | 88 std::string parent_id, |
| 88 std::string name, | 89 std::string name, |
| 89 int64 version, | 90 int64 version, |
| 90 int64 sync_ts); | 91 int64 sync_ts); |
| 91 // Versions of the AddUpdate function that accept specifics. | 92 // Versions of the AddUpdate function that accept specifics. |
| 92 sync_pb::SyncEntity* AddUpdateSpecifics(int id, int parent_id, | 93 sync_pb::SyncEntity* AddUpdateSpecifics(int id, int parent_id, |
| 93 std::string name,int64 version, int64 sync_ts, bool is_dir, | 94 std::string name,int64 version, int64 sync_ts, bool is_dir, |
| 94 int64 position, const sync_pb::EntitySpecifics& specifics); | 95 int64 position, const sync_pb::EntitySpecifics& specifics); |
| 96 sync_pb::SyncEntity* AddBookmarkUpdateSpecifics( |
| 97 int id, int parent_id, std::string name, int64 version, int64 sync_ts, |
| 98 bool is_dir, int64 position, const sync_pb::EntitySpecifics& specifics); |
| 99 sync_pb::SyncEntity* AddBookmarkUpdateSpecifics(int id, int parent_id, |
| 100 std::string name, int64 version, int64 sync_ts, bool is_dir, |
| 101 const syncer::UniquePosition& position, |
| 102 const sync_pb::EntitySpecifics& specifics); |
| 95 sync_pb::SyncEntity* SetNigori(int id, int64 version, int64 sync_ts, | 103 sync_pb::SyncEntity* SetNigori(int id, int64 version, int64 sync_ts, |
| 96 const sync_pb::EntitySpecifics& specifics); | 104 const sync_pb::EntitySpecifics& specifics); |
| 97 | 105 |
| 98 // Find the last commit sent by the client, and replay it for the next get | 106 // Find the last commit sent by the client, and replay it for the next get |
| 99 // updates command. This can be used to simulate the GetUpdates that happens | 107 // updates command. This can be used to simulate the GetUpdates that happens |
| 100 // immediately after a successful commit. | 108 // immediately after a successful commit. |
| 101 sync_pb::SyncEntity* AddUpdateFromLastCommit(); | 109 sync_pb::SyncEntity* AddUpdateFromLastCommit(); |
| 102 | 110 |
| 103 // Add a deleted item. Deletion records typically contain no | 111 // Add a deleted item. Deletion records typically contain no |
| 104 // additional information beyond the deletion, and no specifics. | 112 // additional information beyond the deletion, and no specifics. |
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 261 bool IsModelTypePresentInSpecifics( | 269 bool IsModelTypePresentInSpecifics( |
| 262 const google::protobuf::RepeatedPtrField< | 270 const google::protobuf::RepeatedPtrField< |
| 263 sync_pb::DataTypeProgressMarker>& filter, | 271 sync_pb::DataTypeProgressMarker>& filter, |
| 264 ModelType value); | 272 ModelType value); |
| 265 | 273 |
| 266 sync_pb::DataTypeProgressMarker const* GetProgressMarkerForType( | 274 sync_pb::DataTypeProgressMarker const* GetProgressMarkerForType( |
| 267 const google::protobuf::RepeatedPtrField< | 275 const google::protobuf::RepeatedPtrField< |
| 268 sync_pb::DataTypeProgressMarker>& filter, | 276 sync_pb::DataTypeProgressMarker>& filter, |
| 269 ModelType value); | 277 ModelType value); |
| 270 | 278 |
| 279 // Sets some reasonable values for originator_item_id and |
| 280 // originator_cache_guid if the given entity is of type BOOKMARKS. |
| 281 // |
| 282 // Unfortunately, there's no guarantee that a single item will always have the |
| 283 // same originator_client_item_id, though such a guarantee would be exist in a |
| 284 // real sync system. This could lead to spurious position changes in some |
| 285 // situations. |
| 286 void SetUpdateOriginatorFields(sync_pb::SyncEntity* ent); |
| 287 |
| 271 // When false, we pretend to have network connectivity issues. | 288 // When false, we pretend to have network connectivity issues. |
| 272 bool server_reachable_; | 289 bool server_reachable_; |
| 273 | 290 |
| 274 // All IDs that have been committed. | 291 // All IDs that have been committed. |
| 275 std::vector<syncable::Id> committed_ids_; | 292 std::vector<syncable::Id> committed_ids_; |
| 276 | 293 |
| 277 // Control of when/if we return conflicts. | 294 // Control of when/if we return conflicts. |
| 278 bool conflict_all_commits_; | 295 bool conflict_all_commits_; |
| 279 int conflict_n_commits_; | 296 int conflict_n_commits_; |
| 280 | 297 |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 342 ModelTypeSet expected_filter_; | 359 ModelTypeSet expected_filter_; |
| 343 | 360 |
| 344 ModelTypeInvalidationMap expected_states_; | 361 ModelTypeInvalidationMap expected_states_; |
| 345 | 362 |
| 346 int num_get_updates_requests_; | 363 int num_get_updates_requests_; |
| 347 | 364 |
| 348 std::string next_token_; | 365 std::string next_token_; |
| 349 | 366 |
| 350 sync_pb::ClientToServerMessage last_request_; | 367 sync_pb::ClientToServerMessage last_request_; |
| 351 | 368 |
| 369 // A unique originator_item_id value. |
| 370 int64 originator_item_id_; |
| 371 |
| 352 DISALLOW_COPY_AND_ASSIGN(MockConnectionManager); | 372 DISALLOW_COPY_AND_ASSIGN(MockConnectionManager); |
| 353 }; | 373 }; |
| 354 | 374 |
| 355 } // namespace syncer | 375 } // namespace syncer |
| 356 | 376 |
| 357 #endif // SYNC_TEST_ENGINE_MOCK_CONNECTION_MANAGER_H_ | 377 #endif // SYNC_TEST_ENGINE_MOCK_CONNECTION_MANAGER_H_ |
| OLD | NEW |