#include <cstdint>
#include <vector>
#include "base/big_endian.h"
#include "base/functional/bind.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/scoped_refptr.h"
#include "base/strings/strcat.h"
#include "base/strings/string_number_conversions.h"
#include "base/test/scoped_feature_list.h"
#include "net/base/features.h"
#include "net/base/network_change_notifier.h"
#include "net/base/privacy_mode.h"
#include "net/base/proxy_server.h"
#include "net/dns/context_host_resolver.h"
#include "net/dns/dns_client.h"
#include "net/dns/dns_config.h"
#include "net/dns/dns_query.h"
#include "net/dns/dns_test_util.h"
#include "net/dns/dns_transaction.h"
#include "net/dns/host_resolver.h"
#include "net/dns/host_resolver_manager.h"
#include "net/dns/host_resolver_proc.h"
#include "net/dns/public/dns_config_overrides.h"
#include "net/dns/public/dns_over_https_config.h"
#include "net/dns/public/secure_dns_mode.h"
#include "net/dns/public/secure_dns_policy.h"
#include "net/dns/public/util.h"
#include "net/http/http_stream_factory_test_util.h"
#include "net/log/net_log.h"
#include "net/socket/transport_client_socket_pool.h"
#include "net/ssl/ssl_config_service.h"
#include "net/ssl/test_ssl_config_service.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
#include "net/test/embedded_test_server/http_request.h"
#include "net/test/embedded_test_server/http_response.h"
#include "net/test/gtest_util.h"
#include "net/test/ssl_test_util.h"
#include "net/test/test_doh_server.h"
#include "net/test/test_with_task_environment.h"
#include "net/traffic_annotation/network_traffic_annotation_test_helper.h"
#include "net/url_request/url_request.h"
#include "net/url_request/url_request_context.h"
#include "net/url_request/url_request_context_builder.h"
#include "net/url_request/url_request_test_util.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "testing/platform_test.h"
#include "third_party/boringssl/src/include/openssl/ssl.h"
#include "url/scheme_host_port.h"
#include "url/url_constants.h"
namespace net {
namespace {
IsError;
IsOk;
const char kDohHostname[] = …;
const char kHostname[] = …;
const char kTestBody[] = …;
class TestHostResolverProc : public HostResolverProc { … };
class DohProber : public NetworkChangeNotifier::DNSObserver { … };
class DnsOverHttpsIntegrationTest : public TestWithTaskEnvironment { … };
class HttpsWithDnsOverHttpsTest : public DnsOverHttpsIntegrationTest { … };
class TestHttpDelegate : public HttpStreamRequest::Delegate { … };
TEST_F(HttpsWithDnsOverHttpsTest, EndToEnd) { … }
TEST_F(HttpsWithDnsOverHttpsTest, EndToEndFail) { … }
TEST_F(HttpsWithDnsOverHttpsTest, HttpsUpgrade) { … }
TEST_F(HttpsWithDnsOverHttpsTest, HttpsMetadata) { … }
TEST_F(DnsOverHttpsIntegrationTest, EncryptedClientHello) { … }
TEST_F(DnsOverHttpsIntegrationTest, EncryptedClientHelloStaleKey) { … }
TEST_F(DnsOverHttpsIntegrationTest, EncryptedClientHelloFallback) { … }
TEST_F(DnsOverHttpsIntegrationTest, EncryptedClientHelloFallbackTLS12) { … }
}
}