blob: 49abc054ea90e35caec83ee3bec233dc159b1ce4 [file]
// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_SHARING_MESSAGE_MOCK_SHARING_SERVICE_H_
#define COMPONENTS_SHARING_MESSAGE_MOCK_SHARING_SERVICE_H_
#include <optional>
#include "components/sharing_message/proto/sharing_message.pb.h"
#include "components/sharing_message/sharing_message_handler.h"
#include "components/sharing_message/sharing_message_sender.h"
#include "components/sharing_message/sharing_service.h"
#include "components/sync/protocol/unencrypted_sharing_message.pb.h"
#include "testing/gmock/include/gmock/gmock.h"
class MockSharingService : public SharingService {
public:
MockSharingService();
MockSharingService(const MockSharingService&) = delete;
MockSharingService& operator=(const MockSharingService&) = delete;
~MockSharingService() override;
MOCK_CONST_METHOD1(GetDeviceCandidates,
std::vector<SharingTargetDeviceInfo>(
syncer::DeviceInfo::SharingFeature required_feature));
MOCK_METHOD4(
SendMessageToDevice,
base::OnceClosure(const SharingTargetDeviceInfo& device,
base::TimeDelta response_timeout,
components_sharing_message::SharingMessage message,
SharingMessageSender::ResponseCallback callback));
MOCK_METHOD3(
SendIosPushMessageToDevice,
base::OnceClosure(const SharingTargetDeviceInfo& device,
sync_pb::UnencryptedSharingMessage message,
SharingMessageSender::ResponseCallback callback));
MOCK_CONST_METHOD1(
GetDeviceByGuid,
std::optional<SharingTargetDeviceInfo>(const std::string& guid));
MOCK_METHOD2(RegisterSharingHandler,
void(std::unique_ptr<SharingMessageHandler> handler,
components_sharing_message::SharingMessage::PayloadCase
payload_case));
MOCK_METHOD1(UnregisterSharingHandler,
void(components_sharing_message::SharingMessage::PayloadCase
payload_case));
};
#endif // COMPONENTS_SHARING_MESSAGE_MOCK_SHARING_SERVICE_H_