Add test for StunMessage::ValidateMessageIntegrity
This also tests the UMA stats newly added to it. Bug: chromium:1177125 Change-Id: I89bb17c1897565cd91ea5bbd92062018317738ca Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/278600 Reviewed-by: Johannes Kron <kron@webrtc.org> Commit-Queue: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38345}
This commit is contained in:

committed by
WebRTC LUCI CQ

parent
8c8b5c3f82
commit
1f4f672687
@ -146,6 +146,7 @@ if (rtc_include_tests) {
|
||||
"../../rtc_base:byte_order",
|
||||
"../../rtc_base:macromagic",
|
||||
"../../rtc_base:socket_address",
|
||||
"../../system_wrappers:metrics",
|
||||
"../../test:test_support",
|
||||
"//testing/gtest",
|
||||
]
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include "rtc_base/byte_buffer.h"
|
||||
#include "rtc_base/byte_order.h"
|
||||
#include "rtc_base/socket_address.h"
|
||||
#include "system_wrappers/include/metrics.h"
|
||||
#include "test/gtest.h"
|
||||
|
||||
namespace cricket {
|
||||
@ -1855,4 +1856,26 @@ TEST_F(StunTest, SizeRestrictionOnAttributes) {
|
||||
ASSERT_FALSE(msg.Write(&out));
|
||||
}
|
||||
|
||||
TEST_F(StunTest, ValidateMessageIntegrityWithParser) {
|
||||
// Try the messages from RFC 5769.
|
||||
StunMessage message;
|
||||
rtc::ByteBufferReader reader(
|
||||
reinterpret_cast<const char*>(kRfc5769SampleRequest),
|
||||
sizeof(kRfc5769SampleRequest));
|
||||
EXPECT_TRUE(message.Read(&reader));
|
||||
EXPECT_EQ(message.ValidateMessageIntegrity(kRfc5769SampleMsgPassword),
|
||||
StunMessage::IntegrityStatus::kIntegrityOk);
|
||||
EXPECT_EQ(webrtc::metrics::NumEvents(
|
||||
"WebRTC.Stun.Integrity.Request",
|
||||
static_cast<int>(StunMessage::IntegrityStatus::kIntegrityOk)),
|
||||
1);
|
||||
EXPECT_EQ(message.ValidateMessageIntegrity("Invalid password"),
|
||||
StunMessage::IntegrityStatus::kIntegrityBad);
|
||||
EXPECT_EQ(webrtc::metrics::NumEvents(
|
||||
"WebRTC.Stun.Integrity.Request",
|
||||
static_cast<int>(StunMessage::IntegrityStatus::kIntegrityBad)),
|
||||
1);
|
||||
EXPECT_EQ(webrtc::metrics::NumSamples("WebRTC.Stun.Integrity.Request"), 2);
|
||||
}
|
||||
|
||||
} // namespace cricket
|
||||
|
Reference in New Issue
Block a user