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

Unified Diff: webrtc/p2p/base/transport_unittest.cc

Issue 2517883002: Refactoring that removes P2PTransport and DtlsTransport classes. (Closed)
Patch Set: Leaving comments about what we'd need to do to support QUIC again. Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: webrtc/p2p/base/transport_unittest.cc
diff --git a/webrtc/p2p/base/transport_unittest.cc b/webrtc/p2p/base/transport_unittest.cc
index d119e833672ae3fed1d6a6957e98951ff2e14fdc..a79ea52da9b735023b1d23f77d8e4c81d2f59bb6 100644
--- a/webrtc/p2p/base/transport_unittest.cc
+++ b/webrtc/p2p/base/transport_unittest.cc
@@ -14,7 +14,6 @@
#include "webrtc/base/gunit.h"
#include "webrtc/base/network.h"
#include "webrtc/p2p/base/faketransportcontroller.h"
-#include "webrtc/p2p/base/p2ptransport.h"
using cricket::Transport;
using cricket::FakeTransport;
@@ -33,59 +32,40 @@ static const char kIcePwd2[] = "TESTICEPWD00000000000002";
class TransportTest : public testing::Test,
public sigslot::has_slots<> {
public:
- TransportTest()
- : transport_(new FakeTransport("test content name")), channel_(NULL) {}
- ~TransportTest() {
- transport_->DestroyAllChannels();
- }
+ TransportTest() : transport_(new Transport("test content name", nullptr)) {}
bool SetupChannel() {
- channel_ = CreateChannel(1);
- return (channel_ != NULL);
- }
- FakeTransportChannel* CreateChannel(int component) {
- return static_cast<FakeTransportChannel*>(
- transport_->CreateChannel(component));
- }
- void DestroyChannel() {
- transport_->DestroyChannel(1);
- channel_ = NULL;
+ fake_ice_channel_.reset(new FakeTransportChannel(transport_->name(), 1));
+ fake_dtls_channel_.reset(new FakeTransportChannel(transport_->name(), 1));
+ return transport_->AddChannel(fake_dtls_channel_.get(),
+ fake_ice_channel_.get(), 1);
}
+ void DestroyChannel() { transport_->RemoveChannel(1); }
protected:
- std::unique_ptr<FakeTransport> transport_;
- FakeTransportChannel* channel_;
+ std::unique_ptr<FakeTransportChannel> fake_dtls_channel_;
+ std::unique_ptr<FakeTransportChannel> fake_ice_channel_;
+ std::unique_ptr<Transport> transport_;
};
// This test verifies channels are created with proper ICE
-// role, tiebreaker and remote ice mode and credentials after offer and
-// answer negotiations.
+// ufrag/password after a transport description is applied.
TEST_F(TransportTest, TestChannelIceParameters) {
- transport_->SetIceRole(cricket::ICEROLE_CONTROLLING);
- transport_->SetIceTiebreaker(99U);
cricket::TransportDescription local_desc(kIceUfrag1, kIcePwd1);
ASSERT_TRUE(transport_->SetLocalTransportDescription(local_desc,
cricket::CA_OFFER,
NULL));
- EXPECT_EQ(cricket::ICEROLE_CONTROLLING, transport_->ice_role());
EXPECT_TRUE(SetupChannel());
- EXPECT_EQ(cricket::ICEROLE_CONTROLLING, channel_->GetIceRole());
- EXPECT_EQ(cricket::ICEMODE_FULL, channel_->remote_ice_mode());
- EXPECT_EQ(kIceUfrag1, channel_->ice_ufrag());
- EXPECT_EQ(kIcePwd1, channel_->ice_pwd());
+ EXPECT_EQ(cricket::ICEMODE_FULL, fake_dtls_channel_->remote_ice_mode());
+ EXPECT_EQ(kIceUfrag1, fake_dtls_channel_->ice_ufrag());
+ EXPECT_EQ(kIcePwd1, fake_dtls_channel_->ice_pwd());
cricket::TransportDescription remote_desc(kIceUfrag1, kIcePwd1);
ASSERT_TRUE(transport_->SetRemoteTransportDescription(remote_desc,
cricket::CA_ANSWER,
NULL));
- EXPECT_EQ(cricket::ICEROLE_CONTROLLING, channel_->GetIceRole());
- EXPECT_EQ(99U, channel_->IceTiebreaker());
- EXPECT_EQ(cricket::ICEMODE_FULL, channel_->remote_ice_mode());
- // Changing the transport role from CONTROLLING to CONTROLLED.
- transport_->SetIceRole(cricket::ICEROLE_CONTROLLED);
- EXPECT_EQ(cricket::ICEROLE_CONTROLLED, channel_->GetIceRole());
- EXPECT_EQ(cricket::ICEMODE_FULL, channel_->remote_ice_mode());
- EXPECT_EQ(kIceUfrag1, channel_->remote_ice_ufrag());
- EXPECT_EQ(kIcePwd1, channel_->remote_ice_pwd());
+ EXPECT_EQ(cricket::ICEMODE_FULL, fake_dtls_channel_->remote_ice_mode());
+ EXPECT_EQ(kIceUfrag1, fake_dtls_channel_->remote_ice_ufrag());
+ EXPECT_EQ(kIcePwd1, fake_dtls_channel_->remote_ice_pwd());
}
// Verifies that IceCredentialsChanged returns true when either ufrag or pwd
@@ -97,133 +77,6 @@ TEST_F(TransportTest, TestIceCredentialsChanged) {
EXPECT_FALSE(cricket::IceCredentialsChanged("u1", "p1", "u1", "p1"));
}
-// This test verifies that the callee's ICE role remains the same when the
-// callee triggers an ICE restart.
-//
-// RFC5245 currently says that the role *should* change on an ICE restart,
-// but this rule was intended for an ICE restart that occurs when an endpoint
-// is changing to ICE lite (which we already handle). See discussion here:
-// https://mailarchive.ietf.org/arch/msg/ice/C0_QRCTNcwtvUF12y28jQicPR10
-TEST_F(TransportTest, TestIceControlledToControllingOnIceRestart) {
- EXPECT_TRUE(SetupChannel());
- transport_->SetIceRole(cricket::ICEROLE_CONTROLLED);
-
- cricket::TransportDescription desc(kIceUfrag1, kIcePwd1);
- ASSERT_TRUE(transport_->SetRemoteTransportDescription(desc,
- cricket::CA_OFFER,
- NULL));
- ASSERT_TRUE(transport_->SetLocalTransportDescription(desc,
- cricket::CA_ANSWER,
- NULL));
- EXPECT_EQ(cricket::ICEROLE_CONTROLLED, transport_->ice_role());
-
- cricket::TransportDescription new_local_desc(kIceUfrag2, kIcePwd2);
- ASSERT_TRUE(transport_->SetLocalTransportDescription(new_local_desc,
- cricket::CA_OFFER,
- NULL));
- EXPECT_EQ(cricket::ICEROLE_CONTROLLED, transport_->ice_role());
- EXPECT_EQ(cricket::ICEROLE_CONTROLLED, channel_->GetIceRole());
-}
-
-// This test verifies that the caller's ICE role remains the same when the
-// callee triggers an ICE restart.
-//
-// RFC5245 currently says that the role *should* change on an ICE restart,
-// but this rule was intended for an ICE restart that occurs when an endpoint
-// is changing to ICE lite (which we already handle). See discussion here:
-// https://mailarchive.ietf.org/arch/msg/ice/C0_QRCTNcwtvUF12y28jQicPR10
-TEST_F(TransportTest, TestIceControllingToControlledOnIceRestart) {
- EXPECT_TRUE(SetupChannel());
- transport_->SetIceRole(cricket::ICEROLE_CONTROLLING);
-
- cricket::TransportDescription desc(kIceUfrag1, kIcePwd1);
- ASSERT_TRUE(transport_->SetLocalTransportDescription(desc,
- cricket::CA_OFFER,
- NULL));
- ASSERT_TRUE(transport_->SetRemoteTransportDescription(desc,
- cricket::CA_ANSWER,
- NULL));
- EXPECT_EQ(cricket::ICEROLE_CONTROLLING, transport_->ice_role());
-
- cricket::TransportDescription new_local_desc(kIceUfrag2, kIcePwd2);
- ASSERT_TRUE(transport_->SetLocalTransportDescription(new_local_desc,
- cricket::CA_ANSWER,
- NULL));
- EXPECT_EQ(cricket::ICEROLE_CONTROLLING, transport_->ice_role());
- EXPECT_EQ(cricket::ICEROLE_CONTROLLING, channel_->GetIceRole());
-}
-
-// This test verifies that the caller's ICE role is still controlling after the
-// callee triggers ICE restart if the callee's ICE mode is LITE.
-TEST_F(TransportTest, TestIceControllingOnIceRestartIfRemoteIsIceLite) {
- EXPECT_TRUE(SetupChannel());
- transport_->SetIceRole(cricket::ICEROLE_CONTROLLING);
-
- cricket::TransportDescription desc(kIceUfrag1, kIcePwd1);
- ASSERT_TRUE(transport_->SetLocalTransportDescription(desc,
- cricket::CA_OFFER,
- NULL));
-
- cricket::TransportDescription remote_desc(
- std::vector<std::string>(), kIceUfrag1, kIcePwd1, cricket::ICEMODE_LITE,
- cricket::CONNECTIONROLE_NONE, NULL);
- ASSERT_TRUE(transport_->SetRemoteTransportDescription(remote_desc,
- cricket::CA_ANSWER,
- NULL));
-
- EXPECT_EQ(cricket::ICEROLE_CONTROLLING, transport_->ice_role());
-
- cricket::TransportDescription new_local_desc(kIceUfrag2, kIcePwd2);
- ASSERT_TRUE(transport_->SetLocalTransportDescription(new_local_desc,
- cricket::CA_ANSWER,
- NULL));
- EXPECT_EQ(cricket::ICEROLE_CONTROLLING, transport_->ice_role());
- EXPECT_EQ(cricket::ICEROLE_CONTROLLING, channel_->GetIceRole());
-}
-
-// Tests channel role is reversed after receiving ice-lite from remote.
-TEST_F(TransportTest, TestSetRemoteIceLiteInOffer) {
- transport_->SetIceRole(cricket::ICEROLE_CONTROLLED);
- cricket::TransportDescription remote_desc(
- std::vector<std::string>(), kIceUfrag1, kIcePwd1, cricket::ICEMODE_LITE,
- cricket::CONNECTIONROLE_ACTPASS, NULL);
- ASSERT_TRUE(transport_->SetRemoteTransportDescription(remote_desc,
- cricket::CA_OFFER,
- NULL));
- cricket::TransportDescription local_desc(kIceUfrag1, kIcePwd1);
- ASSERT_TRUE(transport_->SetLocalTransportDescription(local_desc,
- cricket::CA_ANSWER,
- NULL));
- EXPECT_EQ(cricket::ICEROLE_CONTROLLING, transport_->ice_role());
- EXPECT_TRUE(SetupChannel());
- EXPECT_EQ(cricket::ICEROLE_CONTROLLING, channel_->GetIceRole());
- EXPECT_EQ(cricket::ICEMODE_LITE, channel_->remote_ice_mode());
-}
-
-// Tests ice-lite in remote answer.
-TEST_F(TransportTest, TestSetRemoteIceLiteInAnswer) {
- transport_->SetIceRole(cricket::ICEROLE_CONTROLLING);
- cricket::TransportDescription local_desc(kIceUfrag1, kIcePwd1);
- ASSERT_TRUE(transport_->SetLocalTransportDescription(local_desc,
- cricket::CA_OFFER,
- NULL));
- EXPECT_EQ(cricket::ICEROLE_CONTROLLING, transport_->ice_role());
- EXPECT_TRUE(SetupChannel());
- EXPECT_EQ(cricket::ICEROLE_CONTROLLING, channel_->GetIceRole());
- // Channels will be created in ICEFULL_MODE.
- EXPECT_EQ(cricket::ICEMODE_FULL, channel_->remote_ice_mode());
- cricket::TransportDescription remote_desc(
- std::vector<std::string>(), kIceUfrag1, kIcePwd1, cricket::ICEMODE_LITE,
- cricket::CONNECTIONROLE_NONE, NULL);
- ASSERT_TRUE(transport_->SetRemoteTransportDescription(remote_desc,
- cricket::CA_ANSWER,
- NULL));
- EXPECT_EQ(cricket::ICEROLE_CONTROLLING, channel_->GetIceRole());
- // After receiving remote description with ICEMODE_LITE, channel should
- // have mode set to ICEMODE_LITE.
- EXPECT_EQ(cricket::ICEMODE_LITE, channel_->remote_ice_mode());
-}
-
TEST_F(TransportTest, TestGetStats) {
EXPECT_TRUE(SetupChannel());
cricket::TransportStats stats;

Powered by Google App Engine
This is Rietveld 408576698