| 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 | 
|---|