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

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

Issue 2912523003: Fix issue with send-side bandwidth estimation over TURN TCP connections. (Closed)
Patch Set: Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: webrtc/p2p/base/asyncstuntcpsocket_unittest.cc
diff --git a/webrtc/p2p/base/asyncstuntcpsocket_unittest.cc b/webrtc/p2p/base/asyncstuntcpsocket_unittest.cc
index 6c026f67668cc79d3f798af5490b26a0696b0400..61e14117c99a487fa900e511f9f114a1ce4c8e79 100644
--- a/webrtc/p2p/base/asyncstuntcpsocket_unittest.cc
+++ b/webrtc/p2p/base/asyncstuntcpsocket_unittest.cc
@@ -86,6 +86,8 @@ class AsyncStunTCPSocketTest : public testing::Test,
kClientAddr.family(), SOCK_STREAM);
send_socket_.reset(AsyncStunTCPSocket::Create(
client, kClientAddr, recv_socket_->GetLocalAddress()));
+ send_socket_->SignalSentPacket.connect(
+ this, &AsyncStunTCPSocketTest::OnSentPacket);
ASSERT_TRUE(send_socket_.get() != NULL);
vss_->ProcessMessagesUntilIdle();
}
@@ -96,6 +98,11 @@ class AsyncStunTCPSocketTest : public testing::Test,
recv_packets_.push_back(std::string(data, len));
}
+ void OnSentPacket(rtc::AsyncPacketSocket* socket,
+ const rtc::SentPacket& packet) {
+ ++sent_packets_;
+ }
+
void OnNewConnection(rtc::AsyncPacketSocket* server,
rtc::AsyncPacketSocket* new_socket) {
listen_socket_.reset(new_socket);
@@ -127,6 +134,7 @@ class AsyncStunTCPSocketTest : public testing::Test,
std::unique_ptr<AsyncStunTCPSocket> recv_socket_;
std::unique_ptr<rtc::AsyncPacketSocket> listen_socket_;
std::list<std::string> recv_packets_;
+ int sent_packets_ = 0;
};
// Testing a stun packet sent/recv properly.
@@ -259,4 +267,25 @@ TEST_F(AsyncStunTCPSocketTest, DISABLED_TestWithSmallSendBuffer) {
sizeof(kTurnChannelDataMessageWithOddLength)));
}
+// Test that SignalSentPacket is fired when a packet is sent.
+TEST_F(AsyncStunTCPSocketTest, SignalSentPacketFiredWhenPacketSent) {
+ ASSERT_TRUE(
+ Send(kStunMessageWithZeroLength, sizeof(kStunMessageWithZeroLength)));
+ EXPECT_EQ(1, sent_packets_);
+ // Send another packet for good measure.
+ ASSERT_TRUE(
+ Send(kStunMessageWithZeroLength, sizeof(kStunMessageWithZeroLength)));
+ EXPECT_EQ(2, sent_packets_);
+}
+
+// Test that SignalSentPacket isn't fired when a packet isn't sent (for
+// example, because it's invalid).
+TEST_F(AsyncStunTCPSocketTest, SignalSentPacketNotFiredWhenPacketNotSent) {
+ // Attempt to send a packet that's too small; since it isn't sent,
+ // SignalSentPacket shouldn't fire.
+ char data[1];
+ ASSERT_FALSE(Send(data, sizeof(data)));
+ EXPECT_EQ(0, sent_packets_);
+}
+
} // namespace cricket
« webrtc/p2p/base/asyncstuntcpsocket.cc ('K') | « webrtc/p2p/base/asyncstuntcpsocket.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698