| Index: sync/test/engine/mock_model_type_processor.cc
|
| diff --git a/sync/test/engine/mock_model_type_processor.cc b/sync/test/engine/mock_model_type_processor.cc
|
| deleted file mode 100644
|
| index e6d27015993623eb7f04a8e07f94662e38d33a9e..0000000000000000000000000000000000000000
|
| --- a/sync/test/engine/mock_model_type_processor.cc
|
| +++ /dev/null
|
| @@ -1,283 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "sync/test/engine/mock_model_type_processor.h"
|
| -
|
| -#include <stddef.h>
|
| -#include <stdint.h>
|
| -
|
| -#include "base/base64.h"
|
| -#include "base/bind.h"
|
| -#include "base/sha1.h"
|
| -#include "sync/engine/commit_queue.h"
|
| -
|
| -namespace syncer_v2 {
|
| -
|
| -MockModelTypeProcessor::MockModelTypeProcessor() : is_synchronous_(true) {}
|
| -
|
| -MockModelTypeProcessor::~MockModelTypeProcessor() {}
|
| -
|
| -void MockModelTypeProcessor::ConnectSync(
|
| - std::unique_ptr<CommitQueue> commit_queue) {
|
| - NOTREACHED();
|
| -}
|
| -
|
| -void MockModelTypeProcessor::DisconnectSync() {
|
| - if (!disconnect_callback_.is_null()) {
|
| - disconnect_callback_.Run();
|
| - }
|
| -}
|
| -
|
| -void MockModelTypeProcessor::OnCommitCompleted(
|
| - const sync_pb::DataTypeState& type_state,
|
| - const CommitResponseDataList& response_list) {
|
| - base::Closure task =
|
| - base::Bind(&MockModelTypeProcessor::OnCommitCompletedImpl,
|
| - base::Unretained(this),
|
| - type_state,
|
| - response_list);
|
| - pending_tasks_.push_back(task);
|
| - if (is_synchronous_)
|
| - RunQueuedTasks();
|
| -}
|
| -
|
| -void MockModelTypeProcessor::OnUpdateReceived(
|
| - const sync_pb::DataTypeState& type_state,
|
| - const UpdateResponseDataList& response_list) {
|
| - base::Closure task = base::Bind(&MockModelTypeProcessor::OnUpdateReceivedImpl,
|
| - base::Unretained(this),
|
| - type_state,
|
| - response_list);
|
| - pending_tasks_.push_back(task);
|
| - if (is_synchronous_)
|
| - RunQueuedTasks();
|
| -}
|
| -
|
| -void MockModelTypeProcessor::SetSynchronousExecution(bool is_synchronous) {
|
| - is_synchronous_ = is_synchronous;
|
| -}
|
| -
|
| -void MockModelTypeProcessor::RunQueuedTasks() {
|
| - for (std::vector<base::Closure>::iterator it = pending_tasks_.begin();
|
| - it != pending_tasks_.end();
|
| - ++it) {
|
| - it->Run();
|
| - }
|
| - pending_tasks_.clear();
|
| -}
|
| -
|
| -CommitRequestData MockModelTypeProcessor::CommitRequest(
|
| - const std::string& tag_hash,
|
| - const sync_pb::EntitySpecifics& specifics) {
|
| - const int64_t base_version = GetBaseVersion(tag_hash);
|
| -
|
| - EntityData data;
|
| -
|
| - if (HasServerAssignedId(tag_hash)) {
|
| - data.id = GetServerAssignedId(tag_hash);
|
| - }
|
| -
|
| - data.client_tag_hash = tag_hash;
|
| - data.specifics = specifics;
|
| -
|
| - // These fields are not really used for much, but we set them anyway
|
| - // to make this item look more realistic.
|
| - data.creation_time = base::Time::UnixEpoch() + base::TimeDelta::FromDays(1);
|
| - data.modification_time =
|
| - data.creation_time + base::TimeDelta::FromSeconds(base_version);
|
| - data.non_unique_name = "Name: " + tag_hash;
|
| -
|
| - CommitRequestData request_data;
|
| - request_data.entity = data.PassToPtr();
|
| - request_data.sequence_number = GetNextSequenceNumber(tag_hash);
|
| - request_data.base_version = base_version;
|
| - base::Base64Encode(base::SHA1HashString(specifics.SerializeAsString()),
|
| - &request_data.specifics_hash);
|
| -
|
| - return request_data;
|
| -}
|
| -
|
| -CommitRequestData MockModelTypeProcessor::DeleteRequest(
|
| - const std::string& tag_hash) {
|
| - const int64_t base_version = GetBaseVersion(tag_hash);
|
| -
|
| - EntityData data;
|
| -
|
| - if (HasServerAssignedId(tag_hash)) {
|
| - data.id = GetServerAssignedId(tag_hash);
|
| - }
|
| -
|
| - data.client_tag_hash = tag_hash;
|
| -
|
| - // These fields have little or no effect on behavior. We set them anyway to
|
| - // make the test more realistic.
|
| - data.creation_time = base::Time::UnixEpoch() + base::TimeDelta::FromDays(1);
|
| - data.non_unique_name = "Name deleted";
|
| -
|
| - data.modification_time =
|
| - data.creation_time + base::TimeDelta::FromSeconds(base_version);
|
| -
|
| - CommitRequestData request_data;
|
| - request_data.entity = data.PassToPtr();
|
| - request_data.sequence_number = GetNextSequenceNumber(tag_hash);
|
| - request_data.base_version = base_version;
|
| -
|
| - return request_data;
|
| -}
|
| -
|
| -size_t MockModelTypeProcessor::GetNumUpdateResponses() const {
|
| - return received_update_responses_.size();
|
| -}
|
| -
|
| -UpdateResponseDataList MockModelTypeProcessor::GetNthUpdateResponse(
|
| - size_t n) const {
|
| - DCHECK_LT(n, GetNumUpdateResponses());
|
| - return received_update_responses_[n];
|
| -}
|
| -
|
| -sync_pb::DataTypeState
|
| -MockModelTypeProcessor::GetNthTypeStateReceivedInUpdateResponse(
|
| - size_t n) const {
|
| - DCHECK_LT(n, GetNumUpdateResponses());
|
| - return type_states_received_on_update_[n];
|
| -}
|
| -
|
| -size_t MockModelTypeProcessor::GetNumCommitResponses() const {
|
| - return received_commit_responses_.size();
|
| -}
|
| -
|
| -CommitResponseDataList MockModelTypeProcessor::GetNthCommitResponse(
|
| - size_t n) const {
|
| - DCHECK_LT(n, GetNumCommitResponses());
|
| - return received_commit_responses_[n];
|
| -}
|
| -
|
| -sync_pb::DataTypeState
|
| -MockModelTypeProcessor::GetNthTypeStateReceivedInCommitResponse(
|
| - size_t n) const {
|
| - DCHECK_LT(n, GetNumCommitResponses());
|
| - return type_states_received_on_commit_[n];
|
| -}
|
| -
|
| -bool MockModelTypeProcessor::HasUpdateResponse(
|
| - const std::string& tag_hash) const {
|
| - std::map<const std::string, UpdateResponseData>::const_iterator it =
|
| - update_response_items_.find(tag_hash);
|
| - return it != update_response_items_.end();
|
| -}
|
| -
|
| -UpdateResponseData MockModelTypeProcessor::GetUpdateResponse(
|
| - const std::string& tag_hash) const {
|
| - DCHECK(HasUpdateResponse(tag_hash));
|
| - std::map<const std::string, UpdateResponseData>::const_iterator it =
|
| - update_response_items_.find(tag_hash);
|
| - return it->second;
|
| -}
|
| -
|
| -bool MockModelTypeProcessor::HasCommitResponse(
|
| - const std::string& tag_hash) const {
|
| - std::map<const std::string, CommitResponseData>::const_iterator it =
|
| - commit_response_items_.find(tag_hash);
|
| - return it != commit_response_items_.end();
|
| -}
|
| -
|
| -CommitResponseData MockModelTypeProcessor::GetCommitResponse(
|
| - const std::string& tag_hash) const {
|
| - DCHECK(HasCommitResponse(tag_hash));
|
| - std::map<const std::string, CommitResponseData>::const_iterator it =
|
| - commit_response_items_.find(tag_hash);
|
| - return it->second;
|
| -}
|
| -
|
| -void MockModelTypeProcessor::SetDisconnectCallback(
|
| - const DisconnectCallback& callback) {
|
| - disconnect_callback_ = callback;
|
| -}
|
| -
|
| -void MockModelTypeProcessor::OnCommitCompletedImpl(
|
| - const sync_pb::DataTypeState& type_state,
|
| - const CommitResponseDataList& response_list) {
|
| - received_commit_responses_.push_back(response_list);
|
| - type_states_received_on_commit_.push_back(type_state);
|
| - for (CommitResponseDataList::const_iterator it = response_list.begin();
|
| - it != response_list.end(); ++it) {
|
| - commit_response_items_.insert(std::make_pair(it->client_tag_hash, *it));
|
| -
|
| - // Server wins. Set the model's base version.
|
| - SetBaseVersion(it->client_tag_hash, it->response_version);
|
| - SetServerAssignedId(it->client_tag_hash, it->id);
|
| - }
|
| -}
|
| -
|
| -void MockModelTypeProcessor::OnUpdateReceivedImpl(
|
| - const sync_pb::DataTypeState& type_state,
|
| - const UpdateResponseDataList& response_list) {
|
| - received_update_responses_.push_back(response_list);
|
| - type_states_received_on_update_.push_back(type_state);
|
| - for (UpdateResponseDataList::const_iterator it = response_list.begin();
|
| - it != response_list.end(); ++it) {
|
| - const std::string client_tag_hash = it->entity->client_tag_hash;
|
| - update_response_items_.insert(std::make_pair(client_tag_hash, *it));
|
| -
|
| - // Server wins. Set the model's base version.
|
| - SetBaseVersion(client_tag_hash, it->response_version);
|
| - SetServerAssignedId(client_tag_hash, it->entity->id);
|
| - }
|
| -}
|
| -
|
| -// Fetches the sequence number as of the most recent update request.
|
| -int64_t MockModelTypeProcessor::GetCurrentSequenceNumber(
|
| - const std::string& tag_hash) const {
|
| - std::map<const std::string, int64_t>::const_iterator it =
|
| - sequence_numbers_.find(tag_hash);
|
| - if (it == sequence_numbers_.end()) {
|
| - return 0;
|
| - } else {
|
| - return it->second;
|
| - }
|
| -}
|
| -
|
| -// The model thread should be sending us items with strictly increasing
|
| -// sequence numbers. Here's where we emulate that behavior.
|
| -int64_t MockModelTypeProcessor::GetNextSequenceNumber(
|
| - const std::string& tag_hash) {
|
| - int64_t sequence_number = GetCurrentSequenceNumber(tag_hash);
|
| - sequence_number++;
|
| - sequence_numbers_[tag_hash] = sequence_number;
|
| - return sequence_number;
|
| -}
|
| -
|
| -int64_t MockModelTypeProcessor::GetBaseVersion(
|
| - const std::string& tag_hash) const {
|
| - std::map<const std::string, int64_t>::const_iterator it =
|
| - base_versions_.find(tag_hash);
|
| - if (it == base_versions_.end()) {
|
| - return kUncommittedVersion;
|
| - } else {
|
| - return it->second;
|
| - }
|
| -}
|
| -
|
| -void MockModelTypeProcessor::SetBaseVersion(const std::string& tag_hash,
|
| - int64_t version) {
|
| - base_versions_[tag_hash] = version;
|
| -}
|
| -
|
| -bool MockModelTypeProcessor::HasServerAssignedId(
|
| - const std::string& tag_hash) const {
|
| - return assigned_ids_.find(tag_hash) != assigned_ids_.end();
|
| -}
|
| -
|
| -const std::string& MockModelTypeProcessor::GetServerAssignedId(
|
| - const std::string& tag_hash) const {
|
| - DCHECK(HasServerAssignedId(tag_hash));
|
| - return assigned_ids_.find(tag_hash)->second;
|
| -}
|
| -
|
| -void MockModelTypeProcessor::SetServerAssignedId(const std::string& tag_hash,
|
| - const std::string& id) {
|
| - assigned_ids_[tag_hash] = id;
|
| -}
|
| -
|
| -} // namespace syncer_v2
|
|
|