Index: webrtc/api/webrtcsession_unittest.cc |
diff --git a/webrtc/api/webrtcsession_unittest.cc b/webrtc/api/webrtcsession_unittest.cc |
index ae11b4613d86f3610c30822fb54c58005d0f6e56..34d82582c61ad54df6aa99641ae819e18dd74e6d 100644 |
--- a/webrtc/api/webrtcsession_unittest.cc |
+++ b/webrtc/api/webrtcsession_unittest.cc |
@@ -405,6 +405,12 @@ |
void Init() { Init(nullptr); } |
+ void InitWithIceTransport( |
+ PeerConnectionInterface::IceTransportsType ice_transport_type) { |
+ configuration_.type = ice_transport_type; |
+ Init(); |
+ } |
+ |
void InitWithBundlePolicy( |
PeerConnectionInterface::BundlePolicy bundle_policy) { |
configuration_.bundle_policy = bundle_policy; |
@@ -1519,6 +1525,50 @@ |
EXPECT_EQ(6u, observer_.mline_1_candidates_.size()); |
} |
+// Test session delivers no candidates gathered when constraint set to "none". |
+TEST_F(WebRtcSessionTest, TestIceTransportsNone) { |
+ AddInterface(rtc::SocketAddress(kClientAddrHost1, kClientAddrPort)); |
+ InitWithIceTransport(PeerConnectionInterface::kNone); |
+ SendAudioVideoStream1(); |
+ InitiateCall(); |
+ EXPECT_TRUE_WAIT(observer_.oncandidatesready_, kIceCandidatesTimeout); |
+ EXPECT_EQ(0u, observer_.mline_0_candidates_.size()); |
+ EXPECT_EQ(0u, observer_.mline_1_candidates_.size()); |
+} |
+ |
+// Test session delivers only relay candidates gathered when constaint set to |
+// "relay". |
+TEST_F(WebRtcSessionTest, TestIceTransportsRelay) { |
+ AddInterface(rtc::SocketAddress(kClientAddrHost1, kClientAddrPort)); |
+ ConfigureAllocatorWithTurn(); |
+ InitWithIceTransport(PeerConnectionInterface::kRelay); |
+ SendAudioVideoStream1(); |
+ InitiateCall(); |
+ EXPECT_TRUE_WAIT(observer_.oncandidatesready_, kIceCandidatesTimeout); |
+ EXPECT_EQ(2u, observer_.mline_0_candidates_.size()); |
+ EXPECT_EQ(2u, observer_.mline_1_candidates_.size()); |
+ for (size_t i = 0; i < observer_.mline_0_candidates_.size(); ++i) { |
+ EXPECT_EQ(cricket::RELAY_PORT_TYPE, |
+ observer_.mline_0_candidates_[i].type()); |
+ } |
+ for (size_t i = 0; i < observer_.mline_1_candidates_.size(); ++i) { |
+ EXPECT_EQ(cricket::RELAY_PORT_TYPE, |
+ observer_.mline_1_candidates_[i].type()); |
+ } |
+} |
+ |
+// Test session delivers all candidates gathered when constaint set to "all". |
+TEST_F(WebRtcSessionTest, TestIceTransportsAll) { |
+ AddInterface(rtc::SocketAddress(kClientAddrHost1, kClientAddrPort)); |
+ InitWithIceTransport(PeerConnectionInterface::kAll); |
+ SendAudioVideoStream1(); |
+ InitiateCall(); |
+ EXPECT_TRUE_WAIT(observer_.oncandidatesready_, kIceCandidatesTimeout); |
+ // Host + STUN. By default allocator is disabled to gather relay candidates. |
+ EXPECT_EQ(4u, observer_.mline_0_candidates_.size()); |
+ EXPECT_EQ(4u, observer_.mline_1_candidates_.size()); |
+} |
+ |
TEST_F(WebRtcSessionTest, SetSdpFailedOnInvalidSdp) { |
Init(); |
SessionDescriptionInterface* offer = NULL; |