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

Side by Side Diff: webrtc/api/peerconnection_unittest.cc

Issue 2557803002: Add disabled certificate check support to IceServer PeerConnection API. (Closed)
Patch Set: Add disabled certificate check support to IceServer PeerConnection API. Created 4 years 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 22 matching lines...) Expand all
33 #include "webrtc/base/fakenetwork.h" 33 #include "webrtc/base/fakenetwork.h"
34 #include "webrtc/base/gunit.h" 34 #include "webrtc/base/gunit.h"
35 #include "webrtc/base/helpers.h" 35 #include "webrtc/base/helpers.h"
36 #include "webrtc/base/physicalsocketserver.h" 36 #include "webrtc/base/physicalsocketserver.h"
37 #include "webrtc/base/ssladapter.h" 37 #include "webrtc/base/ssladapter.h"
38 #include "webrtc/base/sslstreamadapter.h" 38 #include "webrtc/base/sslstreamadapter.h"
39 #include "webrtc/base/thread.h" 39 #include "webrtc/base/thread.h"
40 #include "webrtc/base/virtualsocketserver.h" 40 #include "webrtc/base/virtualsocketserver.h"
41 #include "webrtc/media/engine/fakewebrtcvideoengine.h" 41 #include "webrtc/media/engine/fakewebrtcvideoengine.h"
42 #include "webrtc/p2p/base/p2pconstants.h" 42 #include "webrtc/p2p/base/p2pconstants.h"
43 #include "webrtc/p2p/base/portinterface.h"
43 #include "webrtc/p2p/base/sessiondescription.h" 44 #include "webrtc/p2p/base/sessiondescription.h"
44 #include "webrtc/p2p/base/testturnserver.h" 45 #include "webrtc/p2p/base/testturnserver.h"
45 #include "webrtc/p2p/client/basicportallocator.h" 46 #include "webrtc/p2p/client/basicportallocator.h"
46 #include "webrtc/pc/mediasession.h" 47 #include "webrtc/pc/mediasession.h"
47 48
48 #define MAYBE_SKIP_TEST(feature) \ 49 #define MAYBE_SKIP_TEST(feature) \
49 if (!(feature())) { \ 50 if (!(feature())) { \
50 LOG(LS_INFO) << "Feature disabled... skipping"; \ 51 LOG(LS_INFO) << "Feature disabled... skipping"; \
51 return; \ 52 return; \
52 } 53 }
(...skipping 2559 matching lines...) Expand 10 before | Expand all | Expand 10 after
2612 class IceServerParsingTest : public testing::Test { 2613 class IceServerParsingTest : public testing::Test {
2613 public: 2614 public:
2614 // Convenience for parsing a single URL. 2615 // Convenience for parsing a single URL.
2615 bool ParseUrl(const std::string& url) { 2616 bool ParseUrl(const std::string& url) {
2616 return ParseUrl(url, std::string(), std::string()); 2617 return ParseUrl(url, std::string(), std::string());
2617 } 2618 }
2618 2619
2619 bool ParseUrl(const std::string& url, 2620 bool ParseUrl(const std::string& url,
2620 const std::string& username, 2621 const std::string& username,
2621 const std::string& password) { 2622 const std::string& password) {
2623 return ParseUrl(
2624 url, username, password,
2625 PeerConnectionInterface::TlsCertificatePolicy::kTlsCertPolicySecure);
2626 }
2627
2628 bool ParseUrl(
2629 const std::string& url,
2630 const std::string& username,
2631 const std::string& password,
2632 PeerConnectionInterface::TlsCertificatePolicy tls_certificate_policy) {
2622 PeerConnectionInterface::IceServers servers; 2633 PeerConnectionInterface::IceServers servers;
2623 PeerConnectionInterface::IceServer server; 2634 PeerConnectionInterface::IceServer server;
2624 server.urls.push_back(url); 2635 server.urls.push_back(url);
2625 server.username = username; 2636 server.username = username;
2626 server.password = password; 2637 server.password = password;
2638 server.tls_certificate_policy = tls_certificate_policy;
2627 servers.push_back(server); 2639 servers.push_back(server);
2628 return webrtc::ParseIceServers(servers, &stun_servers_, &turn_servers_); 2640 return webrtc::ParseIceServers(servers, &stun_servers_, &turn_servers_);
2629 } 2641 }
2630 2642
2631 protected: 2643 protected:
2632 cricket::ServerAddresses stun_servers_; 2644 cricket::ServerAddresses stun_servers_;
2633 std::vector<cricket::RelayServerConfig> turn_servers_; 2645 std::vector<cricket::RelayServerConfig> turn_servers_;
2634 }; 2646 };
2635 2647
2636 // Make sure all STUN/TURN prefixes are parsed correctly. 2648 // Make sure all STUN/TURN prefixes are parsed correctly.
2637 TEST_F(IceServerParsingTest, ParseStunPrefixes) { 2649 TEST_F(IceServerParsingTest, ParseStunPrefixes) {
2638 EXPECT_TRUE(ParseUrl("stun:hostname")); 2650 EXPECT_TRUE(ParseUrl("stun:hostname"));
2639 EXPECT_EQ(1U, stun_servers_.size()); 2651 EXPECT_EQ(1U, stun_servers_.size());
2640 EXPECT_EQ(0U, turn_servers_.size()); 2652 EXPECT_EQ(0U, turn_servers_.size());
2641 stun_servers_.clear(); 2653 stun_servers_.clear();
2642 2654
2643 EXPECT_TRUE(ParseUrl("stuns:hostname")); 2655 EXPECT_TRUE(ParseUrl("stuns:hostname"));
2644 EXPECT_EQ(1U, stun_servers_.size()); 2656 EXPECT_EQ(1U, stun_servers_.size());
2645 EXPECT_EQ(0U, turn_servers_.size()); 2657 EXPECT_EQ(0U, turn_servers_.size());
2646 stun_servers_.clear(); 2658 stun_servers_.clear();
2647 2659
2648 EXPECT_TRUE(ParseUrl("turn:hostname")); 2660 EXPECT_TRUE(ParseUrl("turn:hostname"));
2649 EXPECT_EQ(0U, stun_servers_.size()); 2661 EXPECT_EQ(0U, stun_servers_.size());
2650 EXPECT_EQ(1U, turn_servers_.size()); 2662 EXPECT_EQ(1U, turn_servers_.size());
2651 EXPECT_FALSE(turn_servers_[0].ports[0].secure); 2663 EXPECT_EQ(cricket::PROTO_UDP, turn_servers_[0].ports[0].proto);
2652 turn_servers_.clear(); 2664 turn_servers_.clear();
2653 2665
2654 EXPECT_TRUE(ParseUrl("turns:hostname")); 2666 EXPECT_TRUE(ParseUrl("turns:hostname"));
2655 EXPECT_EQ(0U, stun_servers_.size()); 2667 EXPECT_EQ(0U, stun_servers_.size());
2656 EXPECT_EQ(1U, turn_servers_.size()); 2668 EXPECT_EQ(1U, turn_servers_.size());
2657 EXPECT_TRUE(turn_servers_[0].ports[0].secure); 2669 EXPECT_EQ(cricket::PROTO_TLS, turn_servers_[0].ports[0].proto);
2670 turn_servers_.clear();
2671
2672 EXPECT_TRUE(ParseUrl("turns:hostname", "", "",
2673 PeerConnectionInterface::TlsCertificatePolicy::
2674 kTlsCertPolicyInsecureNoCheck));
2675 EXPECT_EQ(0U, stun_servers_.size());
2676 EXPECT_EQ(1U, turn_servers_.size());
2677 EXPECT_TRUE(turn_servers_[0].ports[0].flags &
2678 cricket::PROTO_FLAG_INSECURE_CERT_CHECK);
2679 EXPECT_EQ(cricket::PROTO_TLS, turn_servers_[0].ports[0].proto);
2658 turn_servers_.clear(); 2680 turn_servers_.clear();
2659 2681
2660 // invalid prefixes 2682 // invalid prefixes
2661 EXPECT_FALSE(ParseUrl("stunn:hostname")); 2683 EXPECT_FALSE(ParseUrl("stunn:hostname"));
2662 EXPECT_FALSE(ParseUrl(":hostname")); 2684 EXPECT_FALSE(ParseUrl(":hostname"));
2663 EXPECT_FALSE(ParseUrl(":")); 2685 EXPECT_FALSE(ParseUrl(":"));
2664 EXPECT_FALSE(ParseUrl("")); 2686 EXPECT_FALSE(ParseUrl(""));
2665 } 2687 }
2666 2688
2667 TEST_F(IceServerParsingTest, VerifyDefaults) { 2689 TEST_F(IceServerParsingTest, VerifyDefaults) {
2668 // TURNS defaults 2690 // TURNS defaults
2669 EXPECT_TRUE(ParseUrl("turns:hostname")); 2691 EXPECT_TRUE(ParseUrl("turns:hostname"));
2670 EXPECT_EQ(1U, turn_servers_.size()); 2692 EXPECT_EQ(1U, turn_servers_.size());
2671 EXPECT_EQ(5349, turn_servers_[0].ports[0].address.port()); 2693 EXPECT_EQ(5349, turn_servers_[0].ports[0].address.port());
2672 EXPECT_EQ(cricket::PROTO_TCP, turn_servers_[0].ports[0].proto); 2694 EXPECT_EQ(cricket::PROTO_TLS, turn_servers_[0].ports[0].proto);
2673 turn_servers_.clear(); 2695 turn_servers_.clear();
2674 2696
2675 // TURN defaults 2697 // TURN defaults
2676 EXPECT_TRUE(ParseUrl("turn:hostname")); 2698 EXPECT_TRUE(ParseUrl("turn:hostname"));
2677 EXPECT_EQ(1U, turn_servers_.size()); 2699 EXPECT_EQ(1U, turn_servers_.size());
2678 EXPECT_EQ(3478, turn_servers_[0].ports[0].address.port()); 2700 EXPECT_EQ(3478, turn_servers_[0].ports[0].address.port());
2679 EXPECT_EQ(cricket::PROTO_UDP, turn_servers_[0].ports[0].proto); 2701 EXPECT_EQ(cricket::PROTO_UDP, turn_servers_[0].ports[0].proto);
2680 turn_servers_.clear(); 2702 turn_servers_.clear();
2681 2703
2682 // STUN defaults 2704 // STUN defaults
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
2794 server.urls.push_back("turn:hostname2"); 2816 server.urls.push_back("turn:hostname2");
2795 servers.push_back(server); 2817 servers.push_back(server);
2796 EXPECT_TRUE(webrtc::ParseIceServers(servers, &stun_servers_, &turn_servers_)); 2818 EXPECT_TRUE(webrtc::ParseIceServers(servers, &stun_servers_, &turn_servers_));
2797 EXPECT_EQ(2U, turn_servers_.size()); 2819 EXPECT_EQ(2U, turn_servers_.size());
2798 EXPECT_NE(turn_servers_[0].priority, turn_servers_[1].priority); 2820 EXPECT_NE(turn_servers_[0].priority, turn_servers_[1].priority);
2799 } 2821 }
2800 2822
2801 #endif // if !defined(THREAD_SANITIZER) 2823 #endif // if !defined(THREAD_SANITIZER)
2802 2824
2803 } // namespace 2825 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698