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

Side by Side Diff: components/sync/core/processor_entity_tracker_unittest.cc

Issue 2388673002: Revert of [Sync] Move //components/sync to the syncer namespace. (patchset #5 id:40001 of https://co (Closed)
Patch Set: Created 4 years, 2 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include "components/sync/core/processor_entity_tracker.h" 5 #include "components/sync/core/processor_entity_tracker.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <memory> 9 #include <memory>
10 #include <utility> 10 #include <utility>
11 11
12 #include "base/memory/ptr_util.h" 12 #include "base/memory/ptr_util.h"
13 #include "base/time/time.h" 13 #include "base/time/time.h"
14 #include "components/sync/base/model_type.h" 14 #include "components/sync/base/model_type.h"
15 #include "components/sync/base/time.h" 15 #include "components/sync/base/time.h"
16 #include "components/sync/core/non_blocking_sync_common.h" 16 #include "components/sync/core/non_blocking_sync_common.h"
17 #include "components/sync/protocol/sync.pb.h" 17 #include "components/sync/protocol/sync.pb.h"
18 #include "components/sync/syncable/syncable_util.h" 18 #include "components/sync/syncable/syncable_util.h"
19 #include "testing/gtest/include/gtest/gtest.h" 19 #include "testing/gtest/include/gtest/gtest.h"
20 20
21 namespace syncer { 21 namespace syncer_v2 {
22 22
23 namespace { 23 namespace {
24 24
25 const char kKey[] = "key"; 25 const char kKey[] = "key";
26 const char kHash[] = "hash"; 26 const char kHash[] = "hash";
27 const char kId[] = "id"; 27 const char kId[] = "id";
28 const char kName[] = "name"; 28 const char kName[] = "name";
29 const char kValue1[] = "value1"; 29 const char kValue1[] = "value1";
30 const char kValue2[] = "value2"; 30 const char kValue2[] = "value2";
31 const char kValue3[] = "value3"; 31 const char kValue3[] = "value3";
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 TEST_F(ProcessorEntityTrackerTest, DefaultTracker) { 128 TEST_F(ProcessorEntityTrackerTest, DefaultTracker) {
129 std::unique_ptr<ProcessorEntityTracker> entity = CreateNew(); 129 std::unique_ptr<ProcessorEntityTracker> entity = CreateNew();
130 130
131 EXPECT_EQ(kKey, entity->storage_key()); 131 EXPECT_EQ(kKey, entity->storage_key());
132 EXPECT_EQ(kHash, entity->metadata().client_tag_hash()); 132 EXPECT_EQ(kHash, entity->metadata().client_tag_hash());
133 EXPECT_EQ("", entity->metadata().server_id()); 133 EXPECT_EQ("", entity->metadata().server_id());
134 EXPECT_FALSE(entity->metadata().is_deleted()); 134 EXPECT_FALSE(entity->metadata().is_deleted());
135 EXPECT_EQ(0, entity->metadata().sequence_number()); 135 EXPECT_EQ(0, entity->metadata().sequence_number());
136 EXPECT_EQ(0, entity->metadata().acked_sequence_number()); 136 EXPECT_EQ(0, entity->metadata().acked_sequence_number());
137 EXPECT_EQ(kUncommittedVersion, entity->metadata().server_version()); 137 EXPECT_EQ(kUncommittedVersion, entity->metadata().server_version());
138 EXPECT_EQ(TimeToProtoTime(ctime_), entity->metadata().creation_time()); 138 EXPECT_EQ(syncer::TimeToProtoTime(ctime_),
139 entity->metadata().creation_time());
139 EXPECT_EQ(0, entity->metadata().modification_time()); 140 EXPECT_EQ(0, entity->metadata().modification_time());
140 EXPECT_TRUE(entity->metadata().specifics_hash().empty()); 141 EXPECT_TRUE(entity->metadata().specifics_hash().empty());
141 EXPECT_TRUE(entity->metadata().base_specifics_hash().empty()); 142 EXPECT_TRUE(entity->metadata().base_specifics_hash().empty());
142 143
143 EXPECT_FALSE(entity->IsUnsynced()); 144 EXPECT_FALSE(entity->IsUnsynced());
144 EXPECT_FALSE(entity->RequiresCommitRequest()); 145 EXPECT_FALSE(entity->RequiresCommitRequest());
145 EXPECT_FALSE(entity->RequiresCommitData()); 146 EXPECT_FALSE(entity->RequiresCommitData());
146 EXPECT_FALSE(entity->CanClearMetadata()); 147 EXPECT_FALSE(entity->CanClearMetadata());
147 EXPECT_FALSE(entity->UpdateIsReflection(1)); 148 EXPECT_FALSE(entity->UpdateIsReflection(1));
148 EXPECT_FALSE(entity->HasCommitData()); 149 EXPECT_FALSE(entity->HasCommitData());
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 EXPECT_FALSE(entity->RequiresCommitData()); 184 EXPECT_FALSE(entity->RequiresCommitData());
184 EXPECT_FALSE(entity->CanClearMetadata()); 185 EXPECT_FALSE(entity->CanClearMetadata());
185 EXPECT_FALSE(entity->UpdateIsReflection(1)); 186 EXPECT_FALSE(entity->UpdateIsReflection(1));
186 EXPECT_TRUE(entity->HasCommitData()); 187 EXPECT_TRUE(entity->HasCommitData());
187 188
188 const EntityData& data = request.entity.value(); 189 const EntityData& data = request.entity.value();
189 EXPECT_EQ("", data.id); 190 EXPECT_EQ("", data.id);
190 EXPECT_EQ(kHash, data.client_tag_hash); 191 EXPECT_EQ(kHash, data.client_tag_hash);
191 EXPECT_EQ(kName, data.non_unique_name); 192 EXPECT_EQ(kName, data.non_unique_name);
192 EXPECT_EQ(kValue1, data.specifics.preference().value()); 193 EXPECT_EQ(kValue1, data.specifics.preference().value());
193 EXPECT_EQ(TimeToProtoTime(ctime_), TimeToProtoTime(data.creation_time)); 194 EXPECT_EQ(syncer::TimeToProtoTime(ctime_),
195 syncer::TimeToProtoTime(data.creation_time));
194 EXPECT_EQ(entity->metadata().modification_time(), 196 EXPECT_EQ(entity->metadata().modification_time(),
195 TimeToProtoTime(data.modification_time)); 197 syncer::TimeToProtoTime(data.modification_time));
196 EXPECT_FALSE(data.is_deleted()); 198 EXPECT_FALSE(data.is_deleted());
197 EXPECT_EQ(1, request.sequence_number); 199 EXPECT_EQ(1, request.sequence_number);
198 EXPECT_EQ(kUncommittedVersion, request.base_version); 200 EXPECT_EQ(kUncommittedVersion, request.base_version);
199 EXPECT_EQ(entity->metadata().specifics_hash(), request.specifics_hash); 201 EXPECT_EQ(entity->metadata().specifics_hash(), request.specifics_hash);
200 202
201 // Ack the commit. 203 // Ack the commit.
202 entity->ReceiveCommitResponse(GenerateAckData(request, kId, 1)); 204 entity->ReceiveCommitResponse(GenerateAckData(request, kId, 1));
203 205
204 EXPECT_EQ(kId, entity->metadata().server_id()); 206 EXPECT_EQ(kId, entity->metadata().server_id());
205 EXPECT_FALSE(entity->metadata().is_deleted()); 207 EXPECT_FALSE(entity->metadata().is_deleted());
(...skipping 20 matching lines...) Expand all
226 228
227 const base::Time mtime = base::Time::Now(); 229 const base::Time mtime = base::Time::Now();
228 entity->RecordAcceptedUpdate( 230 entity->RecordAcceptedUpdate(
229 GenerateUpdate(*entity, kHash, kId, kName, kValue1, mtime, 10)); 231 GenerateUpdate(*entity, kHash, kId, kName, kValue1, mtime, 10));
230 232
231 EXPECT_EQ(kId, entity->metadata().server_id()); 233 EXPECT_EQ(kId, entity->metadata().server_id());
232 EXPECT_FALSE(entity->metadata().is_deleted()); 234 EXPECT_FALSE(entity->metadata().is_deleted());
233 EXPECT_EQ(0, entity->metadata().sequence_number()); 235 EXPECT_EQ(0, entity->metadata().sequence_number());
234 EXPECT_EQ(0, entity->metadata().acked_sequence_number()); 236 EXPECT_EQ(0, entity->metadata().acked_sequence_number());
235 EXPECT_EQ(10, entity->metadata().server_version()); 237 EXPECT_EQ(10, entity->metadata().server_version());
236 EXPECT_EQ(TimeToProtoTime(mtime), entity->metadata().modification_time()); 238 EXPECT_EQ(syncer::TimeToProtoTime(mtime),
239 entity->metadata().modification_time());
237 EXPECT_FALSE(entity->metadata().specifics_hash().empty()); 240 EXPECT_FALSE(entity->metadata().specifics_hash().empty());
238 EXPECT_TRUE(entity->metadata().base_specifics_hash().empty()); 241 EXPECT_TRUE(entity->metadata().base_specifics_hash().empty());
239 242
240 EXPECT_FALSE(entity->IsUnsynced()); 243 EXPECT_FALSE(entity->IsUnsynced());
241 EXPECT_FALSE(entity->RequiresCommitRequest()); 244 EXPECT_FALSE(entity->RequiresCommitRequest());
242 EXPECT_FALSE(entity->RequiresCommitData()); 245 EXPECT_FALSE(entity->RequiresCommitData());
243 EXPECT_FALSE(entity->CanClearMetadata()); 246 EXPECT_FALSE(entity->CanClearMetadata());
244 EXPECT_TRUE(entity->UpdateIsReflection(9)); 247 EXPECT_TRUE(entity->UpdateIsReflection(9));
245 EXPECT_TRUE(entity->UpdateIsReflection(10)); 248 EXPECT_TRUE(entity->UpdateIsReflection(10));
246 EXPECT_FALSE(entity->UpdateIsReflection(11)); 249 EXPECT_FALSE(entity->UpdateIsReflection(11));
247 EXPECT_FALSE(entity->HasCommitData()); 250 EXPECT_FALSE(entity->HasCommitData());
248 } 251 }
249 252
250 // Test state for a tombstone received for a previously unknown item. 253 // Test state for a tombstone received for a previously unknown item.
251 TEST_F(ProcessorEntityTrackerTest, NewServerTombstone) { 254 TEST_F(ProcessorEntityTrackerTest, NewServerTombstone) {
252 std::unique_ptr<ProcessorEntityTracker> entity = CreateNew(); 255 std::unique_ptr<ProcessorEntityTracker> entity = CreateNew();
253 256
254 const base::Time mtime = base::Time::Now(); 257 const base::Time mtime = base::Time::Now();
255 entity->RecordAcceptedUpdate( 258 entity->RecordAcceptedUpdate(
256 GenerateTombstone(*entity, kHash, kId, kName, mtime, 1)); 259 GenerateTombstone(*entity, kHash, kId, kName, mtime, 1));
257 260
258 EXPECT_EQ(kId, entity->metadata().server_id()); 261 EXPECT_EQ(kId, entity->metadata().server_id());
259 EXPECT_TRUE(entity->metadata().is_deleted()); 262 EXPECT_TRUE(entity->metadata().is_deleted());
260 EXPECT_EQ(0, entity->metadata().sequence_number()); 263 EXPECT_EQ(0, entity->metadata().sequence_number());
261 EXPECT_EQ(0, entity->metadata().acked_sequence_number()); 264 EXPECT_EQ(0, entity->metadata().acked_sequence_number());
262 EXPECT_EQ(1, entity->metadata().server_version()); 265 EXPECT_EQ(1, entity->metadata().server_version());
263 EXPECT_EQ(TimeToProtoTime(mtime), entity->metadata().modification_time()); 266 EXPECT_EQ(syncer::TimeToProtoTime(mtime),
267 entity->metadata().modification_time());
264 EXPECT_TRUE(entity->metadata().specifics_hash().empty()); 268 EXPECT_TRUE(entity->metadata().specifics_hash().empty());
265 EXPECT_TRUE(entity->metadata().base_specifics_hash().empty()); 269 EXPECT_TRUE(entity->metadata().base_specifics_hash().empty());
266 270
267 EXPECT_FALSE(entity->IsUnsynced()); 271 EXPECT_FALSE(entity->IsUnsynced());
268 EXPECT_FALSE(entity->RequiresCommitRequest()); 272 EXPECT_FALSE(entity->RequiresCommitRequest());
269 EXPECT_FALSE(entity->RequiresCommitData()); 273 EXPECT_FALSE(entity->RequiresCommitData());
270 EXPECT_TRUE(entity->CanClearMetadata()); 274 EXPECT_TRUE(entity->CanClearMetadata());
271 EXPECT_TRUE(entity->UpdateIsReflection(1)); 275 EXPECT_TRUE(entity->UpdateIsReflection(1));
272 EXPECT_FALSE(entity->UpdateIsReflection(2)); 276 EXPECT_FALSE(entity->UpdateIsReflection(2));
273 EXPECT_FALSE(entity->HasCommitData()); 277 EXPECT_FALSE(entity->HasCommitData());
274 } 278 }
275 279
276 // Apply a deletion update to a synced item. 280 // Apply a deletion update to a synced item.
277 TEST_F(ProcessorEntityTrackerTest, ServerTombstone) { 281 TEST_F(ProcessorEntityTrackerTest, ServerTombstone) {
278 // Start with a non-deleted state with version 1. 282 // Start with a non-deleted state with version 1.
279 std::unique_ptr<ProcessorEntityTracker> entity = CreateSynced(); 283 std::unique_ptr<ProcessorEntityTracker> entity = CreateSynced();
280 // A deletion update one version later. 284 // A deletion update one version later.
281 const base::Time mtime = base::Time::Now(); 285 const base::Time mtime = base::Time::Now();
282 entity->RecordAcceptedUpdate( 286 entity->RecordAcceptedUpdate(
283 GenerateTombstone(*entity, kHash, kId, kName, mtime, 2)); 287 GenerateTombstone(*entity, kHash, kId, kName, mtime, 2));
284 288
285 EXPECT_TRUE(entity->metadata().is_deleted()); 289 EXPECT_TRUE(entity->metadata().is_deleted());
286 EXPECT_EQ(0, entity->metadata().sequence_number()); 290 EXPECT_EQ(0, entity->metadata().sequence_number());
287 EXPECT_EQ(0, entity->metadata().acked_sequence_number()); 291 EXPECT_EQ(0, entity->metadata().acked_sequence_number());
288 EXPECT_EQ(2, entity->metadata().server_version()); 292 EXPECT_EQ(2, entity->metadata().server_version());
289 EXPECT_EQ(TimeToProtoTime(mtime), entity->metadata().modification_time()); 293 EXPECT_EQ(syncer::TimeToProtoTime(mtime),
294 entity->metadata().modification_time());
290 EXPECT_TRUE(entity->metadata().specifics_hash().empty()); 295 EXPECT_TRUE(entity->metadata().specifics_hash().empty());
291 EXPECT_TRUE(entity->metadata().base_specifics_hash().empty()); 296 EXPECT_TRUE(entity->metadata().base_specifics_hash().empty());
292 297
293 EXPECT_FALSE(entity->IsUnsynced()); 298 EXPECT_FALSE(entity->IsUnsynced());
294 EXPECT_FALSE(entity->RequiresCommitRequest()); 299 EXPECT_FALSE(entity->RequiresCommitRequest());
295 EXPECT_FALSE(entity->RequiresCommitData()); 300 EXPECT_FALSE(entity->RequiresCommitData());
296 EXPECT_TRUE(entity->CanClearMetadata()); 301 EXPECT_TRUE(entity->CanClearMetadata());
297 EXPECT_TRUE(entity->UpdateIsReflection(2)); 302 EXPECT_TRUE(entity->UpdateIsReflection(2));
298 EXPECT_FALSE(entity->UpdateIsReflection(3)); 303 EXPECT_FALSE(entity->UpdateIsReflection(3));
299 EXPECT_FALSE(entity->HasCommitData()); 304 EXPECT_FALSE(entity->HasCommitData());
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 EXPECT_TRUE(entity->IsUnsynced()); 387 EXPECT_TRUE(entity->IsUnsynced());
383 EXPECT_FALSE(entity->RequiresCommitRequest()); 388 EXPECT_FALSE(entity->RequiresCommitRequest());
384 EXPECT_FALSE(entity->RequiresCommitData()); 389 EXPECT_FALSE(entity->RequiresCommitData());
385 EXPECT_FALSE(entity->CanClearMetadata()); 390 EXPECT_FALSE(entity->CanClearMetadata());
386 EXPECT_FALSE(entity->HasCommitData()); 391 EXPECT_FALSE(entity->HasCommitData());
387 392
388 const EntityData& data = request.entity.value(); 393 const EntityData& data = request.entity.value();
389 EXPECT_EQ(kId, data.id); 394 EXPECT_EQ(kId, data.id);
390 EXPECT_EQ(kHash, data.client_tag_hash); 395 EXPECT_EQ(kHash, data.client_tag_hash);
391 EXPECT_EQ("", data.non_unique_name); 396 EXPECT_EQ("", data.non_unique_name);
392 EXPECT_EQ(TimeToProtoTime(ctime_), TimeToProtoTime(data.creation_time)); 397 EXPECT_EQ(syncer::TimeToProtoTime(ctime_),
398 syncer::TimeToProtoTime(data.creation_time));
393 EXPECT_EQ(entity->metadata().modification_time(), 399 EXPECT_EQ(entity->metadata().modification_time(),
394 TimeToProtoTime(data.modification_time)); 400 syncer::TimeToProtoTime(data.modification_time));
395 EXPECT_TRUE(data.is_deleted()); 401 EXPECT_TRUE(data.is_deleted());
396 EXPECT_EQ(1, request.sequence_number); 402 EXPECT_EQ(1, request.sequence_number);
397 EXPECT_EQ(1, request.base_version); 403 EXPECT_EQ(1, request.base_version);
398 EXPECT_EQ(entity->metadata().specifics_hash(), request.specifics_hash); 404 EXPECT_EQ(entity->metadata().specifics_hash(), request.specifics_hash);
399 405
400 // Ack the deletion. 406 // Ack the deletion.
401 entity->ReceiveCommitResponse(GenerateAckData(request, kId, 2)); 407 entity->ReceiveCommitResponse(GenerateAckData(request, kId, 2));
402 408
403 EXPECT_TRUE(entity->metadata().is_deleted()); 409 EXPECT_TRUE(entity->metadata().is_deleted());
404 EXPECT_EQ(1, entity->metadata().sequence_number()); 410 EXPECT_EQ(1, entity->metadata().sequence_number());
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
478 EXPECT_EQ(specifics_hash_v2, entity->metadata().specifics_hash()); 484 EXPECT_EQ(specifics_hash_v2, entity->metadata().specifics_hash());
479 EXPECT_EQ("", entity->metadata().base_specifics_hash()); 485 EXPECT_EQ("", entity->metadata().base_specifics_hash());
480 486
481 EXPECT_FALSE(entity->IsUnsynced()); 487 EXPECT_FALSE(entity->IsUnsynced());
482 EXPECT_FALSE(entity->RequiresCommitRequest()); 488 EXPECT_FALSE(entity->RequiresCommitRequest());
483 EXPECT_FALSE(entity->RequiresCommitData()); 489 EXPECT_FALSE(entity->RequiresCommitData());
484 EXPECT_FALSE(entity->CanClearMetadata()); 490 EXPECT_FALSE(entity->CanClearMetadata());
485 EXPECT_FALSE(entity->HasCommitData()); 491 EXPECT_FALSE(entity->HasCommitData());
486 } 492 }
487 493
488 } // namespace syncer 494 } // namespace syncer_v2
OLDNEW
« no previous file with comments | « components/sync/core/processor_entity_tracker.cc ('k') | components/sync/core/shared_model_type_processor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698