blob: 6d5885fccff5ac5d158fdc609983c2211ae1c74d [file] [log] [blame]
Maciek Kumorek1d1e5c22020-07-25 22:49:391// 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 Tawac0a1b9c2021-09-23 23:34:045#include "components/winhttp/proxy_configuration.h"
Maciek Kumorek1d1e5c22020-07-25 22:49:396
7#include "base/memory/scoped_refptr.h"
Maciek Kumorek1d1e5c22020-07-25 22:49:398#include "testing/gtest/include/gtest/gtest.h"
9#include "url/gurl.h"
10
Roger Tawac0a1b9c2021-09-23 23:34:0411namespace winhttp {
Maciek Kumorek1d1e5c22020-07-25 22:49:3912
Roger Tawac0a1b9c2021-09-23 23:34:0413TEST(WinHttpProxyConfiguration, DirectProxy) {
Maciek Kumorek1d1e5c22020-07-25 22:49:3914 auto proxy_configuration = base::MakeRefCounted<ProxyConfiguration>();
15 EXPECT_EQ(proxy_configuration->access_type(),
16 WINHTTP_ACCESS_TYPE_DEFAULT_PROXY);
17}
18
Roger Tawac0a1b9c2021-09-23 23:34:0419TEST(WinHttpProxyConfiguration, AutoProxy) {
Maciek Kumorek1d1e5c22020-07-25 22:49:3920 auto proxy_configuration = base::MakeRefCounted<AutoProxyConfiguration>();
21 EXPECT_EQ(proxy_configuration->access_type(),
22 WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY);
Anton Bikineev46bbb972021-05-15 17:53:5323 absl::optional<ScopedWinHttpProxyInfo> winhttp_proxy_info =
Peter Kasting850d4862021-02-16 15:07:4524 proxy_configuration->GetProxyForUrl(nullptr, GURL("http://example.com"));
Maciek Kumorek1d1e5c22020-07-25 22:49:3925 EXPECT_FALSE(winhttp_proxy_info.has_value());
26}
27
Roger Tawac0a1b9c2021-09-23 23:34:0428TEST(WinHttpProxyConfiguration, NamedProxy) {
Maciek Kumorek1d1e5c22020-07-25 22:49:3929 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 Tawac0a1b9c2021-09-23 23:34:0435TEST(WinHttpProxyConfiguration, WPADProxyGetProxyForUrl) {
Maciek Kumorek1d1e5c22020-07-25 22:49:3936 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 Bikineev46bbb972021-05-15 17:53:5340 absl::optional<ScopedWinHttpProxyInfo> winhttp_proxy_info =
Peter Kasting850d4862021-02-16 15:07:4541 proxy_configuration->GetProxyForUrl(nullptr, GURL("http://example.com"));
Maciek Kumorek1d1e5c22020-07-25 22:49:3942 EXPECT_FALSE(winhttp_proxy_info.has_value());
43}
44
Roger Tawac0a1b9c2021-09-23 23:34:0445} // namespace winhttp