| Index: webrtc/p2p/base/dtlstransportchannel_unittest.cc
|
| diff --git a/webrtc/p2p/base/dtlstransportchannel_unittest.cc b/webrtc/p2p/base/dtlstransportchannel_unittest.cc
|
| index 10640f99e3c130a73ab1f579a3f053dcaa119e9f..02b173ab3be1d67bb6f064f6d3252df17be7a337 100644
|
| --- a/webrtc/p2p/base/dtlstransportchannel_unittest.cc
|
| +++ b/webrtc/p2p/base/dtlstransportchannel_unittest.cc
|
| @@ -51,6 +51,7 @@ class DtlsTestClient : public sigslot::has_slots<> {
|
| name_(name),
|
| signaling_thread_(signaling_thread),
|
| worker_thread_(worker_thread),
|
| + protocol_(cricket::ICEPROTO_GOOGLE),
|
| packet_size_(0),
|
| use_dtls_srtp_(false),
|
| ssl_max_version_(rtc::SSL_PROTOCOL_DTLS_10),
|
| @@ -66,6 +67,9 @@ class DtlsTestClient : public sigslot::has_slots<> {
|
| const rtc::scoped_refptr<rtc::RTCCertificate>& certificate() {
|
| return certificate_;
|
| }
|
| + void SetIceProtocol(cricket::TransportProtocol proto) {
|
| + protocol_ = proto;
|
| + }
|
| void SetupSrtp() {
|
| ASSERT(certificate_);
|
| use_dtls_srtp_ = true;
|
| @@ -162,8 +166,10 @@ class DtlsTestClient : public sigslot::has_slots<> {
|
| }
|
| }
|
|
|
| + std::string transport_type = (protocol_ == cricket::ICEPROTO_GOOGLE) ?
|
| + cricket::NS_GINGLE_P2P : cricket::NS_JINGLE_ICE_UDP;
|
| cricket::TransportDescription local_desc(
|
| - std::vector<std::string>(), kIceUfrag1, kIcePwd1,
|
| + transport_type, std::vector<std::string>(), kIceUfrag1, kIcePwd1,
|
| cricket::ICEMODE_FULL, local_role,
|
| // If remote if the offerer and has no DTLS support, answer will be
|
| // without any fingerprint.
|
| @@ -172,7 +178,7 @@ class DtlsTestClient : public sigslot::has_slots<> {
|
| cricket::Candidates());
|
|
|
| cricket::TransportDescription remote_desc(
|
| - std::vector<std::string>(), kIceUfrag1, kIcePwd1,
|
| + transport_type, std::vector<std::string>(), kIceUfrag1, kIcePwd1,
|
| cricket::ICEMODE_FULL, remote_role, remote_fingerprint.get(),
|
| cricket::Candidates());
|
|
|
| @@ -374,7 +380,10 @@ class DtlsTestClient : public sigslot::has_slots<> {
|
| std::string name_;
|
| rtc::Thread* signaling_thread_;
|
| rtc::Thread* worker_thread_;
|
| +
|
| rtc::scoped_refptr<rtc::RTCCertificate> certificate_;
|
| + cricket::TransportProtocol protocol_;
|
| +
|
| rtc::scoped_ptr<cricket::FakeTransport> transport_;
|
| std::vector<cricket::DtlsTransportChannelWrapper*> channels_;
|
| size_t packet_size_;
|
| @@ -546,6 +555,27 @@ class DtlsTransportChannelTest : public testing::Test {
|
|
|
| // Test that transport negotiation of ICE, no DTLS works properly.
|
| TEST_F(DtlsTransportChannelTest, TestChannelSetupIce) {
|
| + client1_.SetIceProtocol(cricket::ICEPROTO_RFC5245);
|
| + client2_.SetIceProtocol(cricket::ICEPROTO_RFC5245);
|
| + Negotiate();
|
| + cricket::FakeTransportChannel* channel1 = client1_.GetFakeChannel(0);
|
| + cricket::FakeTransportChannel* channel2 = client2_.GetFakeChannel(0);
|
| + ASSERT_TRUE(channel1 != NULL);
|
| + ASSERT_TRUE(channel2 != NULL);
|
| + EXPECT_EQ(cricket::ICEROLE_CONTROLLING, channel1->GetIceRole());
|
| + EXPECT_EQ(1U, channel1->IceTiebreaker());
|
| + EXPECT_EQ(cricket::ICEPROTO_RFC5245, channel1->protocol());
|
| + EXPECT_EQ(kIceUfrag1, channel1->ice_ufrag());
|
| + EXPECT_EQ(kIcePwd1, channel1->ice_pwd());
|
| + EXPECT_EQ(cricket::ICEROLE_CONTROLLED, channel2->GetIceRole());
|
| + EXPECT_EQ(2U, channel2->IceTiebreaker());
|
| + EXPECT_EQ(cricket::ICEPROTO_RFC5245, channel2->protocol());
|
| +}
|
| +
|
| +// Test that transport negotiation of GICE, no DTLS works properly.
|
| +TEST_F(DtlsTransportChannelTest, TestChannelSetupGice) {
|
| + client1_.SetIceProtocol(cricket::ICEPROTO_GOOGLE);
|
| + client2_.SetIceProtocol(cricket::ICEPROTO_GOOGLE);
|
| Negotiate();
|
| cricket::FakeTransportChannel* channel1 = client1_.GetFakeChannel(0);
|
| cricket::FakeTransportChannel* channel2 = client2_.GetFakeChannel(0);
|
| @@ -553,10 +583,12 @@ TEST_F(DtlsTransportChannelTest, TestChannelSetupIce) {
|
| ASSERT_TRUE(channel2 != NULL);
|
| EXPECT_EQ(cricket::ICEROLE_CONTROLLING, channel1->GetIceRole());
|
| EXPECT_EQ(1U, channel1->IceTiebreaker());
|
| + EXPECT_EQ(cricket::ICEPROTO_GOOGLE, channel1->protocol());
|
| EXPECT_EQ(kIceUfrag1, channel1->ice_ufrag());
|
| EXPECT_EQ(kIcePwd1, channel1->ice_pwd());
|
| EXPECT_EQ(cricket::ICEROLE_CONTROLLED, channel2->GetIceRole());
|
| EXPECT_EQ(2U, channel2->IceTiebreaker());
|
| + EXPECT_EQ(cricket::ICEPROTO_GOOGLE, channel2->protocol());
|
| }
|
|
|
| // Connect without DTLS, and transfer some data.
|
|
|