| Index: talk/app/webrtc/webrtcsession_unittest.cc
|
| diff --git a/talk/app/webrtc/webrtcsession_unittest.cc b/talk/app/webrtc/webrtcsession_unittest.cc
|
| index a26954658045ff13753a5c6276c6fc6306277f5f..da642e0a966763ca27cc4d64493c61df70e1b321 100644
|
| --- a/talk/app/webrtc/webrtcsession_unittest.cc
|
| +++ b/talk/app/webrtc/webrtcsession_unittest.cc
|
| @@ -26,6 +26,7 @@
|
| */
|
|
|
| #include "talk/app/webrtc/audiotrack.h"
|
| +#include "talk/app/webrtc/dtlscertificate.h"
|
| #include "talk/app/webrtc/fakemetricsobserver.h"
|
| #include "talk/app/webrtc/jsepicecandidate.h"
|
| #include "talk/app/webrtc/jsepsessiondescription.h"
|
| @@ -359,6 +360,7 @@ class WebRtcSessionTest : public testing::Test {
|
|
|
| void Init(
|
| DTLSIdentityServiceInterface* identity_service,
|
| + rtc::scoped_refptr<webrtc::DtlsCertificate> certificate,
|
| const PeerConnectionInterface::RTCConfiguration& rtc_configuration) {
|
| ASSERT_TRUE(session_.get() == NULL);
|
| session_.reset(new WebRtcSessionForTest(
|
| @@ -373,41 +375,42 @@ class WebRtcSessionTest : public testing::Test {
|
| observer_.ice_gathering_state_);
|
|
|
| EXPECT_TRUE(session_->Initialize(options_, constraints_.get(),
|
| - identity_service, rtc_configuration));
|
| + identity_service, certificate,
|
| + rtc_configuration));
|
| session_->set_metrics_observer(metrics_observer_);
|
| }
|
|
|
| void Init() {
|
| PeerConnectionInterface::RTCConfiguration configuration;
|
| - Init(NULL, configuration);
|
| + Init(nullptr, nullptr, configuration);
|
| }
|
|
|
| void InitWithIceTransport(
|
| PeerConnectionInterface::IceTransportsType ice_transport_type) {
|
| PeerConnectionInterface::RTCConfiguration configuration;
|
| configuration.type = ice_transport_type;
|
| - Init(NULL, configuration);
|
| + Init(nullptr, nullptr, configuration);
|
| }
|
|
|
| void InitWithBundlePolicy(
|
| PeerConnectionInterface::BundlePolicy bundle_policy) {
|
| PeerConnectionInterface::RTCConfiguration configuration;
|
| configuration.bundle_policy = bundle_policy;
|
| - Init(NULL, configuration);
|
| + Init(nullptr, nullptr, configuration);
|
| }
|
|
|
| void InitWithRtcpMuxPolicy(
|
| PeerConnectionInterface::RtcpMuxPolicy rtcp_mux_policy) {
|
| PeerConnectionInterface::RTCConfiguration configuration;
|
| configuration.rtcp_mux_policy = rtcp_mux_policy;
|
| - Init(NULL, configuration);
|
| + Init(nullptr, nullptr, configuration);
|
| }
|
|
|
| void InitWithDtls(bool identity_request_should_fail = false) {
|
| FakeIdentityService* identity_service = new FakeIdentityService();
|
| identity_service->set_should_fail(identity_request_should_fail);
|
| PeerConnectionInterface::RTCConfiguration configuration;
|
| - Init(identity_service, configuration);
|
| + Init(identity_service, nullptr, configuration);
|
| }
|
|
|
| void InitWithDtmfCodec() {
|
| @@ -3592,13 +3595,25 @@ TEST_F(WebRtcSessionTest, TestSctpDataChannelSendPortParsing) {
|
| EXPECT_EQ(new_recv_port, portnum);
|
| }
|
|
|
| +// Verifies that if a certificate is provided it is the one that will be used.
|
| +TEST_F(WebRtcSessionTest, TestUsesProvidedCertificate) {
|
| + rtc::scoped_refptr<webrtc::DtlsCertificate> certificate =
|
| + FakeIdentityService::GenerateCertificate();
|
| +
|
| + PeerConnectionInterface::RTCConfiguration configuration;
|
| + Init(nullptr, certificate, configuration);
|
| + EXPECT_TRUE_WAIT(!session_->waiting_for_certificate(), 1000);
|
| +
|
| + EXPECT_EQ(session_->get_certificate(), certificate);
|
| +}
|
| +
|
| // Verifies that CreateOffer succeeds when CreateOffer is called before async
|
| // identity generation is finished.
|
| TEST_F(WebRtcSessionTest, TestCreateOfferBeforeIdentityRequestReturnSuccess) {
|
| MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp);
|
| InitWithDtls();
|
|
|
| - EXPECT_TRUE(session_->waiting_for_identity());
|
| + EXPECT_TRUE(session_->waiting_for_certificate());
|
| mediastream_signaling_.SendAudioVideoStream1();
|
| rtc::scoped_ptr<SessionDescriptionInterface> offer(CreateOffer());
|
|
|
| @@ -3633,7 +3648,7 @@ TEST_F(WebRtcSessionTest, TestCreateOfferAfterIdentityRequestReturnSuccess) {
|
| MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp);
|
| InitWithDtls();
|
|
|
| - EXPECT_TRUE_WAIT(!session_->waiting_for_identity(), 1000);
|
| + EXPECT_TRUE_WAIT(!session_->waiting_for_certificate(), 1000);
|
|
|
| rtc::scoped_ptr<SessionDescriptionInterface> offer(CreateOffer());
|
| EXPECT_TRUE(offer != NULL);
|
| @@ -3645,7 +3660,7 @@ TEST_F(WebRtcSessionTest, TestCreateOfferAfterIdentityRequestReturnFailure) {
|
| MAYBE_SKIP_TEST(rtc::SSLStreamAdapter::HaveDtlsSrtp);
|
| InitWithDtls(true);
|
|
|
| - EXPECT_TRUE_WAIT(!session_->waiting_for_identity(), 1000);
|
| + EXPECT_TRUE_WAIT(!session_->waiting_for_certificate(), 1000);
|
|
|
| rtc::scoped_ptr<SessionDescriptionInterface> offer(CreateOffer());
|
| EXPECT_TRUE(offer == NULL);
|
|
|