| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2009 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2009 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 |
| 11 #include <memory> |
| 11 #include <string> | 12 #include <string> |
| 12 #include "webrtc/base/autodetectproxy.h" | 13 #include "webrtc/base/autodetectproxy.h" |
| 13 #include "webrtc/base/gunit.h" | 14 #include "webrtc/base/gunit.h" |
| 14 #include "webrtc/base/httpserver.h" | 15 #include "webrtc/base/httpserver.h" |
| 15 #include "webrtc/base/proxyserver.h" | 16 #include "webrtc/base/proxyserver.h" |
| 16 #include "webrtc/base/socketadapters.h" | 17 #include "webrtc/base/socketadapters.h" |
| 17 #include "webrtc/base/testclient.h" | 18 #include "webrtc/base/testclient.h" |
| 18 #include "webrtc/base/testechoserver.h" | 19 #include "webrtc/base/testechoserver.h" |
| 19 #include "webrtc/base/virtualsocketserver.h" | 20 #include "webrtc/base/virtualsocketserver.h" |
| 20 | 21 |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 60 rtc::ProxyType type; | 61 rtc::ProxyType type; |
| 61 AutoDetectProxyRunner* detect = new AutoDetectProxyRunner("unittest/1.0"); | 62 AutoDetectProxyRunner* detect = new AutoDetectProxyRunner("unittest/1.0"); |
| 62 detect->set_proxy(address); | 63 detect->set_proxy(address); |
| 63 detect->Run(); // blocks until done | 64 detect->Run(); // blocks until done |
| 64 type = detect->proxy().type; | 65 type = detect->proxy().type; |
| 65 detect->Destroy(false); | 66 detect->Destroy(false); |
| 66 return type; | 67 return type; |
| 67 } | 68 } |
| 68 | 69 |
| 69 private: | 70 private: |
| 70 rtc::scoped_ptr<rtc::SocketServer> ss_; | 71 std::unique_ptr<rtc::SocketServer> ss_; |
| 71 rtc::scoped_ptr<rtc::SocksProxyServer> socks_; | 72 std::unique_ptr<rtc::SocksProxyServer> socks_; |
| 72 // TODO: Make this a real HTTPS proxy server. | 73 // TODO: Make this a real HTTPS proxy server. |
| 73 rtc::scoped_ptr<rtc::HttpListenServer> https_; | 74 std::unique_ptr<rtc::HttpListenServer> https_; |
| 74 }; | 75 }; |
| 75 | 76 |
| 76 // Tests whether we can use a SOCKS5 proxy to connect to a server. | 77 // Tests whether we can use a SOCKS5 proxy to connect to a server. |
| 77 TEST_F(ProxyTest, TestSocks5Connect) { | 78 TEST_F(ProxyTest, TestSocks5Connect) { |
| 78 rtc::AsyncSocket* socket = | 79 rtc::AsyncSocket* socket = |
| 79 ss()->CreateAsyncSocket(kSocksProxyIntAddr.family(), SOCK_STREAM); | 80 ss()->CreateAsyncSocket(kSocksProxyIntAddr.family(), SOCK_STREAM); |
| 80 rtc::AsyncSocksProxySocket* proxy_socket = | 81 rtc::AsyncSocksProxySocket* proxy_socket = |
| 81 new rtc::AsyncSocksProxySocket(socket, kSocksProxyIntAddr, | 82 new rtc::AsyncSocksProxySocket(socket, kSocksProxyIntAddr, |
| 82 "", rtc::CryptString()); | 83 "", rtc::CryptString()); |
| 83 // TODO: IPv6-ize these tests when proxy supports IPv6. | 84 // TODO: IPv6-ize these tests when proxy supports IPv6. |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 // Tests whether we can autodetect a HTTPS proxy. | 127 // Tests whether we can autodetect a HTTPS proxy. |
| 127 TEST_F(ProxyTest, TestAutoDetectHttps) { | 128 TEST_F(ProxyTest, TestAutoDetectHttps) { |
| 128 EXPECT_EQ(rtc::PROXY_HTTPS, DetectProxyType(kHttpsProxyIntAddr)); | 129 EXPECT_EQ(rtc::PROXY_HTTPS, DetectProxyType(kHttpsProxyIntAddr)); |
| 129 } | 130 } |
| 130 */ | 131 */ |
| 131 | 132 |
| 132 // Tests whether we fail properly for no proxy. | 133 // Tests whether we fail properly for no proxy. |
| 133 TEST_F(ProxyTest, TestAutoDetectBogus) { | 134 TEST_F(ProxyTest, TestAutoDetectBogus) { |
| 134 EXPECT_EQ(rtc::PROXY_UNKNOWN, DetectProxyType(kBogusProxyIntAddr)); | 135 EXPECT_EQ(rtc::PROXY_UNKNOWN, DetectProxyType(kBogusProxyIntAddr)); |
| 135 } | 136 } |
| OLD | NEW |