Unit test for IcePwd mangling fixup
This tests both the "enabled" and "disabled" code paths of the
field trial.
Bug: b/409713509
Change-Id: I24ef2bb422201c9003e80e802d13b4c246cf8acd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/385921
Auto-Submit: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Guido Urdaneta <guidou@webrtc.org>
Commit-Queue: Guido Urdaneta <guidou@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#44363}
diff --git a/pc/sdp_offer_answer_unittest.cc b/pc/sdp_offer_answer_unittest.cc
index 8038556..8315c9e 100644
--- a/pc/sdp_offer_answer_unittest.cc
+++ b/pc/sdp_offer_answer_unittest.cc
@@ -1919,8 +1919,9 @@
ElementsAre(Pair(SdpMungingType::kIceUfrag, 1)));
}
-TEST_F(SdpOfferAnswerMungingTest, IcePwd) {
- auto pc = CreatePeerConnection();
+TEST_F(SdpOfferAnswerMungingTest, IcePwdCheckDisabledByFieldTrial) {
+ auto pc = CreatePeerConnection(
+ FieldTrials::CreateNoGlobal("WebRTC-NoSdpMangleUfrag/Disabled/"));
pc->AddAudioTrack("audio_track", {});
auto offer = pc->CreateOffer();
@@ -1933,6 +1934,23 @@
metrics::Samples("WebRTC.PeerConnection.SdpMunging.Offer.Initial"),
ElementsAre(Pair(SdpMungingType::kIcePwd, 1)));
}
+
+TEST_F(SdpOfferAnswerMungingTest, IcePwd) {
+ auto pc = CreatePeerConnection(
+ FieldTrials::CreateNoGlobal("WebRTC-NoSdpMangleUfrag/Enabled/"));
+ pc->AddAudioTrack("audio_track", {});
+
+ auto offer = pc->CreateOffer();
+ auto& transport_infos = offer->description()->transport_infos();
+ ASSERT_EQ(transport_infos.size(), 1u);
+ transport_infos[0].description.ice_pwd = "amungedicepwdthisshouldberejected";
+ RTCError error;
+ EXPECT_FALSE(pc->SetLocalDescription(std::move(offer), &error));
+ EXPECT_THAT(
+ metrics::Samples("WebRTC.PeerConnection.SdpMunging.Offer.Initial"),
+ ElementsAre(Pair(SdpMungingType::kIcePwd, 1)));
+}
+
TEST_F(SdpOfferAnswerMungingTest, IceMode) {
auto pc = CreatePeerConnection();
pc->AddAudioTrack("audio_track", {});