Add canonical mock for MediaStreamInterface

Needed to let upstream APIs integrate changes more easily.

Bug: webrtc:13980
Change-Id: I6cd46f75d56597c10e08d0d66e16089516f5129c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259821
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36613}
This commit is contained in:
Harald Alvestrand 2022-04-22 08:37:14 +00:00 committed by WebRTC LUCI CQ
parent 498078ce28
commit e217217bf3

View File

@ -84,6 +84,52 @@ class MockAudioTrack final : public rtc::RefCountedObject<AudioTrackInterface> {
MockAudioTrack() = default;
};
class MockMediaStream : public MediaStreamInterface {
public:
MOCK_METHOD(std::string, id, (), (const override));
MOCK_METHOD(AudioTrackVector, GetAudioTracks, (), (override));
MOCK_METHOD(VideoTrackVector, GetVideoTracks, (), (override));
MOCK_METHOD(rtc::scoped_refptr<AudioTrackInterface>,
FindAudioTrack,
(const std::string& track_id),
(override));
MOCK_METHOD(rtc::scoped_refptr<VideoTrackInterface>,
FindVideoTrack,
(const std::string& track_id),
(override));
MOCK_METHOD(bool,
AddTrack,
(rtc::scoped_refptr<AudioTrackInterface> track),
(override));
MOCK_METHOD(bool,
AddTrack,
(rtc::scoped_refptr<VideoTrackInterface> track),
(override));
MOCK_METHOD(bool,
RemoveTrack,
(rtc::scoped_refptr<AudioTrackInterface> track),
(override));
MOCK_METHOD(bool,
RemoveTrack,
(rtc::scoped_refptr<VideoTrackInterface> track),
(override));
// Old AddTrack/RemoveTrack methods - slated for removal
MOCK_METHOD(bool, AddTrack, (AudioTrackInterface * track), (override));
MOCK_METHOD(bool, AddTrack, (VideoTrackInterface * track), (override));
MOCK_METHOD(bool, RemoveTrack, (AudioTrackInterface * track), (override));
MOCK_METHOD(bool, RemoveTrack, (VideoTrackInterface * track), (override));
MOCK_METHOD(void,
RegisterObserver,
(ObserverInterface * observer),
(override));
MOCK_METHOD(void,
UnregisterObserver,
(ObserverInterface * observer),
(override));
};
static_assert(!std::is_abstract_v<rtc::RefCountedObject<MockMediaStream>>, "");
} // namespace webrtc
#endif // API_TEST_MOCK_MEDIA_STREAM_INTERFACE_H_