Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Side by Side Diff: content/renderer/media/peer_connection_tracker_unittest.cc

Issue 2897603004: WebRtcMediaStreamAdapter using WebRtcMediaStreamTrackMap. (Closed)
Patch Set: Rebase after dep CL landed Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | content/renderer/media/rtc_peer_connection_handler.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2016 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/media/peer_connection_tracker.h" 5 #include "content/renderer/media/peer_connection_tracker.h"
6 6
7 #include "base/message_loop/message_loop.h"
7 #include "content/common/media/peer_connection_tracker_messages.h" 8 #include "content/common/media/peer_connection_tracker_messages.h"
8 #include "content/public/test/mock_render_thread.h" 9 #include "content/public/test/mock_render_thread.h"
9 #include "content/renderer/media/mock_web_rtc_peer_connection_handler_client.h" 10 #include "content/renderer/media/mock_web_rtc_peer_connection_handler_client.h"
10 #include "content/renderer/media/rtc_peer_connection_handler.h" 11 #include "content/renderer/media/rtc_peer_connection_handler.h"
12 #include "content/renderer/media/webrtc/mock_peer_connection_dependency_factory. h"
11 #include "ipc/ipc_message_macros.h" 13 #include "ipc/ipc_message_macros.h"
12 #include "testing/gmock/include/gmock/gmock.h" 14 #include "testing/gmock/include/gmock/gmock.h"
13 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
14 #include "third_party/WebKit/public/platform/WebMediaConstraints.h" 16 #include "third_party/WebKit/public/platform/WebMediaConstraints.h"
15 #include "third_party/WebKit/public/platform/WebRTCOfferOptions.h" 17 #include "third_party/WebKit/public/platform/WebRTCOfferOptions.h"
16 18
17 using ::testing::_; 19 using ::testing::_;
18 20
19 namespace content { 21 namespace content {
20 22
(...skipping 15 matching lines...) Expand all
36 OnUpdatePeerConnection) 38 OnUpdatePeerConnection)
37 IPC_MESSAGE_HANDLER(PeerConnectionTrackerHost_AddPeerConnection, 39 IPC_MESSAGE_HANDLER(PeerConnectionTrackerHost_AddPeerConnection,
38 OnAddPeerConnection) 40 OnAddPeerConnection)
39 IPC_MESSAGE_UNHANDLED(handled = false) 41 IPC_MESSAGE_UNHANDLED(handled = false)
40 IPC_END_MESSAGE_MAP() 42 IPC_END_MESSAGE_MAP()
41 return handled; 43 return handled;
42 } 44 }
43 45
44 class MockPeerConnectionHandler : public RTCPeerConnectionHandler { 46 class MockPeerConnectionHandler : public RTCPeerConnectionHandler {
45 public: 47 public:
46 MockPeerConnectionHandler() : RTCPeerConnectionHandler(&client_, nullptr) {} 48 MockPeerConnectionHandler()
49 : RTCPeerConnectionHandler(&client_, &dependency_factory_) {}
47 MOCK_METHOD0(CloseClientPeerConnection, void()); 50 MOCK_METHOD0(CloseClientPeerConnection, void());
48 51
49 private: 52 private:
53 MockPeerConnectionDependencyFactory dependency_factory_;
50 MockWebRTCPeerConnectionHandlerClient client_; 54 MockWebRTCPeerConnectionHandlerClient client_;
51 }; 55 };
52 56
57 class PeerConnectionTrackerTest : public ::testing::Test {
58 private:
59 base::MessageLoop message_loop_;
60 };
61
53 } // namespace 62 } // namespace
54 63
55 TEST(PeerConnectionTrackerTest, CreatingObject) { 64 TEST_F(PeerConnectionTrackerTest, CreatingObject) {
56 PeerConnectionTracker tracker; 65 PeerConnectionTracker tracker;
57 } 66 }
58 67
59 TEST(PeerConnectionTrackerTest, TrackCreateOffer) { 68 TEST_F(PeerConnectionTrackerTest, TrackCreateOffer) {
60 PeerConnectionTracker tracker; 69 PeerConnectionTracker tracker;
61 // Note: blink::WebRTCOfferOptions is not mockable. So we can't write 70 // Note: blink::WebRTCOfferOptions is not mockable. So we can't write
62 // tests for anything but a null options parameter. 71 // tests for anything but a null options parameter.
63 blink::WebRTCOfferOptions options(0, 0, false, false); 72 blink::WebRTCOfferOptions options(0, 0, false, false);
64 // Initialization stuff. This can be separated into a test class. 73 // Initialization stuff. This can be separated into a test class.
65 MockPeerConnectionHandler pc_handler; 74 MockPeerConnectionHandler pc_handler;
66 MockSendTargetThread target_thread; 75 MockSendTargetThread target_thread;
67 webrtc::PeerConnectionInterface::RTCConfiguration config; 76 webrtc::PeerConnectionInterface::RTCConfiguration config;
68 blink::WebMediaConstraints constraints; 77 blink::WebMediaConstraints constraints;
69 tracker.OverrideSendTargetForTesting(&target_thread); 78 tracker.OverrideSendTargetForTesting(&target_thread);
70 EXPECT_CALL(target_thread, OnAddPeerConnection(_)); 79 EXPECT_CALL(target_thread, OnAddPeerConnection(_));
71 tracker.RegisterPeerConnection(&pc_handler, config, constraints, nullptr); 80 tracker.RegisterPeerConnection(&pc_handler, config, constraints, nullptr);
72 // Back to the test. 81 // Back to the test.
73 EXPECT_CALL(target_thread, 82 EXPECT_CALL(target_thread,
74 OnUpdatePeerConnection( 83 OnUpdatePeerConnection(
75 _, "createOffer", 84 _, "createOffer",
76 "options: {offerToReceiveVideo: 0, offerToReceiveAudio: 0, " 85 "options: {offerToReceiveVideo: 0, offerToReceiveAudio: 0, "
77 "voiceActivityDetection: false, iceRestart: false}")); 86 "voiceActivityDetection: false, iceRestart: false}"));
78 tracker.TrackCreateOffer(&pc_handler, options); 87 tracker.TrackCreateOffer(&pc_handler, options);
79 } 88 }
80 89
81 TEST(PeerConnectionTrackerTest, OnSuspend) { 90 TEST_F(PeerConnectionTrackerTest, OnSuspend) {
82 PeerConnectionTracker tracker; 91 PeerConnectionTracker tracker;
83 // Initialization stuff. 92 // Initialization stuff.
84 MockPeerConnectionHandler pc_handler; 93 MockPeerConnectionHandler pc_handler;
85 MockSendTargetThread target_thread; 94 MockSendTargetThread target_thread;
86 webrtc::PeerConnectionInterface::RTCConfiguration config; 95 webrtc::PeerConnectionInterface::RTCConfiguration config;
87 blink::WebMediaConstraints constraints; 96 blink::WebMediaConstraints constraints;
88 tracker.OverrideSendTargetForTesting(&target_thread); 97 tracker.OverrideSendTargetForTesting(&target_thread);
89 EXPECT_CALL(target_thread, OnAddPeerConnection(_)); 98 EXPECT_CALL(target_thread, OnAddPeerConnection(_));
90 tracker.RegisterPeerConnection(&pc_handler, config, constraints, nullptr); 99 tracker.RegisterPeerConnection(&pc_handler, config, constraints, nullptr);
91 EXPECT_CALL(pc_handler, CloseClientPeerConnection()); 100 EXPECT_CALL(pc_handler, CloseClientPeerConnection());
92 std::unique_ptr<IPC::Message> message(new PeerConnectionTracker_OnSuspend()); 101 std::unique_ptr<IPC::Message> message(new PeerConnectionTracker_OnSuspend());
93 tracker.OnControlMessageReceived(*message.get()); 102 tracker.OnControlMessageReceived(*message.get());
94 } 103 }
95 104
96 // TODO(hta): Write tests for the other tracking functions. 105 // TODO(hta): Write tests for the other tracking functions.
97 106
98 } // namespace 107 } // namespace
OLDNEW
« no previous file with comments | « no previous file | content/renderer/media/rtc_peer_connection_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698