blob: d0d591511bc3381f8a3e2574038ad7d8fb655cc4 [file] [log] [blame]
// Copyright 2017 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 CHROME_BROWSER_MEDIA_ROUTER_TEST_MOCK_MOJO_MEDIA_ROUTER_H_
#define CHROME_BROWSER_MEDIA_ROUTER_TEST_MOCK_MOJO_MEDIA_ROUTER_H_
#include "components/media_router/browser/logger_impl.h"
#include "components/media_router/browser/test/mock_media_router.h"
#include "components/media_router/common/media_route_provider_helper.h"
#include "components/media_router/common/mojom/media_router.mojom.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "testing/gmock/include/gmock/gmock.h"
namespace media_router {
class MockMojoMediaRouter : public MockMediaRouter, public mojom::MediaRouter {
public:
MockMojoMediaRouter();
~MockMojoMediaRouter() override;
// mojom::MediaRouter overrides:
void RegisterMediaRouteProvider(
MediaRouteProviderId provider_id,
mojo::PendingRemote<mojom::MediaRouteProvider> provider_remote,
RegisterMediaRouteProviderCallback callback) override {
RegisterMediaRouteProviderInternal(provider_id, provider_remote, callback);
}
MOCK_METHOD3(
RegisterMediaRouteProviderInternal,
void(MediaRouteProviderId provider_id,
mojo::PendingRemote<mojom::MediaRouteProvider>& provider_remote,
RegisterMediaRouteProviderCallback& callback));
MOCK_METHOD1(OnIssue, void(const IssueInfo& issue));
MOCK_METHOD4(OnSinksReceived,
void(MediaRouteProviderId provider_id,
const std::string& media_source,
const std::vector<MediaSinkInternal>& internal_sinks,
const std::vector<url::Origin>& origins));
MOCK_METHOD4(OnRoutesUpdated,
void(MediaRouteProviderId provider_id,
const std::vector<MediaRoute>& routes,
const std::string& media_source,
const std::vector<std::string>& joinable_route_ids));
MOCK_METHOD2(OnSinkAvailabilityUpdated,
void(MediaRouteProviderId provider_id,
mojom::MediaRouter::SinkAvailability availability));
MOCK_METHOD2(OnPresentationConnectionStateChanged,
void(const std::string& route_id,
blink::mojom::PresentationConnectionState state));
MOCK_METHOD3(OnPresentationConnectionClosed,
void(const std::string& route_id,
blink::mojom::PresentationConnectionCloseReason reason,
const std::string& message));
MOCK_METHOD2(OnRouteMessagesReceived,
void(const std::string& route_id,
std::vector<mojom::RouteMessagePtr> messages));
MOCK_METHOD1(GetLogger, void(mojo::PendingReceiver<mojom::Logger> receiver));
MOCK_METHOD0(GetLogger, LoggerImpl*());
MOCK_METHOD1(GetLogsAsString, void(GetLogsAsStringCallback callback));
void GetMediaSinkServiceStatus(
mojom::MediaRouter::GetMediaSinkServiceStatusCallback callback) override {
GetMediaSinkServiceStatusInternal(callback);
}
MOCK_METHOD1(
GetMediaSinkServiceStatusInternal,
void(mojom::MediaRouter::GetMediaSinkServiceStatusCallback& callback));
MOCK_METHOD0(GetMediaSinkServiceStatus, std::string());
MOCK_METHOD2(
GetMirroringServiceHostForTab,
void(int32_t target_tab_id,
mojo::PendingReceiver<mirroring::mojom::MirroringServiceHost>
receiver));
MOCK_METHOD3(
GetMirroringServiceHostForDesktop,
void(int32_t initiator_tab_id,
const std::string& desktop_stream_id,
mojo::PendingReceiver<mirroring::mojom::MirroringServiceHost>
receiver));
MOCK_METHOD3(
GetMirroringServiceHostForOffscreenTab,
void(const GURL& presentation_url,
const std::string& presentation_id,
mojo::PendingReceiver<mirroring::mojom::MirroringServiceHost>
receiver));
};
} // namespace media_router
#endif // CHROME_BROWSER_MEDIA_ROUTER_TEST_MOCK_MOJO_MEDIA_ROUTER_H_