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 // Syncer unit tests. Unfortunately a lot of these tests | 5 // Syncer unit tests. Unfortunately a lot of these tests |
6 // are outdated and need to be reworked and updated. | 6 // are outdated and need to be reworked and updated. |
7 | 7 |
8 #include <algorithm> | 8 #include <algorithm> |
9 #include <limits> | 9 #include <limits> |
10 #include <list> | 10 #include <list> |
(...skipping 15 matching lines...) Expand all Loading... |
26 #include "sync/engine/get_commit_ids_command.h" | 26 #include "sync/engine/get_commit_ids_command.h" |
27 #include "sync/engine/net/server_connection_manager.h" | 27 #include "sync/engine/net/server_connection_manager.h" |
28 #include "sync/engine/process_updates_command.h" | 28 #include "sync/engine/process_updates_command.h" |
29 #include "sync/engine/sync_scheduler_impl.h" | 29 #include "sync/engine/sync_scheduler_impl.h" |
30 #include "sync/engine/syncer.h" | 30 #include "sync/engine/syncer.h" |
31 #include "sync/engine/syncer_proto_util.h" | 31 #include "sync/engine/syncer_proto_util.h" |
32 #include "sync/engine/throttled_data_type_tracker.h" | 32 #include "sync/engine/throttled_data_type_tracker.h" |
33 #include "sync/engine/traffic_recorder.h" | 33 #include "sync/engine/traffic_recorder.h" |
34 #include "sync/internal_api/public/base/model_type.h" | 34 #include "sync/internal_api/public/base/model_type.h" |
35 #include "sync/internal_api/public/engine/model_safe_worker.h" | 35 #include "sync/internal_api/public/engine/model_safe_worker.h" |
| 36 #include "sync/internal_api/public/base/node_ordinal.h" |
36 #include "sync/protocol/bookmark_specifics.pb.h" | 37 #include "sync/protocol/bookmark_specifics.pb.h" |
37 #include "sync/protocol/nigori_specifics.pb.h" | 38 #include "sync/protocol/nigori_specifics.pb.h" |
38 #include "sync/protocol/preference_specifics.pb.h" | 39 #include "sync/protocol/preference_specifics.pb.h" |
39 #include "sync/protocol/sync.pb.h" | 40 #include "sync/protocol/sync.pb.h" |
40 #include "sync/sessions/sync_session_context.h" | 41 #include "sync/sessions/sync_session_context.h" |
41 #include "sync/syncable/mutable_entry.h" | 42 #include "sync/syncable/mutable_entry.h" |
42 #include "sync/syncable/nigori_util.h" | 43 #include "sync/syncable/nigori_util.h" |
43 #include "sync/syncable/read_transaction.h" | 44 #include "sync/syncable/read_transaction.h" |
44 #include "sync/syncable/syncable_util.h" | 45 #include "sync/syncable/syncable_util.h" |
45 #include "sync/syncable/write_transaction.h" | 46 #include "sync/syncable/write_transaction.h" |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 using syncable::IS_UNSYNCED; | 90 using syncable::IS_UNSYNCED; |
90 using syncable::META_HANDLE; | 91 using syncable::META_HANDLE; |
91 using syncable::MTIME; | 92 using syncable::MTIME; |
92 using syncable::NEXT_ID; | 93 using syncable::NEXT_ID; |
93 using syncable::NON_UNIQUE_NAME; | 94 using syncable::NON_UNIQUE_NAME; |
94 using syncable::PARENT_ID; | 95 using syncable::PARENT_ID; |
95 using syncable::PREV_ID; | 96 using syncable::PREV_ID; |
96 using syncable::BASE_SERVER_SPECIFICS; | 97 using syncable::BASE_SERVER_SPECIFICS; |
97 using syncable::SERVER_IS_DEL; | 98 using syncable::SERVER_IS_DEL; |
98 using syncable::SERVER_PARENT_ID; | 99 using syncable::SERVER_PARENT_ID; |
99 using syncable::SERVER_POSITION_IN_PARENT; | 100 using syncable::SERVER_ORDINAL_IN_PARENT; |
100 using syncable::SERVER_SPECIFICS; | 101 using syncable::SERVER_SPECIFICS; |
101 using syncable::SERVER_VERSION; | 102 using syncable::SERVER_VERSION; |
102 using syncable::UNIQUE_CLIENT_TAG; | 103 using syncable::UNIQUE_CLIENT_TAG; |
103 using syncable::UNIQUE_SERVER_TAG; | 104 using syncable::UNIQUE_SERVER_TAG; |
104 using syncable::SPECIFICS; | 105 using syncable::SPECIFICS; |
105 using syncable::SYNCING; | 106 using syncable::SYNCING; |
106 using syncable::UNITTEST; | 107 using syncable::UNITTEST; |
107 | 108 |
108 using sessions::ConflictProgress; | 109 using sessions::ConflictProgress; |
109 using sessions::ScopedSetSessionWriteTransaction; | 110 using sessions::ScopedSetSessionWriteTransaction; |
(...skipping 2122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2232 EXPECT_FALSE(entry.Get(ID).ServerKnows()); | 2233 EXPECT_FALSE(entry.Get(ID).ServerKnows()); |
2233 entry.Put(syncable::IS_DIR, true); | 2234 entry.Put(syncable::IS_DIR, true); |
2234 entry.Put(syncable::SPECIFICS, DefaultBookmarkSpecifics()); | 2235 entry.Put(syncable::SPECIFICS, DefaultBookmarkSpecifics()); |
2235 entry.Put(syncable::IS_UNSYNCED, true); | 2236 entry.Put(syncable::IS_UNSYNCED, true); |
2236 entry.Put(syncable::MTIME, test_time); | 2237 entry.Put(syncable::MTIME, test_time); |
2237 entry_metahandle = entry.Get(META_HANDLE); | 2238 entry_metahandle = entry.Get(META_HANDLE); |
2238 } | 2239 } |
2239 SyncShareNudge(); | 2240 SyncShareNudge(); |
2240 syncable::Id id; | 2241 syncable::Id id; |
2241 int64 version; | 2242 int64 version; |
2242 int64 server_position_in_parent; | 2243 NodeOrdinal server_ordinal_in_parent; |
2243 { | 2244 { |
2244 syncable::ReadTransaction trans(FROM_HERE, directory()); | 2245 syncable::ReadTransaction trans(FROM_HERE, directory()); |
2245 Entry entry(&trans, syncable::GET_BY_HANDLE, entry_metahandle); | 2246 Entry entry(&trans, syncable::GET_BY_HANDLE, entry_metahandle); |
2246 ASSERT_TRUE(entry.good()); | 2247 ASSERT_TRUE(entry.good()); |
2247 id = entry.Get(ID); | 2248 id = entry.Get(ID); |
2248 EXPECT_TRUE(id.ServerKnows()); | 2249 EXPECT_TRUE(id.ServerKnows()); |
2249 version = entry.Get(BASE_VERSION); | 2250 version = entry.Get(BASE_VERSION); |
2250 server_position_in_parent = entry.Get(SERVER_POSITION_IN_PARENT); | 2251 server_ordinal_in_parent = entry.Get(SERVER_ORDINAL_IN_PARENT); |
2251 } | 2252 } |
2252 sync_pb::SyncEntity* update = mock_server_->AddUpdateFromLastCommit(); | 2253 sync_pb::SyncEntity* update = mock_server_->AddUpdateFromLastCommit(); |
2253 EXPECT_EQ("Pete", update->name()); | 2254 EXPECT_EQ("Pete", update->name()); |
2254 EXPECT_EQ(id.GetServerId(), update->id_string()); | 2255 EXPECT_EQ(id.GetServerId(), update->id_string()); |
2255 EXPECT_EQ(root_id_.GetServerId(), update->parent_id_string()); | 2256 EXPECT_EQ(root_id_.GetServerId(), update->parent_id_string()); |
2256 EXPECT_EQ(version, update->version()); | 2257 EXPECT_EQ(version, update->version()); |
2257 EXPECT_EQ(server_position_in_parent, update->position_in_parent()); | 2258 EXPECT_EQ( |
| 2259 NodeOrdinalToInt64(server_ordinal_in_parent), |
| 2260 update->position_in_parent()); |
2258 SyncShareNudge(); | 2261 SyncShareNudge(); |
2259 { | 2262 { |
2260 syncable::ReadTransaction trans(FROM_HERE, directory()); | 2263 syncable::ReadTransaction trans(FROM_HERE, directory()); |
2261 Entry entry(&trans, syncable::GET_BY_ID, id); | 2264 Entry entry(&trans, syncable::GET_BY_ID, id); |
2262 ASSERT_TRUE(entry.good()); | 2265 ASSERT_TRUE(entry.good()); |
2263 EXPECT_TRUE(entry.Get(MTIME) == test_time); | 2266 EXPECT_TRUE(entry.Get(MTIME) == test_time); |
2264 } | 2267 } |
2265 } | 2268 } |
2266 | 2269 |
2267 TEST_F(SyncerTest, ParentAndChildBothMatch) { | 2270 TEST_F(SyncerTest, ParentAndChildBothMatch) { |
(...skipping 2230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4498 syncable::ReadTransaction trans(FROM_HERE, directory()); | 4501 syncable::ReadTransaction trans(FROM_HERE, directory()); |
4499 | 4502 |
4500 Id prev_id; | 4503 Id prev_id; |
4501 DCHECK(prev_id.IsRoot()); | 4504 DCHECK(prev_id.IsRoot()); |
4502 PosMap::iterator next = position_map_.begin(); | 4505 PosMap::iterator next = position_map_.begin(); |
4503 for (PosMap::iterator i = next++; i != position_map_.end(); ++i) { | 4506 for (PosMap::iterator i = next++; i != position_map_.end(); ++i) { |
4504 Id id = i->second; | 4507 Id id = i->second; |
4505 Entry entry_with_id(&trans, GET_BY_ID, id); | 4508 Entry entry_with_id(&trans, GET_BY_ID, id); |
4506 EXPECT_TRUE(entry_with_id.good()); | 4509 EXPECT_TRUE(entry_with_id.good()); |
4507 EXPECT_EQ(prev_id, entry_with_id.Get(PREV_ID)); | 4510 EXPECT_EQ(prev_id, entry_with_id.Get(PREV_ID)); |
4508 EXPECT_EQ(i->first, entry_with_id.Get(SERVER_POSITION_IN_PARENT)); | 4511 EXPECT_EQ( |
| 4512 i->first, |
| 4513 NodeOrdinalToInt64(entry_with_id.Get(SERVER_ORDINAL_IN_PARENT))); |
4509 if (next == position_map_.end()) { | 4514 if (next == position_map_.end()) { |
4510 EXPECT_EQ(Id(), entry_with_id.Get(NEXT_ID)); | 4515 EXPECT_EQ(Id(), entry_with_id.Get(NEXT_ID)); |
4511 } else { | 4516 } else { |
4512 EXPECT_EQ(next->second, entry_with_id.Get(NEXT_ID)); | 4517 EXPECT_EQ(next->second, entry_with_id.Get(NEXT_ID)); |
4513 next++; | 4518 next++; |
4514 } | 4519 } |
4515 prev_id = id; | 4520 prev_id = id; |
4516 } | 4521 } |
4517 } | 4522 } |
4518 | 4523 |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4692 | 4697 |
4693 TEST_F(SyncerPositionTiebreakingTest, MidLowHigh) { | 4698 TEST_F(SyncerPositionTiebreakingTest, MidLowHigh) { |
4694 Add(mid_id_); | 4699 Add(mid_id_); |
4695 Add(low_id_); | 4700 Add(low_id_); |
4696 Add(high_id_); | 4701 Add(high_id_); |
4697 SyncShareNudge(); | 4702 SyncShareNudge(); |
4698 ExpectLocalOrderIsByServerId(); | 4703 ExpectLocalOrderIsByServerId(); |
4699 } | 4704 } |
4700 | 4705 |
4701 } // namespace syncer | 4706 } // namespace syncer |
OLD | NEW |