| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright 2012 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 398 void OnDataChannelOpenMessage(const std::string& label, | 398 void OnDataChannelOpenMessage(const std::string& label, |
| 399 const InternalDataChannelInit& config) { | 399 const InternalDataChannelInit& config) { |
| 400 last_data_channel_label_ = label; | 400 last_data_channel_label_ = label; |
| 401 last_data_channel_config_ = config; | 401 last_data_channel_config_ = config; |
| 402 } | 402 } |
| 403 | 403 |
| 404 void OnSessionDestroyed() { session_destroyed_ = true; } | 404 void OnSessionDestroyed() { session_destroyed_ = true; } |
| 405 | 405 |
| 406 void Init() { Init(nullptr); } | 406 void Init() { Init(nullptr); } |
| 407 | 407 |
| 408 void InitWithIceTransport( | |
| 409 PeerConnectionInterface::IceTransportsType ice_transport_type) { | |
| 410 configuration_.type = ice_transport_type; | |
| 411 Init(); | |
| 412 } | |
| 413 | |
| 414 void InitWithBundlePolicy( | 408 void InitWithBundlePolicy( |
| 415 PeerConnectionInterface::BundlePolicy bundle_policy) { | 409 PeerConnectionInterface::BundlePolicy bundle_policy) { |
| 416 configuration_.bundle_policy = bundle_policy; | 410 configuration_.bundle_policy = bundle_policy; |
| 417 Init(); | 411 Init(); |
| 418 } | 412 } |
| 419 | 413 |
| 420 void InitWithRtcpMuxPolicy( | 414 void InitWithRtcpMuxPolicy( |
| 421 PeerConnectionInterface::RtcpMuxPolicy rtcp_mux_policy) { | 415 PeerConnectionInterface::RtcpMuxPolicy rtcp_mux_policy) { |
| 422 PeerConnectionInterface::RTCConfiguration configuration; | 416 PeerConnectionInterface::RTCConfiguration configuration; |
| 423 configuration_.rtcp_mux_policy = rtcp_mux_policy; | 417 configuration_.rtcp_mux_policy = rtcp_mux_policy; |
| (...skipping 1094 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1518 rtc::SocketAddress(kClientAddrHost1, kClientAddrPort)); | 1512 rtc::SocketAddress(kClientAddrHost1, kClientAddrPort)); |
| 1519 Init(); | 1513 Init(); |
| 1520 SendAudioVideoStream1(); | 1514 SendAudioVideoStream1(); |
| 1521 InitiateCall(); | 1515 InitiateCall(); |
| 1522 // Since kClientAddrHost1 is blocked, not expecting stun candidates for it. | 1516 // Since kClientAddrHost1 is blocked, not expecting stun candidates for it. |
| 1523 EXPECT_TRUE_WAIT(observer_.oncandidatesready_, kIceCandidatesTimeout); | 1517 EXPECT_TRUE_WAIT(observer_.oncandidatesready_, kIceCandidatesTimeout); |
| 1524 EXPECT_EQ(6u, observer_.mline_0_candidates_.size()); | 1518 EXPECT_EQ(6u, observer_.mline_0_candidates_.size()); |
| 1525 EXPECT_EQ(6u, observer_.mline_1_candidates_.size()); | 1519 EXPECT_EQ(6u, observer_.mline_1_candidates_.size()); |
| 1526 } | 1520 } |
| 1527 | 1521 |
| 1528 // Test session delivers no candidates gathered when constraint set to "none". | |
| 1529 TEST_F(WebRtcSessionTest, TestIceTransportsNone) { | |
| 1530 AddInterface(rtc::SocketAddress(kClientAddrHost1, kClientAddrPort)); | |
| 1531 InitWithIceTransport(PeerConnectionInterface::kNone); | |
| 1532 SendAudioVideoStream1(); | |
| 1533 InitiateCall(); | |
| 1534 EXPECT_TRUE_WAIT(observer_.oncandidatesready_, kIceCandidatesTimeout); | |
| 1535 EXPECT_EQ(0u, observer_.mline_0_candidates_.size()); | |
| 1536 EXPECT_EQ(0u, observer_.mline_1_candidates_.size()); | |
| 1537 } | |
| 1538 | |
| 1539 // Test session delivers only relay candidates gathered when constaint set to | |
| 1540 // "relay". | |
| 1541 TEST_F(WebRtcSessionTest, TestIceTransportsRelay) { | |
| 1542 AddInterface(rtc::SocketAddress(kClientAddrHost1, kClientAddrPort)); | |
| 1543 ConfigureAllocatorWithTurn(); | |
| 1544 InitWithIceTransport(PeerConnectionInterface::kRelay); | |
| 1545 SendAudioVideoStream1(); | |
| 1546 InitiateCall(); | |
| 1547 EXPECT_TRUE_WAIT(observer_.oncandidatesready_, kIceCandidatesTimeout); | |
| 1548 EXPECT_EQ(2u, observer_.mline_0_candidates_.size()); | |
| 1549 EXPECT_EQ(2u, observer_.mline_1_candidates_.size()); | |
| 1550 for (size_t i = 0; i < observer_.mline_0_candidates_.size(); ++i) { | |
| 1551 EXPECT_EQ(cricket::RELAY_PORT_TYPE, | |
| 1552 observer_.mline_0_candidates_[i].type()); | |
| 1553 } | |
| 1554 for (size_t i = 0; i < observer_.mline_1_candidates_.size(); ++i) { | |
| 1555 EXPECT_EQ(cricket::RELAY_PORT_TYPE, | |
| 1556 observer_.mline_1_candidates_[i].type()); | |
| 1557 } | |
| 1558 } | |
| 1559 | |
| 1560 // Test session delivers all candidates gathered when constaint set to "all". | |
| 1561 TEST_F(WebRtcSessionTest, TestIceTransportsAll) { | |
| 1562 AddInterface(rtc::SocketAddress(kClientAddrHost1, kClientAddrPort)); | |
| 1563 InitWithIceTransport(PeerConnectionInterface::kAll); | |
| 1564 SendAudioVideoStream1(); | |
| 1565 InitiateCall(); | |
| 1566 EXPECT_TRUE_WAIT(observer_.oncandidatesready_, kIceCandidatesTimeout); | |
| 1567 // Host + STUN. By default allocator is disabled to gather relay candidates. | |
| 1568 EXPECT_EQ(4u, observer_.mline_0_candidates_.size()); | |
| 1569 EXPECT_EQ(4u, observer_.mline_1_candidates_.size()); | |
| 1570 } | |
| 1571 | |
| 1572 TEST_F(WebRtcSessionTest, SetSdpFailedOnInvalidSdp) { | 1522 TEST_F(WebRtcSessionTest, SetSdpFailedOnInvalidSdp) { |
| 1573 Init(); | 1523 Init(); |
| 1574 SessionDescriptionInterface* offer = NULL; | 1524 SessionDescriptionInterface* offer = NULL; |
| 1575 // Since |offer| is NULL, there's no way to tell if it's an offer or answer. | 1525 // Since |offer| is NULL, there's no way to tell if it's an offer or answer. |
| 1576 std::string unknown_action; | 1526 std::string unknown_action; |
| 1577 SetLocalDescriptionExpectError(unknown_action, kInvalidSdp, offer); | 1527 SetLocalDescriptionExpectError(unknown_action, kInvalidSdp, offer); |
| 1578 SetRemoteDescriptionExpectError(unknown_action, kInvalidSdp, offer); | 1528 SetRemoteDescriptionExpectError(unknown_action, kInvalidSdp, offer); |
| 1579 } | 1529 } |
| 1580 | 1530 |
| 1581 // Test creating offers and receive answers and make sure the | 1531 // Test creating offers and receive answers and make sure the |
| (...skipping 2822 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4404 } | 4354 } |
| 4405 | 4355 |
| 4406 // TODO(bemasc): Add a TestIceStatesBundle with BUNDLE enabled. That test | 4356 // TODO(bemasc): Add a TestIceStatesBundle with BUNDLE enabled. That test |
| 4407 // currently fails because upon disconnection and reconnection OnIceComplete is | 4357 // currently fails because upon disconnection and reconnection OnIceComplete is |
| 4408 // called more than once without returning to IceGatheringGathering. | 4358 // called more than once without returning to IceGatheringGathering. |
| 4409 | 4359 |
| 4410 INSTANTIATE_TEST_CASE_P(WebRtcSessionTests, | 4360 INSTANTIATE_TEST_CASE_P(WebRtcSessionTests, |
| 4411 WebRtcSessionTest, | 4361 WebRtcSessionTest, |
| 4412 testing::Values(ALREADY_GENERATED, | 4362 testing::Values(ALREADY_GENERATED, |
| 4413 DTLS_IDENTITY_STORE)); | 4363 DTLS_IDENTITY_STORE)); |
| OLD | NEW |