summaryrefslogtreecommitdiff
path: root/chromium/chrome/browser/net/dns_util_unittest.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-02-13 10:55:42 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-03-05 13:33:38 +0000
commit248b70b82a40964d5594eb04feca0fa36716185d (patch)
tree44e31d9dd0ac2cb79f48633eefbc5496e013c347 /chromium/chrome/browser/net/dns_util_unittest.cc
parentcabfcdd1db482729ded525feae56911a99792773 (diff)
downloadqtwebengine-chromium-248b70b82a40964d5594eb04feca0fa36716185d.tar.gz
BASELINE: Update Chromium to 79.0.3945.147
And new simplified snapshot filter Change-Id: I7c692bedd5b3833f05565bd6f6939115350b233a Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/chrome/browser/net/dns_util_unittest.cc')
-rw-r--r--chromium/chrome/browser/net/dns_util_unittest.cc49
1 files changed, 49 insertions, 0 deletions
diff --git a/chromium/chrome/browser/net/dns_util_unittest.cc b/chromium/chrome/browser/net/dns_util_unittest.cc
new file mode 100644
index 00000000000..ee112b15f03
--- /dev/null
+++ b/chromium/chrome/browser/net/dns_util_unittest.cc
@@ -0,0 +1,49 @@
+// Copyright 2019 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 "chrome/browser/net/dns_util.h"
+
+#include "testing/gtest/include/gtest/gtest.h"
+
+TEST(NetDnsUtilTest, IsValidDohTemplate) {
+ std::string server_method;
+ EXPECT_TRUE(chrome_browser_net::IsValidDohTemplate(
+ "https://dnsserver.example.net/dns-query{?dns}", &server_method));
+ EXPECT_EQ("GET", server_method);
+
+ EXPECT_TRUE(chrome_browser_net::IsValidDohTemplate(
+ "https://dnsserver.example.net/dns-query{?dns,extra}", &server_method));
+ EXPECT_EQ("GET", server_method);
+
+ EXPECT_TRUE(chrome_browser_net::IsValidDohTemplate(
+ "https://dnsserver.example.net/dns-query{?query}", &server_method));
+ EXPECT_EQ("POST", server_method);
+
+ EXPECT_TRUE(chrome_browser_net::IsValidDohTemplate(
+ "https://dnsserver.example.net/dns-query", &server_method));
+ EXPECT_EQ("POST", server_method);
+
+ EXPECT_TRUE(chrome_browser_net::IsValidDohTemplate(
+ "https://query:{dns}@dnsserver.example.net", &server_method));
+ EXPECT_EQ("GET", server_method);
+
+ EXPECT_TRUE(chrome_browser_net::IsValidDohTemplate(
+ "https://dnsserver.example.net{/dns}", &server_method));
+ EXPECT_EQ("GET", server_method);
+
+ // Invalid template format
+ EXPECT_FALSE(chrome_browser_net::IsValidDohTemplate(
+ "https://dnsserver.example.net/dns-query{{?dns}}", &server_method));
+ // Must be HTTPS
+ EXPECT_FALSE(chrome_browser_net::IsValidDohTemplate(
+ "http://dnsserver.example.net/dns-query", &server_method));
+ EXPECT_FALSE(chrome_browser_net::IsValidDohTemplate(
+ "http://dnsserver.example.net/dns-query{?dns}", &server_method));
+ // Template must expand to a valid URL
+ EXPECT_FALSE(
+ chrome_browser_net::IsValidDohTemplate("https://{?dns}", &server_method));
+ // The hostname must not contain the dns variable
+ EXPECT_FALSE(chrome_browser_net::IsValidDohTemplate(
+ "https://{dns}.dnsserver.net", &server_method));
+}