OLD | NEW |
1 | 1 |
2 // Copyright 2014 The Chromium Authors. All rights reserved. | 2 // Copyright 2014 The Chromium Authors. All rights reserved. |
3 // Use of this source code is governed by a BSD-style license that can be | 3 // Use of this source code is governed by a BSD-style license that can be |
4 // found in the LICENSE file. | 4 // found in the LICENSE file. |
5 | 5 |
6 #include "components/sync/engine_impl/worker_entity_tracker.h" | 6 #include "components/sync/engine_impl/worker_entity_tracker.h" |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
11 | 11 |
12 #include "base/time/time.h" | 12 #include "base/time/time.h" |
13 #include "components/sync/base/model_type.h" | 13 #include "components/sync/base/model_type.h" |
14 #include "components/sync/base/time.h" | 14 #include "components/sync/base/time.h" |
15 #include "components/sync/core/non_blocking_sync_common.h" | 15 #include "components/sync/core/non_blocking_sync_common.h" |
16 #include "components/sync/syncable/syncable_util.h" | 16 #include "components/sync/syncable/syncable_util.h" |
17 #include "testing/gtest/include/gtest/gtest.h" | 17 #include "testing/gtest/include/gtest/gtest.h" |
18 | 18 |
19 namespace syncer_v2 { | 19 namespace syncer { |
20 | 20 |
21 // Some simple tests for the WorkerEntityTracker. | 21 // Some simple tests for the WorkerEntityTracker. |
22 // | 22 // |
23 // The WorkerEntityTracker is an implementation detail of the ModelTypeWorker. | 23 // The WorkerEntityTracker is an implementation detail of the ModelTypeWorker. |
24 // As such, it doesn't make much sense to test it exhaustively, since it | 24 // As such, it doesn't make much sense to test it exhaustively, since it |
25 // already gets a lot of test coverage from the ModelTypeWorker unit tests. | 25 // already gets a lot of test coverage from the ModelTypeWorker unit tests. |
26 // | 26 // |
27 // These tests are intended as a basic sanity check. Anything more complicated | 27 // These tests are intended as a basic sanity check. Anything more complicated |
28 // would be redundant. | 28 // would be redundant. |
29 class WorkerEntityTrackerTest : public ::testing::Test { | 29 class WorkerEntityTrackerTest : public ::testing::Test { |
30 public: | 30 public: |
31 WorkerEntityTrackerTest() | 31 WorkerEntityTrackerTest() |
32 : kServerId("ServerID"), | 32 : kServerId("ServerID"), |
33 kClientTag("some.sample.tag"), | 33 kClientTag("some.sample.tag"), |
34 kClientTagHash( | 34 kClientTagHash(syncable::GenerateSyncableHash(PREFERENCES, kClientTag)), |
35 syncer::syncable::GenerateSyncableHash(syncer::PREFERENCES, | |
36 kClientTag)), | |
37 kSpecificsHash("somehash"), | 35 kSpecificsHash("somehash"), |
38 kCtime(base::Time::UnixEpoch() + base::TimeDelta::FromDays(10)), | 36 kCtime(base::Time::UnixEpoch() + base::TimeDelta::FromDays(10)), |
39 kMtime(base::Time::UnixEpoch() + base::TimeDelta::FromDays(20)), | 37 kMtime(base::Time::UnixEpoch() + base::TimeDelta::FromDays(20)), |
40 entity_(new WorkerEntityTracker(kClientTagHash)) { | 38 entity_(new WorkerEntityTracker(kClientTagHash)) { |
41 specifics.mutable_preference()->set_name(kClientTag); | 39 specifics.mutable_preference()->set_name(kClientTag); |
42 specifics.mutable_preference()->set_value("pref.value"); | 40 specifics.mutable_preference()->set_value("pref.value"); |
43 } | 41 } |
44 | 42 |
45 ~WorkerEntityTrackerTest() override {} | 43 ~WorkerEntityTrackerTest() override {} |
46 | 44 |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 CommitRequestData data = MakeCommitRequestData(kSequenceNumber, kBaseVersion); | 96 CommitRequestData data = MakeCommitRequestData(kSequenceNumber, kBaseVersion); |
99 entity_->RequestCommit(data); | 97 entity_->RequestCommit(data); |
100 EXPECT_EQ("", entity_->id()); | 98 EXPECT_EQ("", entity_->id()); |
101 | 99 |
102 ASSERT_TRUE(entity_->HasPendingCommit()); | 100 ASSERT_TRUE(entity_->HasPendingCommit()); |
103 sync_pb::SyncEntity pb_entity; | 101 sync_pb::SyncEntity pb_entity; |
104 entity_->PopulateCommitProto(&pb_entity); | 102 entity_->PopulateCommitProto(&pb_entity); |
105 EXPECT_EQ("", pb_entity.id_string()); | 103 EXPECT_EQ("", pb_entity.id_string()); |
106 EXPECT_EQ(kClientTagHash, pb_entity.client_defined_unique_tag()); | 104 EXPECT_EQ(kClientTagHash, pb_entity.client_defined_unique_tag()); |
107 EXPECT_EQ(kBaseVersion, pb_entity.version()); | 105 EXPECT_EQ(kBaseVersion, pb_entity.version()); |
108 EXPECT_EQ(kCtime, syncer::ProtoTimeToTime(pb_entity.ctime())); | 106 EXPECT_EQ(kCtime, ProtoTimeToTime(pb_entity.ctime())); |
109 EXPECT_EQ(kMtime, syncer::ProtoTimeToTime(pb_entity.mtime())); | 107 EXPECT_EQ(kMtime, ProtoTimeToTime(pb_entity.mtime())); |
110 EXPECT_FALSE(pb_entity.deleted()); | 108 EXPECT_FALSE(pb_entity.deleted()); |
111 EXPECT_EQ(specifics.preference().name(), | 109 EXPECT_EQ(specifics.preference().name(), |
112 pb_entity.specifics().preference().name()); | 110 pb_entity.specifics().preference().name()); |
113 EXPECT_EQ(specifics.preference().value(), | 111 EXPECT_EQ(specifics.preference().value(), |
114 pb_entity.specifics().preference().value()); | 112 pb_entity.specifics().preference().value()); |
115 | 113 |
116 CommitResponseData ack; | 114 CommitResponseData ack; |
117 ack.response_version = kBaseVersion + 1; | 115 ack.response_version = kBaseVersion + 1; |
118 ack.id = kServerId; | 116 ack.id = kServerId; |
119 entity_->ReceiveCommitResponse(&ack); | 117 entity_->ReceiveCommitResponse(&ack); |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
179 ack.response_version = kCommitResponseVersion; | 177 ack.response_version = kCommitResponseVersion; |
180 ack.id = kServerId; | 178 ack.id = kServerId; |
181 entity_->ReceiveCommitResponse(&ack); | 179 entity_->ReceiveCommitResponse(&ack); |
182 | 180 |
183 entity_->RequestCommit(MakeCommitRequestData(1, kLocalBaseVersion)); | 181 entity_->RequestCommit(MakeCommitRequestData(1, kLocalBaseVersion)); |
184 sync_pb::SyncEntity pb_entity; | 182 sync_pb::SyncEntity pb_entity; |
185 entity_->PopulateCommitProto(&pb_entity); | 183 entity_->PopulateCommitProto(&pb_entity); |
186 EXPECT_EQ(kCommitResponseVersion, pb_entity.version()); | 184 EXPECT_EQ(kCommitResponseVersion, pb_entity.version()); |
187 } | 185 } |
188 | 186 |
189 } // namespace syncer_v2 | 187 } // namespace syncer |
OLD | NEW |