| Index: sync/test/engine/mock_model_type_processor.h
|
| diff --git a/sync/test/engine/mock_model_type_processor.h b/sync/test/engine/mock_model_type_processor.h
|
| deleted file mode 100644
|
| index e129ec884529f9e4399842a8ae40f80a628b578f..0000000000000000000000000000000000000000
|
| --- a/sync/test/engine/mock_model_type_processor.h
|
| +++ /dev/null
|
| @@ -1,152 +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.
|
| -
|
| -#ifndef SYNC_TEST_ENGINE_MOCK_MODEL_TYPE_PROCESSOR_H_
|
| -#define SYNC_TEST_ENGINE_MOCK_MODEL_TYPE_PROCESSOR_H_
|
| -
|
| -#include <stddef.h>
|
| -#include <stdint.h>
|
| -
|
| -#include <map>
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| -#include "base/callback.h"
|
| -#include "base/macros.h"
|
| -#include "sync/internal_api/public/model_type_processor.h"
|
| -#include "sync/internal_api/public/non_blocking_sync_common.h"
|
| -#include "sync/protocol/data_type_state.pb.h"
|
| -
|
| -namespace syncer_v2 {
|
| -
|
| -// Mocks the ModelTypeProcessor.
|
| -//
|
| -// This mock is made simpler by not using any threads. It does still have the
|
| -// ability to defer execution if we need to test race conditions, though.
|
| -//
|
| -// It maintains some state to try to make its behavior more realistic. It
|
| -// updates this state as it creates commit requests or receives update and
|
| -// commit responses.
|
| -//
|
| -// It keeps a log of all received messages so tests can make assertions based
|
| -// on their value.
|
| -class MockModelTypeProcessor : public ModelTypeProcessor {
|
| - public:
|
| - typedef base::Callback<void()> DisconnectCallback;
|
| -
|
| - MockModelTypeProcessor();
|
| - ~MockModelTypeProcessor() override;
|
| -
|
| - // Implementation of ModelTypeProcessor.
|
| - void ConnectSync(std::unique_ptr<CommitQueue> commit_queue) override;
|
| - void DisconnectSync() override;
|
| - void OnCommitCompleted(const sync_pb::DataTypeState& type_state,
|
| - const CommitResponseDataList& response_list) override;
|
| - void OnUpdateReceived(const sync_pb::DataTypeState& type_state,
|
| - const UpdateResponseDataList& response_list) override;
|
| -
|
| - // By default, this object behaves as if all messages are processed
|
| - // immediately. Sometimes it is useful to defer work until later, as might
|
| - // happen in the real world if the model thread's task queue gets backed up.
|
| - void SetSynchronousExecution(bool is_synchronous);
|
| -
|
| - // Runs any work that was deferred while this class was in asynchronous mode.
|
| - //
|
| - // This function is not useful unless this object is set to synchronous
|
| - // execution mode, which is the default.
|
| - void RunQueuedTasks();
|
| -
|
| - // Generate commit or deletion requests to be sent to the server.
|
| - // These functions update local state to keep sequence numbers consistent.
|
| - //
|
| - // A real ModelTypeProcessor would forward these kinds of messages
|
| - // directly to its attached CommitQueue. These methods
|
| - // return the value to the caller so the test framework can handle them as it
|
| - // sees fit.
|
| - CommitRequestData CommitRequest(const std::string& tag_hash,
|
| - const sync_pb::EntitySpecifics& specifics);
|
| - CommitRequestData DeleteRequest(const std::string& tag_hash);
|
| -
|
| - // Getters to access the log of received update responses.
|
| - //
|
| - // Does not includes repsonses that are in pending tasks.
|
| - size_t GetNumUpdateResponses() const;
|
| - UpdateResponseDataList GetNthUpdateResponse(size_t n) const;
|
| - sync_pb::DataTypeState GetNthTypeStateReceivedInUpdateResponse(
|
| - size_t n) const;
|
| -
|
| - // Getters to access the log of received commit responses.
|
| - //
|
| - // Does not includes responses that are in pending tasks.
|
| - size_t GetNumCommitResponses() const;
|
| - CommitResponseDataList GetNthCommitResponse(size_t n) const;
|
| - sync_pb::DataTypeState GetNthTypeStateReceivedInCommitResponse(
|
| - size_t n) const;
|
| -
|
| - // Getters to access the lastest update response for a given tag_hash.
|
| - bool HasUpdateResponse(const std::string& tag_hash) const;
|
| - UpdateResponseData GetUpdateResponse(const std::string& tag_hash) const;
|
| -
|
| - // Getters to access the lastest commit response for a given tag_hash.
|
| - bool HasCommitResponse(const std::string& tag_hash) const;
|
| - CommitResponseData GetCommitResponse(const std::string& tag_hash) const;
|
| -
|
| - void SetDisconnectCallback(const DisconnectCallback& callback);
|
| -
|
| - private:
|
| - // Process a received commit response.
|
| - //
|
| - // Implemented as an Impl method so we can defer its execution in some cases.
|
| - void OnCommitCompletedImpl(const sync_pb::DataTypeState& type_state,
|
| - const CommitResponseDataList& response_list);
|
| -
|
| - // Process a received update response.
|
| - //
|
| - // Implemented as an Impl method so we can defer its execution in some cases.
|
| - void OnUpdateReceivedImpl(const sync_pb::DataTypeState& type_state,
|
| - const UpdateResponseDataList& response_list);
|
| -
|
| - // Getter and setter for per-item sequence number tracking.
|
| - int64_t GetCurrentSequenceNumber(const std::string& tag_hash) const;
|
| - int64_t GetNextSequenceNumber(const std::string& tag_hash);
|
| -
|
| - // Getter and setter for per-item base version tracking.
|
| - int64_t GetBaseVersion(const std::string& tag_hash) const;
|
| - void SetBaseVersion(const std::string& tag_hash, int64_t version);
|
| -
|
| - // Getters and setter for server-assigned ID values.
|
| - bool HasServerAssignedId(const std::string& tag_hash) const;
|
| - const std::string& GetServerAssignedId(const std::string& tag_hash) const;
|
| - void SetServerAssignedId(const std::string& tag_hash, const std::string& id);
|
| -
|
| - // State related to the implementation of deferred work.
|
| - // See SetSynchronousExecution() for details.
|
| - bool is_synchronous_;
|
| - std::vector<base::Closure> pending_tasks_;
|
| - std::unique_ptr<CommitQueue> commit_queue_;
|
| -
|
| - // A log of messages received by this object.
|
| - std::vector<CommitResponseDataList> received_commit_responses_;
|
| - std::vector<UpdateResponseDataList> received_update_responses_;
|
| - std::vector<sync_pb::DataTypeState> type_states_received_on_update_;
|
| - std::vector<sync_pb::DataTypeState> type_states_received_on_commit_;
|
| -
|
| - // Latest responses received, indexed by tag_hash.
|
| - std::map<const std::string, CommitResponseData> commit_response_items_;
|
| - std::map<const std::string, UpdateResponseData> update_response_items_;
|
| -
|
| - // The per-item state maps.
|
| - std::map<const std::string, int64_t> sequence_numbers_;
|
| - std::map<const std::string, int64_t> base_versions_;
|
| - std::map<const std::string, std::string> assigned_ids_;
|
| -
|
| - // Callback which will be call during disconnection
|
| - DisconnectCallback disconnect_callback_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(MockModelTypeProcessor);
|
| -};
|
| -
|
| -} // namespace syncer_v2
|
| -
|
| -#endif // SYNC_TEST_ENGINE_MOCK_MODEL_TYPE_PROCESSOR_H_
|
|
|