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

Unified Diff: sync/internal_api/shared_model_type_processor_unittest.cc

Issue 1680333002: [Sync] USS: Define SharedModelTypeProcessorTest methods inline. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@smtp2
Patch Set: Rebase. Created 4 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sync/internal_api/shared_model_type_processor_unittest.cc
diff --git a/sync/internal_api/shared_model_type_processor_unittest.cc b/sync/internal_api/shared_model_type_processor_unittest.cc
index b3ba7ea6b25212e2201ac2a89cecb9d753b3625c..183ff656303790e7428c12392eb36e7ff2ae681a 100644
--- a/sync/internal_api/shared_model_type_processor_unittest.cc
+++ b/sync/internal_api/shared_model_type_processor_unittest.cc
@@ -51,110 +51,304 @@ static const syncer::ModelType kModelType = syncer::PREFERENCES;
class SharedModelTypeProcessorTest : public ::testing::Test,
public FakeModelTypeService {
public:
- SharedModelTypeProcessorTest();
- ~SharedModelTypeProcessorTest() override;
+ SharedModelTypeProcessorTest()
+ : mock_queue_(new MockCommitQueue()),
+ mock_queue_ptr_(mock_queue_),
+ metadata_batch_(new MetadataBatch()) {
+ set_change_processor(
+ make_scoped_ptr(new SharedModelTypeProcessor(kModelType, this)));
+ }
+
+ ~SharedModelTypeProcessorTest() override {}
// Initialize to a "ready-to-commit" state.
- void InitializeToReadyState();
+ void InitializeToReadyState() {
+ data_type_state_.set_initial_sync_done(true);
+ OnMetadataLoaded();
+ OnSyncStarting();
+ // TODO(maxbogue): crbug.com/569642: Remove this once entity data is loaded
+ // for the normal startup flow.
+ UpdateResponseDataList empty_update_list;
+ type_processor()->OnUpdateReceived(data_type_state_, empty_update_list,
+ empty_update_list);
+ }
- // SharedModelTypeProcessor method wrappers.
- void OnMetadataLoaded();
- void OnSyncStarting();
- void DisconnectSync();
+ void OnMetadataLoaded() {
+ metadata_batch_->SetDataTypeState(data_type_state_);
+ type_processor()->OnMetadataLoaded(std::move(metadata_batch_));
+ metadata_batch_.reset(new MetadataBatch());
+ }
+
+ void OnSyncStarting() {
+ type_processor()->OnSyncStarting(
+ base::Bind(&SharedModelTypeProcessorTest::OnReadyToConnect,
+ base::Unretained(this)));
+ }
+
+ void DisconnectSync() {
+ type_processor()->DisconnectSync();
+ mock_queue_ = NULL;
+ mock_queue_ptr_.reset();
+ }
// Disable sync for this SharedModelTypeProcessor. Should cause sync state to
// be discarded.
- void Disable();
+ void Disable() {
+ type_processor()->Disable();
+ mock_queue_ = NULL;
+ mock_queue_ptr_.reset();
+ EXPECT_FALSE(type_processor());
+ }
// Restart sync after DisconnectSync() or Disable().
- void Restart();
+ void Restart() {
+ if (!type_processor()) {
+ set_change_processor(
+ make_scoped_ptr(new SharedModelTypeProcessor(kModelType, this)));
+ }
+ // Prepare a new MockCommitQueue instance, just as we would
+ // if this happened in the real world.
+ mock_queue_ptr_.reset(new MockCommitQueue());
+ mock_queue_ = mock_queue_ptr_.get();
+ // Restart sync with the new CommitQueue.
+ OnSyncStarting();
+ }
// Local data modification. Emulates signals from the model thread.
void WriteItem(const std::string& tag,
const std::string& value,
- MetadataChangeList* change_list);
- void DeleteItem(const std::string& tag, MetadataChangeList* change_list);
+ MetadataChangeList* change_list) {
+ scoped_ptr<EntityData> entity_data = make_scoped_ptr(new EntityData());
+ entity_data->specifics = GenerateSpecifics(tag, value);
+ entity_data->non_unique_name = tag;
+ type_processor()->Put(tag, std::move(entity_data), change_list);
+ }
+
+ void DeleteItem(const std::string& tag, MetadataChangeList* change_list) {
+ type_processor()->Delete(tag, change_list);
+ }
- // Emulates an "initial sync done" message from the
- // CommitQueue.
- void OnInitialSyncDone();
+ // Emulates an "initial sync done" message from the CommitQueue.
+ void OnInitialSyncDone() {
+ data_type_state_.set_initial_sync_done(true);
+ UpdateResponseDataList empty_update_list;
+
+ // TODO(stanisc): crbug/569645: replace this with loading the initial state
+ // via LoadMetadata callback.
+ type_processor()->OnUpdateReceived(data_type_state_, empty_update_list,
+ empty_update_list);
+ }
// Emulate updates from the server.
// This harness has some functionality to help emulate server behavior.
- // See the definitions of these methods for more information.
void UpdateFromServer(int64_t version_offset,
const std::string& tag,
- const std::string& value);
- void TombstoneFromServer(int64_t version_offset, const std::string& tag);
+ const std::string& value) {
+ const std::string tag_hash = GenerateTagHash(tag);
+ UpdateResponseData data = mock_queue_->UpdateFromServer(
+ version_offset, tag_hash, GenerateSpecifics(tag, value));
+
+ UpdateResponseDataList list;
+ list.push_back(data);
+ type_processor()->OnUpdateReceived(data_type_state_, list,
+ UpdateResponseDataList());
+ }
+
+ void TombstoneFromServer(int64_t version_offset, const std::string& tag) {
+ // Overwrite the existing server version if this is the new highest version.
+ std::string tag_hash = GenerateTagHash(tag);
+
+ UpdateResponseData data =
+ mock_queue_->TombstoneFromServer(version_offset, tag_hash);
+
+ UpdateResponseDataList list;
+ list.push_back(data);
+ type_processor()->OnUpdateReceived(data_type_state_, list,
+ UpdateResponseDataList());
+ }
// Emulate the receipt of pending updates from the server.
// Pending updates are usually caused by a temporary decryption failure.
void PendingUpdateFromServer(int64_t version_offset,
const std::string& tag,
const std::string& value,
- const std::string& key_name);
+ const std::string& key_name) {
+ const std::string tag_hash = GenerateTagHash(tag);
+ UpdateResponseData data = mock_queue_->UpdateFromServer(
+ version_offset, tag_hash,
+ GenerateEncryptedSpecifics(tag, value, key_name));
+
+ UpdateResponseDataList list;
+ list.push_back(data);
+ type_processor()->OnUpdateReceived(data_type_state_,
+ UpdateResponseDataList(), list);
+ }
// Returns true if the proxy has an pending update with specified tag.
- bool HasPendingUpdate(const std::string& tag) const;
+ bool HasPendingUpdate(const std::string& tag) const {
+ const std::string client_tag_hash = GenerateTagHash(tag);
+ const UpdateResponseDataList list = type_processor()->GetPendingUpdates();
+ for (UpdateResponseDataList::const_iterator it = list.begin();
+ it != list.end(); ++it) {
+ if (it->entity->client_tag_hash == client_tag_hash)
+ return true;
+ }
+ return false;
+ }
// Returns the pending update with the specified tag.
- UpdateResponseData GetPendingUpdate(const std::string& tag) const;
+ UpdateResponseData GetPendingUpdate(const std::string& tag) const {
+ DCHECK(HasPendingUpdate(tag));
+ const std::string client_tag_hash = GenerateTagHash(tag);
+ const UpdateResponseDataList list = type_processor()->GetPendingUpdates();
+ for (UpdateResponseDataList::const_iterator it = list.begin();
+ it != list.end(); ++it) {
+ if (it->entity->client_tag_hash == client_tag_hash)
+ return *it;
+ }
+ NOTREACHED();
+ return UpdateResponseData();
+ }
// Returns the number of pending updates.
- size_t GetNumPendingUpdates() const;
+ size_t GetNumPendingUpdates() const {
+ return type_processor()->GetPendingUpdates().size();
+ }
// Read emitted commit requests as batches.
- size_t GetNumCommitRequestLists();
- CommitRequestDataList GetNthCommitRequestList(size_t n);
+ size_t GetNumCommitRequestLists() {
+ return mock_queue_->GetNumCommitRequestLists();
+ }
+
+ CommitRequestDataList GetNthCommitRequestList(size_t n) {
+ return mock_queue_->GetNthCommitRequestList(n);
+ }
// Read emitted commit requests by tag, most recent only.
- bool HasCommitRequestForTag(const std::string& tag);
- CommitRequestData GetLatestCommitRequestForTag(const std::string& tag);
+ bool HasCommitRequestForTag(const std::string& tag) {
+ const std::string tag_hash = GenerateTagHash(tag);
+ return mock_queue_->HasCommitRequestForTagHash(tag_hash);
+ }
+
+ CommitRequestData GetLatestCommitRequestForTag(const std::string& tag) {
+ const std::string tag_hash = GenerateTagHash(tag);
+ return mock_queue_->GetLatestCommitRequestForTagHash(tag_hash);
+ }
// Sends the type sync proxy a successful commit response.
- void SuccessfulCommitResponse(const CommitRequestData& request_data);
+ void SuccessfulCommitResponse(const CommitRequestData& request_data) {
+ CommitResponseDataList list;
+ list.push_back(mock_queue_->SuccessfulCommitResponse(request_data));
+ type_processor()->OnCommitCompleted(data_type_state_, list);
+ }
// Sends the type sync proxy an updated DataTypeState to let it know that
// the desired encryption key has changed.
- void UpdateDesiredEncryptionKey(const std::string& key_name);
+ void UpdateDesiredEncryptionKey(const std::string& key_name) {
+ data_type_state_.set_encryption_key_name(key_name);
+ type_processor()->OnUpdateReceived(
+ data_type_state_, UpdateResponseDataList(), UpdateResponseDataList());
+ }
// Sets the key_name that the mock CommitQueue will claim is in use
// when receiving items.
- void SetServerEncryptionKey(const std::string& key_name);
+ void SetServerEncryptionKey(const std::string& key_name) {
+ mock_queue_->SetServerEncryptionKey(key_name);
+ }
+
+ void AddMetadataToBatch(const std::string& tag) {
+ const std::string tag_hash = GenerateTagHash(tag);
+ base::Time creation_time = base::Time::Now();
- void AddMetadataToBatch(const std::string& tag);
+ sync_pb::EntityMetadata metadata;
+ metadata.set_client_tag_hash(tag_hash);
+ metadata.set_creation_time(syncer::TimeToProtoTime(creation_time));
+
+ metadata_batch()->AddMetadata(tag, metadata);
+ }
// Return the number of entities the processor has metadata for.
- size_t ProcessorEntityCount() const;
+ size_t ProcessorEntityCount() const {
+ return type_processor()->entities_.size();
+ }
+
+ MockCommitQueue* mock_queue() { return mock_queue_; }
+
+ SharedModelTypeProcessor* type_processor() const {
+ return static_cast<SharedModelTypeProcessor*>(change_processor());
+ }
+
+ const EntityChangeList* entity_change_list() const {
+ return entity_change_list_.get();
+ }
- MockCommitQueue* mock_queue();
- SharedModelTypeProcessor* type_processor() const;
+ const FakeMetadataChangeList* metadata_change_list() const {
+ return metadata_change_list_.get();
+ }
- const EntityChangeList* entity_change_list() const;
- const FakeMetadataChangeList* metadata_change_list() const;
- MetadataBatch* metadata_batch();
+ MetadataBatch* metadata_batch() { return metadata_batch_.get(); }
private:
- static std::string GenerateTagHash(const std::string& tag);
+ static std::string GenerateTagHash(const std::string& tag) {
+ return syncer::syncable::GenerateSyncableHash(kModelType, tag);
+ }
+
static sync_pb::EntitySpecifics GenerateSpecifics(const std::string& tag,
- const std::string& value);
+ const std::string& value) {
+ sync_pb::EntitySpecifics specifics;
+ specifics.mutable_preference()->set_name(tag);
+ specifics.mutable_preference()->set_value(value);
+ return specifics;
+ }
+
+ // These tests never decrypt anything, so we can get away with faking the
+ // encryption for now.
static sync_pb::EntitySpecifics GenerateEncryptedSpecifics(
const std::string& tag,
const std::string& value,
- const std::string& key_name);
-
- int64_t GetServerVersion(const std::string& tag);
- void SetServerVersion(const std::string& tag, int64_t version);
+ const std::string& key_name) {
+ sync_pb::EntitySpecifics specifics;
+ syncer::AddDefaultFieldValue(kModelType, &specifics);
+ specifics.mutable_encrypted()->set_key_name(key_name);
+ specifics.mutable_encrypted()->set_blob("BLOB" + key_name);
+ return specifics;
+ }
void OnReadyToConnect(syncer::SyncError error,
- scoped_ptr<ActivationContext> context);
+ scoped_ptr<ActivationContext> context) {
+ // Hand off ownership of |mock_queue_ptr_|, while keeping
+ // an unsafe pointer to it. This is why we can only connect once.
+ DCHECK(mock_queue_ptr_);
+ context->type_processor->ConnectSync(std::move(mock_queue_ptr_));
+ // The context's type processor is a proxy; run the task it posted.
+ sync_loop_.RunUntilIdle();
+ }
// FakeModelTypeService overrides.
- std::string GetClientTag(const EntityData& entity_data) override;
- scoped_ptr<MetadataChangeList> CreateMetadataChangeList() override;
+
+ std::string GetClientTag(const EntityData& entity_data) override {
+ // The tag is the preference name - see GenerateSpecifics.
+ return entity_data.specifics.preference().name();
+ }
+
+ scoped_ptr<MetadataChangeList> CreateMetadataChangeList() override {
+ // Reset the current first and return a new one.
+ metadata_change_list_.reset();
+ return scoped_ptr<MetadataChangeList>(new FakeMetadataChangeList());
+ }
+
syncer::SyncError ApplySyncChanges(
scoped_ptr<MetadataChangeList> metadata_change_list,
- EntityChangeList entity_changes) override;
+ EntityChangeList entity_changes) override {
+ EXPECT_FALSE(metadata_change_list_);
+ // |metadata_change_list| is expected to be an instance of
+ // FakeMetadataChangeList - see above.
+ metadata_change_list_.reset(
+ static_cast<FakeMetadataChangeList*>(metadata_change_list.release()));
+ EXPECT_TRUE(metadata_change_list_);
+ entity_change_list_.reset(new EntityChangeList(entity_changes));
+ return syncer::SyncError();
+ }
// This sets ThreadTaskRunnerHandle on the current thread, which the type
// processor will pick up as the sync task runner.
@@ -174,303 +368,6 @@ class SharedModelTypeProcessorTest : public ::testing::Test,
scoped_ptr<MetadataBatch> metadata_batch_;
};
-SharedModelTypeProcessorTest::SharedModelTypeProcessorTest()
- : mock_queue_(new MockCommitQueue()),
- mock_queue_ptr_(mock_queue_),
- metadata_batch_(new MetadataBatch()) {
- set_change_processor(
- make_scoped_ptr(new SharedModelTypeProcessor(kModelType, this)));
-}
-
-SharedModelTypeProcessorTest::~SharedModelTypeProcessorTest() {}
-
-void SharedModelTypeProcessorTest::InitializeToReadyState() {
- data_type_state_.set_initial_sync_done(true);
- OnMetadataLoaded();
- OnSyncStarting();
- // TODO(maxbogue): crbug.com/569642: Remove this once entity data is loaded
- // for the normal startup flow.
- UpdateResponseDataList empty_update_list;
- type_processor()->OnUpdateReceived(data_type_state_, empty_update_list,
- empty_update_list);
-}
-
-void SharedModelTypeProcessorTest::OnMetadataLoaded() {
- metadata_batch_->SetDataTypeState(data_type_state_);
- type_processor()->OnMetadataLoaded(std::move(metadata_batch_));
- metadata_batch_.reset(new MetadataBatch());
-}
-
-void SharedModelTypeProcessorTest::OnSyncStarting() {
- type_processor()->OnSyncStarting(base::Bind(
- &SharedModelTypeProcessorTest::OnReadyToConnect, base::Unretained(this)));
-}
-
-void SharedModelTypeProcessorTest::DisconnectSync() {
- type_processor()->DisconnectSync();
- mock_queue_ = NULL;
- mock_queue_ptr_.reset();
-}
-
-void SharedModelTypeProcessorTest::Disable() {
- type_processor()->Disable();
- mock_queue_ = NULL;
- mock_queue_ptr_.reset();
- EXPECT_FALSE(type_processor());
-}
-
-void SharedModelTypeProcessorTest::Restart() {
- if (!type_processor()) {
- set_change_processor(
- make_scoped_ptr(new SharedModelTypeProcessor(kModelType, this)));
- }
- // Prepare a new MockCommitQueue instance, just as we would
- // if this happened in the real world.
- mock_queue_ptr_.reset(new MockCommitQueue());
- mock_queue_ = mock_queue_ptr_.get();
- // Restart sync with the new CommitQueue.
- OnSyncStarting();
-}
-
-void SharedModelTypeProcessorTest::OnReadyToConnect(
- syncer::SyncError error,
- scoped_ptr<ActivationContext> context) {
- // Hand off ownership of |mock_queue_ptr_|, while keeping
- // an unsafe pointer to it. This is why we can only connect once.
- DCHECK(mock_queue_ptr_);
- context->type_processor->ConnectSync(std::move(mock_queue_ptr_));
- // The context's type processor is a proxy; run the task it posted.
- sync_loop_.RunUntilIdle();
-}
-
-void SharedModelTypeProcessorTest::WriteItem(const std::string& tag,
- const std::string& value,
- MetadataChangeList* change_list) {
- scoped_ptr<EntityData> entity_data = make_scoped_ptr(new EntityData());
- entity_data->specifics = GenerateSpecifics(tag, value);
- entity_data->non_unique_name = tag;
- type_processor()->Put(tag, std::move(entity_data), change_list);
-}
-
-void SharedModelTypeProcessorTest::DeleteItem(const std::string& tag,
- MetadataChangeList* change_list) {
- type_processor()->Delete(tag, change_list);
-}
-
-void SharedModelTypeProcessorTest::OnInitialSyncDone() {
- data_type_state_.set_initial_sync_done(true);
- UpdateResponseDataList empty_update_list;
-
- // TODO(stanisc): crbug/569645: replace this with loading the initial state
- // via LoadMetadata callback.
- type_processor()->OnUpdateReceived(data_type_state_, empty_update_list,
- empty_update_list);
-}
-
-void SharedModelTypeProcessorTest::UpdateFromServer(int64_t version_offset,
- const std::string& tag,
- const std::string& value) {
- const std::string tag_hash = GenerateTagHash(tag);
- UpdateResponseData data = mock_queue_->UpdateFromServer(
- version_offset, tag_hash, GenerateSpecifics(tag, value));
-
- UpdateResponseDataList list;
- list.push_back(data);
- type_processor()->OnUpdateReceived(data_type_state_, list,
- UpdateResponseDataList());
-}
-
-void SharedModelTypeProcessorTest::PendingUpdateFromServer(
- int64_t version_offset,
- const std::string& tag,
- const std::string& value,
- const std::string& key_name) {
- const std::string tag_hash = GenerateTagHash(tag);
- UpdateResponseData data = mock_queue_->UpdateFromServer(
- version_offset, tag_hash,
- GenerateEncryptedSpecifics(tag, value, key_name));
-
- UpdateResponseDataList list;
- list.push_back(data);
- type_processor()->OnUpdateReceived(data_type_state_, UpdateResponseDataList(),
- list);
-}
-
-void SharedModelTypeProcessorTest::TombstoneFromServer(int64_t version_offset,
- const std::string& tag) {
- // Overwrite the existing server version if this is the new highest version.
- std::string tag_hash = GenerateTagHash(tag);
-
- UpdateResponseData data =
- mock_queue_->TombstoneFromServer(version_offset, tag_hash);
-
- UpdateResponseDataList list;
- list.push_back(data);
- type_processor()->OnUpdateReceived(data_type_state_, list,
- UpdateResponseDataList());
-}
-
-bool SharedModelTypeProcessorTest::HasPendingUpdate(
- const std::string& tag) const {
- const std::string client_tag_hash = GenerateTagHash(tag);
- const UpdateResponseDataList list = type_processor()->GetPendingUpdates();
- for (UpdateResponseDataList::const_iterator it = list.begin();
- it != list.end(); ++it) {
- if (it->entity->client_tag_hash == client_tag_hash)
- return true;
- }
- return false;
-}
-
-UpdateResponseData SharedModelTypeProcessorTest::GetPendingUpdate(
- const std::string& tag) const {
- DCHECK(HasPendingUpdate(tag));
- const std::string client_tag_hash = GenerateTagHash(tag);
- const UpdateResponseDataList list = type_processor()->GetPendingUpdates();
- for (UpdateResponseDataList::const_iterator it = list.begin();
- it != list.end(); ++it) {
- if (it->entity->client_tag_hash == client_tag_hash)
- return *it;
- }
- NOTREACHED();
- return UpdateResponseData();
-}
-
-size_t SharedModelTypeProcessorTest::GetNumPendingUpdates() const {
- return type_processor()->GetPendingUpdates().size();
-}
-
-void SharedModelTypeProcessorTest::SuccessfulCommitResponse(
- const CommitRequestData& request_data) {
- CommitResponseDataList list;
- list.push_back(mock_queue_->SuccessfulCommitResponse(request_data));
- type_processor()->OnCommitCompleted(data_type_state_, list);
-}
-
-void SharedModelTypeProcessorTest::UpdateDesiredEncryptionKey(
- const std::string& key_name) {
- data_type_state_.set_encryption_key_name(key_name);
- type_processor()->OnUpdateReceived(data_type_state_, UpdateResponseDataList(),
- UpdateResponseDataList());
-}
-
-void SharedModelTypeProcessorTest::SetServerEncryptionKey(
- const std::string& key_name) {
- mock_queue_->SetServerEncryptionKey(key_name);
-}
-
-void SharedModelTypeProcessorTest::AddMetadataToBatch(const std::string& tag) {
- const std::string tag_hash = GenerateTagHash(tag);
- base::Time creation_time = base::Time::Now();
-
- sync_pb::EntityMetadata metadata;
- metadata.set_client_tag_hash(tag_hash);
- metadata.set_creation_time(syncer::TimeToProtoTime(creation_time));
-
- metadata_batch()->AddMetadata(tag, metadata);
-}
-
-size_t SharedModelTypeProcessorTest::ProcessorEntityCount() const {
- return type_processor()->entities_.size();
-}
-
-MockCommitQueue* SharedModelTypeProcessorTest::mock_queue() {
- return mock_queue_;
-}
-
-SharedModelTypeProcessor* SharedModelTypeProcessorTest::type_processor() const {
- return static_cast<SharedModelTypeProcessor*>(change_processor());
-}
-
-const EntityChangeList* SharedModelTypeProcessorTest::entity_change_list()
- const {
- return entity_change_list_.get();
-}
-
-const FakeMetadataChangeList*
-SharedModelTypeProcessorTest::metadata_change_list() const {
- return metadata_change_list_.get();
-}
-
-MetadataBatch* SharedModelTypeProcessorTest::metadata_batch() {
- return metadata_batch_.get();
-}
-
-std::string SharedModelTypeProcessorTest::GenerateTagHash(
- const std::string& tag) {
- return syncer::syncable::GenerateSyncableHash(kModelType, tag);
-}
-
-sync_pb::EntitySpecifics SharedModelTypeProcessorTest::GenerateSpecifics(
- const std::string& tag,
- const std::string& value) {
- sync_pb::EntitySpecifics specifics;
- specifics.mutable_preference()->set_name(tag);
- specifics.mutable_preference()->set_value(value);
- return specifics;
-}
-
-// These tests never decrypt anything, so we can get away with faking the
-// encryption for now.
-sync_pb::EntitySpecifics
-SharedModelTypeProcessorTest::GenerateEncryptedSpecifics(
- const std::string& tag,
- const std::string& value,
- const std::string& key_name) {
- sync_pb::EntitySpecifics specifics;
- syncer::AddDefaultFieldValue(kModelType, &specifics);
- specifics.mutable_encrypted()->set_key_name(key_name);
- specifics.mutable_encrypted()->set_blob("BLOB" + key_name);
- return specifics;
-}
-
-std::string SharedModelTypeProcessorTest::GetClientTag(
- const EntityData& entity_data) {
- // The tag is the preference name - see GenerateSpecifics.
- return entity_data.specifics.preference().name();
-}
-
-scoped_ptr<MetadataChangeList>
-SharedModelTypeProcessorTest::CreateMetadataChangeList() {
- // Reset the current first and return a new one.
- metadata_change_list_.reset();
- return scoped_ptr<MetadataChangeList>(new FakeMetadataChangeList());
-}
-
-syncer::SyncError SharedModelTypeProcessorTest::ApplySyncChanges(
- scoped_ptr<MetadataChangeList> metadata_change_list,
- EntityChangeList entity_changes) {
- EXPECT_FALSE(metadata_change_list_);
- // |metadata_change_list| is expected to be an instance of
- // FakeMetadataChangeList - see above.
- metadata_change_list_.reset(
- static_cast<FakeMetadataChangeList*>(metadata_change_list.release()));
- EXPECT_TRUE(metadata_change_list_);
- entity_change_list_.reset(new EntityChangeList(entity_changes));
- return syncer::SyncError();
-}
-
-size_t SharedModelTypeProcessorTest::GetNumCommitRequestLists() {
- return mock_queue_->GetNumCommitRequestLists();
-}
-
-CommitRequestDataList SharedModelTypeProcessorTest::GetNthCommitRequestList(
- size_t n) {
- return mock_queue_->GetNthCommitRequestList(n);
-}
-
-bool SharedModelTypeProcessorTest::HasCommitRequestForTag(
- const std::string& tag) {
- const std::string tag_hash = GenerateTagHash(tag);
- return mock_queue_->HasCommitRequestForTagHash(tag_hash);
-}
-
-CommitRequestData SharedModelTypeProcessorTest::GetLatestCommitRequestForTag(
- const std::string& tag) {
- const std::string tag_hash = GenerateTagHash(tag);
- return mock_queue_->GetLatestCommitRequestForTagHash(tag_hash);
-}
-
TEST_F(SharedModelTypeProcessorTest, Initialize) {
// TODO(maxbogue): crbug.com/569642: Add data for tag1.
AddMetadataToBatch("tag1");
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698