// Copyright 2020 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "components/winhttp/proxy_configuration.h" #include "base/memory/scoped_refptr.h" #include "testing/gtest/include/gtest/gtest.h" #include "url/gurl.h" namespace winhttp { TEST(WinHttpProxyConfiguration, DirectProxy) { auto proxy_configuration = base::MakeRefCounted(); EXPECT_EQ(proxy_configuration->access_type(), WINHTTP_ACCESS_TYPE_DEFAULT_PROXY); } TEST(WinHttpProxyConfiguration, AutoProxy) { auto proxy_configuration = base::MakeRefCounted(); EXPECT_EQ(proxy_configuration->access_type(), WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY); absl::optional winhttp_proxy_info = proxy_configuration->GetProxyForUrl(nullptr, GURL("http://example.com")); EXPECT_FALSE(winhttp_proxy_info.has_value()); } TEST(WinHttpProxyConfiguration, NamedProxy) { auto proxy_configuration = base::MakeRefCounted( ProxyInfo(false, L"", L"http://192.168.0.1", L"")); EXPECT_EQ(proxy_configuration->access_type(), WINHTTP_ACCESS_TYPE_NAMED_PROXY); } TEST(WinHttpProxyConfiguration, WPADProxyGetProxyForUrl) { auto proxy_configuration = base::MakeRefCounted(ProxyInfo(true, L"", L"", L"")); EXPECT_EQ(proxy_configuration->access_type(), WINHTTP_ACCESS_TYPE_DEFAULT_PROXY); absl::optional winhttp_proxy_info = proxy_configuration->GetProxyForUrl(nullptr, GURL("http://example.com")); EXPECT_FALSE(winhttp_proxy_info.has_value()); } } // namespace winhttp