Maciek Kumorek | 1d1e5c2 | 2020-07-25 22:49:39 | [diff] [blame] | 1 | // Copyright 2020 The Chromium Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
Roger Tawa | c0a1b9c | 2021-09-23 23:34:04 | [diff] [blame] | 5 | #include "components/winhttp/proxy_configuration.h" |
Maciek Kumorek | 1d1e5c2 | 2020-07-25 22:49:39 | [diff] [blame] | 6 | |
| 7 | #include "base/memory/scoped_refptr.h" |
Maciek Kumorek | 1d1e5c2 | 2020-07-25 22:49:39 | [diff] [blame] | 8 | #include "testing/gtest/include/gtest/gtest.h" |
| 9 | #include "url/gurl.h" |
| 10 | |
Roger Tawa | c0a1b9c | 2021-09-23 23:34:04 | [diff] [blame] | 11 | namespace winhttp { |
Maciek Kumorek | 1d1e5c2 | 2020-07-25 22:49:39 | [diff] [blame] | 12 | |
Roger Tawa | c0a1b9c | 2021-09-23 23:34:04 | [diff] [blame] | 13 | TEST(WinHttpProxyConfiguration, DirectProxy) { |
Maciek Kumorek | 1d1e5c2 | 2020-07-25 22:49:39 | [diff] [blame] | 14 | auto proxy_configuration = base::MakeRefCounted<ProxyConfiguration>(); |
| 15 | EXPECT_EQ(proxy_configuration->access_type(), |
| 16 | WINHTTP_ACCESS_TYPE_DEFAULT_PROXY); |
| 17 | } |
| 18 | |
Roger Tawa | c0a1b9c | 2021-09-23 23:34:04 | [diff] [blame] | 19 | TEST(WinHttpProxyConfiguration, AutoProxy) { |
Maciek Kumorek | 1d1e5c2 | 2020-07-25 22:49:39 | [diff] [blame] | 20 | auto proxy_configuration = base::MakeRefCounted<AutoProxyConfiguration>(); |
| 21 | EXPECT_EQ(proxy_configuration->access_type(), |
| 22 | WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY); |
Anton Bikineev | 46bbb97 | 2021-05-15 17:53:53 | [diff] [blame] | 23 | absl::optional<ScopedWinHttpProxyInfo> winhttp_proxy_info = |
Peter Kasting | 850d486 | 2021-02-16 15:07:45 | [diff] [blame] | 24 | proxy_configuration->GetProxyForUrl(nullptr, GURL("http://example.com")); |
Maciek Kumorek | 1d1e5c2 | 2020-07-25 22:49:39 | [diff] [blame] | 25 | EXPECT_FALSE(winhttp_proxy_info.has_value()); |
| 26 | } |
| 27 | |
Roger Tawa | c0a1b9c | 2021-09-23 23:34:04 | [diff] [blame] | 28 | TEST(WinHttpProxyConfiguration, NamedProxy) { |
Maciek Kumorek | 1d1e5c2 | 2020-07-25 22:49:39 | [diff] [blame] | 29 | auto proxy_configuration = base::MakeRefCounted<ProxyConfiguration>( |
| 30 | ProxyInfo(false, L"", L"http://192.168.0.1", L"")); |
| 31 | EXPECT_EQ(proxy_configuration->access_type(), |
| 32 | WINHTTP_ACCESS_TYPE_NAMED_PROXY); |
| 33 | } |
| 34 | |
Roger Tawa | c0a1b9c | 2021-09-23 23:34:04 | [diff] [blame] | 35 | TEST(WinHttpProxyConfiguration, WPADProxyGetProxyForUrl) { |
Maciek Kumorek | 1d1e5c2 | 2020-07-25 22:49:39 | [diff] [blame] | 36 | auto proxy_configuration = |
| 37 | base::MakeRefCounted<ProxyConfiguration>(ProxyInfo(true, L"", L"", L"")); |
| 38 | EXPECT_EQ(proxy_configuration->access_type(), |
| 39 | WINHTTP_ACCESS_TYPE_DEFAULT_PROXY); |
Anton Bikineev | 46bbb97 | 2021-05-15 17:53:53 | [diff] [blame] | 40 | absl::optional<ScopedWinHttpProxyInfo> winhttp_proxy_info = |
Peter Kasting | 850d486 | 2021-02-16 15:07:45 | [diff] [blame] | 41 | proxy_configuration->GetProxyForUrl(nullptr, GURL("http://example.com")); |
Maciek Kumorek | 1d1e5c2 | 2020-07-25 22:49:39 | [diff] [blame] | 42 | EXPECT_FALSE(winhttp_proxy_info.has_value()); |
| 43 | } |
| 44 | |
Roger Tawa | c0a1b9c | 2021-09-23 23:34:04 | [diff] [blame] | 45 | } // namespace winhttp |