From 11a3365da74a6f0feba37df415ea01f2f5bbac03 Mon Sep 17 00:00:00 2001 From: Jocelyn Liu Date: Mon, 1 Mar 2021 17:01:53 -0800 Subject: [PATCH] Update test --- ...unstoppable_domains_service_browsertest.cc | 42 ++++++++++++++----- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/browser/unstoppable_domains/test/unstoppable_domains_service_browsertest.cc b/browser/unstoppable_domains/test/unstoppable_domains_service_browsertest.cc index bd12a1b65831..a151313bc71f 100644 --- a/browser/unstoppable_domains/test/unstoppable_domains_service_browsertest.cc +++ b/browser/unstoppable_domains/test/unstoppable_domains_service_browsertest.cc @@ -38,9 +38,10 @@ class UnstoppableDomainsServiceBrowserTest : public InProcessBrowserTest { PrefService* local_state() { return g_browser_process->local_state(); } - SecureDnsConfig GetSecureDnsConfiguration() { + SecureDnsConfig GetSecureDnsConfiguration( + bool force_check_parental_controls_for_automatic_mode = false) { return stub_config_reader_->GetSecureDnsConfiguration( - false /*force_check_parental_controls_for_automatic_mode */); + force_check_parental_controls_for_automatic_mode); } private: @@ -57,18 +58,13 @@ IN_PROC_BROWSER_TEST_F(UnstoppableDomainsServiceBrowserTest, EXPECT_EQ(config.mode(), net::SecureDnsMode::kAutomatic); EXPECT_EQ(config.servers().size(), 0u); - // Set resolve method to DoH should update the config. + // Set custom DoH provider should still keep the resolver for UD. local_state()->SetInteger( kResolveMethod, static_cast(ResolveMethodTypes::DNS_OVER_HTTPS)); - config = GetSecureDnsConfiguration(); - std::vector expected_doh_servers = { - {kDoHResolver, true}}; - EXPECT_EQ(config.servers(), expected_doh_servers); - - // Set custom DoH provider should still keep the resolver for UD. local_state()->SetString(prefs::kDnsOverHttpsTemplates, "https://test.com"); config = GetSecureDnsConfiguration(); - expected_doh_servers = {{kDoHResolver, true}, {"https://test.com", true}}; + std::vector expected_doh_servers = { + {kDoHResolver, true}, {"https://test.com", true}}; EXPECT_EQ(config.servers(), expected_doh_servers); // Set secure mode to off should return empty DoH servers. @@ -93,4 +89,30 @@ IN_PROC_BROWSER_TEST_F(UnstoppableDomainsServiceBrowserTest, EXPECT_EQ(config.servers(), expected_doh_servers); } +IN_PROC_BROWSER_TEST_F(UnstoppableDomainsServiceBrowserTest, + HideUnstoppableDomainsResolvers) { + // Initial state. + EXPECT_EQ(local_state()->GetInteger(kResolveMethod), + static_cast(ResolveMethodTypes::ASK)); + SecureDnsConfig config = GetSecureDnsConfiguration(); + EXPECT_EQ(config.mode(), net::SecureDnsMode::kAutomatic); + EXPECT_EQ(config.servers().size(), 0u); + + // Set custom DoH provider should still keep the resolver for UD. + local_state()->SetInteger( + kResolveMethod, static_cast(ResolveMethodTypes::DNS_OVER_HTTPS)); + local_state()->SetString(prefs::kDnsOverHttpsTemplates, "https://test.com"); + config = GetSecureDnsConfiguration(); + std::vector expected_doh_servers = { + {kDoHResolver, true}, {"https://test.com", true}}; + EXPECT_EQ(config.servers(), expected_doh_servers); + + // Should hide unstoppable domains resolver if + // force_check_parental_controls_for_automatic_mode is true, used for hiding + // the special resolver in settings. + config = GetSecureDnsConfiguration(true); + expected_doh_servers = {{"https://test.com", true}}; + EXPECT_EQ(config.servers(), expected_doh_servers); +} + } // namespace unstoppable_domains