Add an end-to-end integration test for |enable_encrypted_rtp_header_extensions|

Bug: webrtc:10401
Change-Id: Iefed0f4daabea3a3c5338e4c77963f2d86ed11c8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127329
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28567}
This commit is contained in:
Steve Anton 2019-07-12 12:58:30 -07:00 committed by Commit Bot
parent 1cd6f3224a
commit 9a44b2d3ce

View File

@ -1816,6 +1816,31 @@ TEST_P(PeerConnectionIntegrationTest, EndToEndCallWithSdes) {
webrtc::kEnumCounterKeyProtocolDtls));
}
// Basic end-to-end test specifying the |enable_encrypted_rtp_header_extensions|
// option to offer encrypted versions of all header extensions alongside the
// unencrypted versions.
TEST_P(PeerConnectionIntegrationTest,
EndToEndCallWithEncryptedRtpHeaderExtensions) {
CryptoOptions crypto_options;
crypto_options.srtp.enable_encrypted_rtp_header_extensions = true;
PeerConnectionInterface::RTCConfiguration config;
config.crypto_options = crypto_options;
// Note: This allows offering >14 RTP header extensions.
config.offer_extmap_allow_mixed = true;
ASSERT_TRUE(CreatePeerConnectionWrappersWithConfig(config, config));
ConnectFakeSignaling();
// Do normal offer/answer and wait for some frames to be received in each
// direction.
caller()->AddAudioVideoTracks();
callee()->AddAudioVideoTracks();
caller()->CreateAndSetAndSignalOffer();
ASSERT_TRUE_WAIT(SignalingStateStable(), kDefaultTimeout);
MediaExpectations media_expectations;
media_expectations.ExpectBidirectionalAudioAndVideo();
ASSERT_TRUE(ExpectNewFrames(media_expectations));
}
// Tests that the GetRemoteAudioSSLCertificate method returns the remote DTLS
// certificate once the DTLS handshake has finished.
TEST_P(PeerConnectionIntegrationTest,