Chromium Code Reviews| Index: webrtc/p2p/base/turnport_unittest.cc |
| diff --git a/webrtc/p2p/base/turnport_unittest.cc b/webrtc/p2p/base/turnport_unittest.cc |
| index 69b25ea0d8ef35a00e78eb312fd322cb76e35bee..68e9aa90bf271177ff2ff170ad5882f4b438c994 100644 |
| --- a/webrtc/p2p/base/turnport_unittest.cc |
| +++ b/webrtc/p2p/base/turnport_unittest.cc |
| @@ -647,6 +647,41 @@ TEST_F(TurnPortTest, TestTurnPortType) { |
| EXPECT_EQ(cricket::RELAY_PORT_TYPE, turn_port_->Type()); |
| } |
| +// Tests that the URL of the servers can be correctly reconstructed when |
| +// gathering the candidates. |
| +TEST_F(TurnPortTest, TestReconstructedServerUrl) { |
| + // Connect the TURN server using UDP. |
| + CreateTurnPort(kTurnUsername, kTurnPassword, kTurnUdpProtoAddr); |
| + turn_port_->PrepareAddress(); |
| + EXPECT_TRUE_SIMULATED_WAIT(turn_ready_, kSimulatedRtt * 2, fake_clock_); |
| + std::string expected_url = |
| + "turn:" + kTurnUdpProtoAddr.address.ToString() + "?transport=udp"; |
|
Taylor Brandstetter
2017/02/10 01:58:46
See my comment on stunport_unittest.cc
Zhi Huang
2017/02/10 06:45:50
Done.
|
| + EXPECT_EQ(turn_port_->Candidates()[0].url(), expected_url); |
| + |
| + // Connect the server with IPV6 using UDP. |
| + turn_ready_ = false; |
| + turn_server_.AddInternalSocket(kTurnUdpIPv6IntAddr, PROTO_UDP); |
| + CreateTurnPort(kLocalIPv6Addr, kTurnUsername, kTurnPassword, |
| + kTurnUdpIPv6ProtoAddr); |
| + turn_port_->PrepareAddress(); |
| + EXPECT_TRUE_SIMULATED_WAIT(turn_ready_, kSimulatedRtt * 2, fake_clock_); |
| + ASSERT_EQ(1U, turn_port_->Candidates().size()); |
| + expected_url = |
| + "turn:" + kTurnUdpIPv6ProtoAddr.address.ToString() + "?transport=udp"; |
| + EXPECT_EQ(turn_port_->Candidates()[0].url(), expected_url); |
| + |
| + // Connection the server using TCP. |
| + turn_ready_ = false; |
| + turn_server_.AddInternalSocket(kTurnTcpIntAddr, PROTO_TCP); |
| + CreateTurnPort(kTurnUsername, kTurnPassword, kTurnTcpProtoAddr); |
| + turn_port_->PrepareAddress(); |
| + EXPECT_TRUE_SIMULATED_WAIT(turn_ready_, kSimulatedRtt * 3, fake_clock_); |
| + ASSERT_EQ(1U, turn_port_->Candidates().size()); |
| + expected_url = |
| + "turn:" + kTurnTcpProtoAddr.address.ToString() + "?transport=tcp"; |
| + EXPECT_EQ(turn_port_->Candidates()[0].url(), expected_url); |
| +} |
| + |
| // Do a normal TURN allocation. |
| TEST_F(TurnPortTest, TestTurnAllocate) { |
| CreateTurnPort(kTurnUsername, kTurnPassword, kTurnUdpProtoAddr); |