From 98fe985480f2f05a3c334d8fafefac8b6b21aa50 Mon Sep 17 00:00:00 2001 From: Harald Alvestrand Date: Mon, 24 Oct 2022 09:43:22 +0000 Subject: [PATCH] Add MockSessionDescriptionInterface This is needed to get rid of a mock in Chrome. Bug: webrtc:14594 Change-Id: I27df2a1466e6a2dea87a211f803b3f2c7aa57478 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/280041 Reviewed-by: Florent Castelli Commit-Queue: Harald Alvestrand Cr-Commit-Position: refs/heads/main@{#38458} --- api/BUILD.gn | 11 ++++ api/test/mock_session_description_interface.h | 51 +++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 api/test/mock_session_description_interface.h diff --git a/api/BUILD.gn b/api/BUILD.gn index 12511518f5..59eec12698 100644 --- a/api/BUILD.gn +++ b/api/BUILD.gn @@ -1143,6 +1143,16 @@ if (rtc_include_tests) { ] } + rtc_source_set("mock_session_description_interface") { + visibility = [ "*" ] + testonly = true + sources = [ "test/mock_session_description_interface.h" ] + deps = [ + ":libjingle_peerconnection_api", + "../test:test_support", + ] + } + rtc_source_set("mock_async_dns_resolver") { visibility = [ "*" ] testonly = true @@ -1349,6 +1359,7 @@ if (rtc_include_tests) { ":mock_peer_connection_factory_interface", ":mock_peerconnectioninterface", ":mock_rtp", + ":mock_session_description_interface", ":mock_transformable_video_frame", ":mock_video_bitrate_allocator", ":mock_video_bitrate_allocator_factory", diff --git a/api/test/mock_session_description_interface.h b/api/test/mock_session_description_interface.h new file mode 100644 index 0000000000..2a6ce0c662 --- /dev/null +++ b/api/test/mock_session_description_interface.h @@ -0,0 +1,51 @@ +/* + * Copyright 2022 The WebRTC project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +#ifndef API_TEST_MOCK_SESSION_DESCRIPTION_INTERFACE_H_ +#define API_TEST_MOCK_SESSION_DESCRIPTION_INTERFACE_H_ + +#include +#include +#include +#include + +#include "api/jsep.h" +#include "test/gmock.h" + +namespace webrtc { + +class MockSessionDescriptionInterface : public SessionDescriptionInterface { + public: + MOCK_METHOD(std::unique_ptr, + Clone, + (), + (const, override)); + MOCK_METHOD(cricket::SessionDescription*, description, (), (override)); + MOCK_METHOD(const cricket::SessionDescription*, + description, + (), + (const, override)); + MOCK_METHOD(SdpType, GetType, (), (const, override)); + MOCK_METHOD(std::string, type, (), (const, override)); + MOCK_METHOD(bool, AddCandidate, (const IceCandidateInterface*), (override)); + MOCK_METHOD(size_t, + RemoveCandidates, + (const std::vector&), + (override)); + MOCK_METHOD(size_t, number_of_mediasections, (), (const, override)); + MOCK_METHOD(IceCandidateCollection*, candidates, (size_t), (const, override)); + MOCK_METHOD(bool, ToString, (std::string*), (const, override)); +}; + +static_assert(!std::is_abstract_v); + +} // namespace webrtc + +#endif // API_TEST_MOCK_SESSION_DESCRIPTION_INTERFACE_H_