1// Copyright 2013 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 5#include "chrome/browser/net/dns_probe_test_util.h" 6 7#include "chrome/browser/net/dns_probe_runner.h" 8#include "net/dns/dns_config_service.h" 9#include "net/dns/dns_protocol.h" 10 11using net::DnsClient; 12using net::DnsConfig; 13using net::IPAddressNumber; 14using net::IPEndPoint; 15using net::MockDnsClientRule; 16using net::MockDnsClientRuleList; 17using net::ParseIPLiteralToNumber; 18 19namespace chrome_browser_net { 20 21scoped_ptr<DnsClient> CreateMockDnsClientForProbes( 22 MockDnsClientRule::Result result) { 23 DnsConfig config; 24 IPAddressNumber dns_ip; 25 ParseIPLiteralToNumber("192.168.1.1", &dns_ip); 26 const uint16 kDnsPort = net::dns_protocol::kDefaultPort; 27 config.nameservers.push_back(IPEndPoint(dns_ip, kDnsPort)); 28 29 const uint16 kTypeA = net::dns_protocol::kTypeA; 30 MockDnsClientRuleList rules; 31 rules.push_back( 32 MockDnsClientRule(DnsProbeRunner::kKnownGoodHostname, kTypeA, result)); 33 34 return CreateMockDnsClient(config, rules).Pass(); 35} 36 37} // namespace chrome_browser_net 38