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

Side by Side Diff: webrtc/p2p/base/session_unittest.cc

Issue 1231913003: Add methods to set the ICE connection receiving_timeout values. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc@master
Patch Set: Address comments and add tests Created 5 years, 5 months 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 unified diff | Download patch
OLDNEW
(Empty)
1 /*
2 * Copyright 2015 The WebRTC Project Authors. All rights reserved.
3 *
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
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11 #include "webrtc/base/gunit.h"
12 #include "webrtc/base/helpers.h"
13 #include "webrtc/base/scoped_ptr.h"
14 #include "webrtc/base/thread.h"
15 #include "webrtc/p2p/base/dtlstransportchannel.h"
16 #include "webrtc/p2p/base/p2ptransportchannel.h"
17 #include "webrtc/p2p/base/portallocator.h"
18 #include "webrtc/p2p/base/session.h"
19 #include "webrtc/p2p/base/transportchannelproxy.h"
20 #include "webrtc/p2p/client/fakeportallocator.h"
21
22 using cricket::BaseSession;
23 using cricket::DtlsTransportChannelWrapper;
24 using cricket::FakePortAllocator;
25 using cricket::P2PTransportChannel;
26 using cricket::PortAllocator;
27 using cricket::TransportChannelProxy;
28 using cricket::TransportProxy;
29
30 class BaseSessionForTest : public BaseSession {
31 public:
32 BaseSessionForTest(rtc::Thread* signaling_thread,
33 rtc::Thread* worker_thread,
34 PortAllocator* port_allocator,
35 const std::string& sid,
36 const std::string& content_type,
37 bool initiator)
38 : BaseSession(signaling_thread,
39 worker_thread,
40 port_allocator,
41 sid,
42 content_type,
43 initiator) {}
44 using BaseSession::GetOrCreateTransportProxy;
45 };
46
47 class BaseSessionTest : public testing::Test {
48 public:
49 BaseSessionTest()
50 : port_allocator_(
51 new FakePortAllocator(rtc::Thread::Current(), nullptr)),
52 session_(new BaseSessionForTest(
53 rtc::Thread::Current(),
54 rtc::Thread::Current(),
55 port_allocator_.get(),
56 "123",
57 cricket::NS_JINGLE_RTP,
58 false)) {}
pthatcher1 2015/07/11 00:24:54 Can you run "git cl format"? This format looks ki
honghaiz3 2015/08/05 23:57:39 Done. This also fixed the formatting of a few othe
59 P2PTransportChannel* CreateChannel(const std::string& content,
60 int component) {
61 TransportProxy* transport_proxy =
62 session_->GetOrCreateTransportProxy(content);
63 // This hacking is needed in order that the p2p transport channel
64 // will be created in the following.
65 transport_proxy->CompleteNegotiation();
66
67 TransportChannelProxy* channel_proxy = static_cast<TransportChannelProxy*>(
68 session_->CreateChannel(content, component));
69 DtlsTransportChannelWrapper* dtls_channel =
70 static_cast<DtlsTransportChannelWrapper*>(channel_proxy->impl());
71 return static_cast<P2PTransportChannel*> (dtls_channel->channel());
72 }
73
74 rtc::scoped_ptr<PortAllocator> port_allocator_;
75 rtc::scoped_ptr<BaseSessionForTest> session_;
76 };
77
78
79 TEST_F(BaseSessionTest, TestSetIceReceivingTimeout) {
80 P2PTransportChannel* channel1 = CreateChannel("audio", 1);
81 ASSERT_NE(channel1, nullptr);
82 // These are the default values.
83 EXPECT_EQ(2500, channel1->receiving_timeout());
84 EXPECT_EQ(250, channel1->check_receiving_delay());
85 // Set the timeout to a different value.
86 session_->SetIceConnectionReceivingTimeout(1000);
87 EXPECT_EQ(1000, channel1->receiving_timeout());
88 EXPECT_EQ(100, channel1->check_receiving_delay());
89
90 // Even if a channel is created after setting the receiving timeout,
91 // the set timeout value is applied to the new channel.
92 P2PTransportChannel* channel2 = CreateChannel("video", 2);
93 ASSERT_NE(channel2, nullptr);
94 EXPECT_EQ(1000, channel2->receiving_timeout());
95 EXPECT_EQ(100, channel2->check_receiving_delay());
96
97 // Test minimum checking delay.
98 session_->SetIceConnectionReceivingTimeout(200);
99 EXPECT_EQ(200, channel1->receiving_timeout());
100 EXPECT_EQ(50, channel1->check_receiving_delay());
101 EXPECT_EQ(200, channel2->receiving_timeout());
102 EXPECT_EQ(50, channel2->check_receiving_delay());
103 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698