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

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

Issue 1821083002: Split ByteBuffer into writer/reader objects. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 9 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
« no previous file with comments | « webrtc/p2p/base/stun.cc ('k') | webrtc/p2p/base/stunrequest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/p2p/base/stun_unittest.cc
diff --git a/webrtc/p2p/base/stun_unittest.cc b/webrtc/p2p/base/stun_unittest.cc
index 12492570c48f18703c7e1814236687d8e722c600..2213397f2e4a5b9082cc0f9c1299d714c2a5c4db 100644
--- a/webrtc/p2p/base/stun_unittest.cc
+++ b/webrtc/p2p/base/stun_unittest.cc
@@ -62,7 +62,7 @@ class StunTest : public ::testing::Test {
const unsigned char* testcase,
size_t size) {
const char* input = reinterpret_cast<const char*>(testcase);
- rtc::ByteBuffer buf(input, size);
+ rtc::ByteBufferReader buf(input, size);
if (msg->Read(&buf)) {
// Returns the size the stun message should report itself as being
return (size - 20);
@@ -739,22 +739,23 @@ TEST_F(StunTest, SetIPv6XorAddressAttributeOwner) {
// The internal IP address shouldn't change.
ASSERT_EQ(addr2.ipaddr(), addr->ipaddr());
- rtc::ByteBuffer correct_buf;
- rtc::ByteBuffer wrong_buf;
+ rtc::ByteBufferWriter correct_buf;
+ rtc::ByteBufferWriter wrong_buf;
EXPECT_TRUE(addr->Write(&correct_buf));
EXPECT_TRUE(addr2.Write(&wrong_buf));
// But when written out, the buffers should look different.
ASSERT_NE(0,
memcmp(correct_buf.Data(), wrong_buf.Data(), wrong_buf.Length()));
// And when reading a known good value, the address should be wrong.
- addr2.Read(&correct_buf);
+ rtc::ByteBufferReader read_buf(correct_buf);
+ addr2.Read(&read_buf);
ASSERT_NE(addr->ipaddr(), addr2.ipaddr());
addr2.SetIP(addr->ipaddr());
addr2.SetPort(addr->port());
// Try writing with no owner at all, should fail and write nothing.
addr2.SetOwner(NULL);
ASSERT_EQ(addr2.ipaddr(), addr->ipaddr());
- wrong_buf.Consume(wrong_buf.Length());
+ wrong_buf.Clear();
EXPECT_FALSE(addr2.Write(&wrong_buf));
ASSERT_EQ(0U, wrong_buf.Length());
}
@@ -786,8 +787,8 @@ TEST_F(StunTest, SetIPv4XorAddressAttributeOwner) {
// The internal IP address shouldn't change.
ASSERT_EQ(addr2.ipaddr(), addr->ipaddr());
- rtc::ByteBuffer correct_buf;
- rtc::ByteBuffer wrong_buf;
+ rtc::ByteBufferWriter correct_buf;
+ rtc::ByteBufferWriter wrong_buf;
EXPECT_TRUE(addr->Write(&correct_buf));
EXPECT_TRUE(addr2.Write(&wrong_buf));
// The same address data should be written.
@@ -795,13 +796,14 @@ TEST_F(StunTest, SetIPv4XorAddressAttributeOwner) {
memcmp(correct_buf.Data(), wrong_buf.Data(), wrong_buf.Length()));
// And an attribute should be able to un-XOR an address belonging to a message
// with a different transaction ID.
- EXPECT_TRUE(addr2.Read(&correct_buf));
+ rtc::ByteBufferReader read_buf(correct_buf);
+ EXPECT_TRUE(addr2.Read(&read_buf));
ASSERT_EQ(addr->ipaddr(), addr2.ipaddr());
// However, no owner is still an error, should fail and write nothing.
addr2.SetOwner(NULL);
ASSERT_EQ(addr2.ipaddr(), addr->ipaddr());
- wrong_buf.Consume(wrong_buf.Length());
+ wrong_buf.Clear();
EXPECT_FALSE(addr2.Write(&wrong_buf));
}
@@ -875,12 +877,13 @@ TEST_F(StunTest, WriteMessageWithIPv6AddressAttribute) {
CheckStunHeader(msg, STUN_BINDING_REQUEST, (size - 20));
- rtc::ByteBuffer out;
+ rtc::ByteBufferWriter out;
EXPECT_TRUE(msg.Write(&out));
ASSERT_EQ(out.Length(), sizeof(kStunMessageWithIPv6MappedAddress));
int len1 = static_cast<int>(out.Length());
+ rtc::ByteBufferReader read_buf(out);
std::string bytes;
- out.ReadString(&bytes, len1);
+ read_buf.ReadString(&bytes, len1);
ASSERT_EQ(0, memcmp(bytes.c_str(), kStunMessageWithIPv6MappedAddress, len1));
}
@@ -904,12 +907,13 @@ TEST_F(StunTest, WriteMessageWithIPv4AddressAttribute) {
CheckStunHeader(msg, STUN_BINDING_RESPONSE, (size - 20));
- rtc::ByteBuffer out;
+ rtc::ByteBufferWriter out;
EXPECT_TRUE(msg.Write(&out));
ASSERT_EQ(out.Length(), sizeof(kStunMessageWithIPv4MappedAddress));
int len1 = static_cast<int>(out.Length());
+ rtc::ByteBufferReader read_buf(out);
std::string bytes;
- out.ReadString(&bytes, len1);
+ read_buf.ReadString(&bytes, len1);
ASSERT_EQ(0, memcmp(bytes.c_str(), kStunMessageWithIPv4MappedAddress, len1));
}
@@ -933,12 +937,13 @@ TEST_F(StunTest, WriteMessageWithIPv6XorAddressAttribute) {
CheckStunHeader(msg, STUN_BINDING_RESPONSE, (size - 20));
- rtc::ByteBuffer out;
+ rtc::ByteBufferWriter out;
EXPECT_TRUE(msg.Write(&out));
ASSERT_EQ(out.Length(), sizeof(kStunMessageWithIPv6XorMappedAddress));
int len1 = static_cast<int>(out.Length());
+ rtc::ByteBufferReader read_buf(out);
std::string bytes;
- out.ReadString(&bytes, len1);
+ read_buf.ReadString(&bytes, len1);
ASSERT_EQ(0,
memcmp(bytes.c_str(), kStunMessageWithIPv6XorMappedAddress, len1));
}
@@ -963,12 +968,13 @@ TEST_F(StunTest, WriteMessageWithIPv4XoreAddressAttribute) {
CheckStunHeader(msg, STUN_BINDING_RESPONSE, (size - 20));
- rtc::ByteBuffer out;
+ rtc::ByteBufferWriter out;
EXPECT_TRUE(msg.Write(&out));
ASSERT_EQ(out.Length(), sizeof(kStunMessageWithIPv4XorMappedAddress));
int len1 = static_cast<int>(out.Length());
+ rtc::ByteBufferReader read_buf(out);
std::string bytes;
- out.ReadString(&bytes, len1);
+ read_buf.ReadString(&bytes, len1);
ASSERT_EQ(0,
memcmp(bytes.c_str(), kStunMessageWithIPv4XorMappedAddress, len1));
}
@@ -1061,7 +1067,7 @@ TEST_F(StunTest, WriteMessageWithAnErrorCodeAttribute) {
EXPECT_TRUE(msg.AddAttribute(errorcode));
CheckStunHeader(msg, STUN_BINDING_ERROR_RESPONSE, (size - 20));
- rtc::ByteBuffer out;
+ rtc::ByteBufferWriter out;
EXPECT_TRUE(msg.Write(&out));
ASSERT_EQ(size, out.Length());
// No padding.
@@ -1084,7 +1090,7 @@ TEST_F(StunTest, WriteMessageWithAUInt16ListAttribute) {
EXPECT_TRUE(msg.AddAttribute(list));
CheckStunHeader(msg, STUN_BINDING_REQUEST, (size - 20));
- rtc::ByteBuffer out;
+ rtc::ByteBufferWriter out;
EXPECT_TRUE(msg.Write(&out));
ASSERT_EQ(size, out.Length());
// Check everything up to the padding.
@@ -1104,7 +1110,7 @@ TEST_F(StunTest, WriteMessageWithOriginAttribute) {
new StunByteStringAttribute(STUN_ATTR_ORIGIN, kTestOrigin);
EXPECT_TRUE(msg.AddAttribute(origin));
- rtc::ByteBuffer out;
+ rtc::ByteBufferWriter out;
EXPECT_TRUE(msg.Write(&out));
ASSERT_EQ(size, out.Length());
// Check everything up to the padding
@@ -1115,7 +1121,7 @@ TEST_F(StunTest, WriteMessageWithOriginAttribute) {
void CheckFailureToRead(const unsigned char* testcase, size_t length) {
StunMessage msg;
const char* input = reinterpret_cast<const char*>(testcase);
- rtc::ByteBuffer buf(input, length);
+ rtc::ByteBufferReader buf(input, length);
ASSERT_FALSE(msg.Read(&buf));
}
@@ -1207,7 +1213,7 @@ TEST_F(StunTest, ValidateMessageIntegrity) {
// the RFC5769 test messages used include attributes not found in basic STUN.
TEST_F(StunTest, AddMessageIntegrity) {
IceMessage msg;
- rtc::ByteBuffer buf(
+ rtc::ByteBufferReader buf(
reinterpret_cast<const char*>(kRfc5769SampleRequestWithoutMI),
sizeof(kRfc5769SampleRequestWithoutMI));
EXPECT_TRUE(msg.Read(&buf));
@@ -1218,14 +1224,14 @@ TEST_F(StunTest, AddMessageIntegrity) {
EXPECT_EQ(0, memcmp(
mi_attr->bytes(), kCalculatedHmac1, sizeof(kCalculatedHmac1)));
- rtc::ByteBuffer buf1;
+ rtc::ByteBufferWriter buf1;
EXPECT_TRUE(msg.Write(&buf1));
EXPECT_TRUE(StunMessage::ValidateMessageIntegrity(
reinterpret_cast<const char*>(buf1.Data()), buf1.Length(),
kRfc5769SampleMsgPassword));
IceMessage msg2;
- rtc::ByteBuffer buf2(
+ rtc::ByteBufferReader buf2(
reinterpret_cast<const char*>(kRfc5769SampleResponseWithoutMI),
sizeof(kRfc5769SampleResponseWithoutMI));
EXPECT_TRUE(msg2.Read(&buf2));
@@ -1236,7 +1242,7 @@ TEST_F(StunTest, AddMessageIntegrity) {
EXPECT_EQ(
0, memcmp(mi_attr2->bytes(), kCalculatedHmac2, sizeof(kCalculatedHmac2)));
- rtc::ByteBuffer buf3;
+ rtc::ByteBufferWriter buf3;
EXPECT_TRUE(msg2.Write(&buf3));
EXPECT_TRUE(StunMessage::ValidateMessageIntegrity(
reinterpret_cast<const char*>(buf3.Data()), buf3.Length(),
@@ -1282,13 +1288,13 @@ TEST_F(StunTest, ValidateFingerprint) {
TEST_F(StunTest, AddFingerprint) {
IceMessage msg;
- rtc::ByteBuffer buf(
+ rtc::ByteBufferReader buf(
reinterpret_cast<const char*>(kRfc5769SampleRequestWithoutMI),
sizeof(kRfc5769SampleRequestWithoutMI));
EXPECT_TRUE(msg.Read(&buf));
EXPECT_TRUE(msg.AddFingerprint());
- rtc::ByteBuffer buf1;
+ rtc::ByteBufferWriter buf1;
EXPECT_TRUE(msg.Write(&buf1));
EXPECT_TRUE(StunMessage::ValidateFingerprint(
reinterpret_cast<const char*>(buf1.Data()), buf1.Length()));
@@ -1331,7 +1337,7 @@ TEST_F(StunTest, ReadRelayMessage) {
const char* input = reinterpret_cast<const char*>(kRelayMessage);
size_t size = sizeof(kRelayMessage);
- rtc::ByteBuffer buf(input, size);
+ rtc::ByteBufferReader buf(input, size);
EXPECT_TRUE(msg.Read(&buf));
EXPECT_EQ(STUN_BINDING_REQUEST, msg.type());
@@ -1427,20 +1433,22 @@ TEST_F(StunTest, ReadRelayMessage) {
bytes2->CopyBytes("abcdefg");
EXPECT_TRUE(msg2.AddAttribute(bytes2));
- rtc::ByteBuffer out;
+ rtc::ByteBufferWriter out;
EXPECT_TRUE(msg.Write(&out));
EXPECT_EQ(size, out.Length());
size_t len1 = out.Length();
+ rtc::ByteBufferReader read_buf(out);
std::string outstring;
- out.ReadString(&outstring, len1);
+ read_buf.ReadString(&outstring, len1);
EXPECT_EQ(0, memcmp(outstring.c_str(), input, len1));
- rtc::ByteBuffer out2;
+ rtc::ByteBufferWriter out2;
EXPECT_TRUE(msg2.Write(&out2));
EXPECT_EQ(size, out2.Length());
size_t len2 = out2.Length();
+ rtc::ByteBufferReader read_buf2(out2);
std::string outstring2;
- out2.ReadString(&outstring2, len2);
+ read_buf2.ReadString(&outstring2, len2);
EXPECT_EQ(0, memcmp(outstring2.c_str(), input, len2));
}
« no previous file with comments | « webrtc/p2p/base/stun.cc ('k') | webrtc/p2p/base/stunrequest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698