• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
11 using net::DnsClient;
12 using net::DnsConfig;
13 using net::IPAddressNumber;
14 using net::IPEndPoint;
15 using net::MockDnsClientRule;
16 using net::MockDnsClientRuleList;
17 using net::ParseIPLiteralToNumber;
18 
19 namespace chrome_browser_net {
20 
CreateMockDnsClientForProbes(MockDnsClientRule::Result result)21 scoped_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(MockDnsClientRule(DnsProbeRunner::kKnownGoodHostname, kTypeA,
32                                     result, false));
33 
34   return scoped_ptr<DnsClient>(new net::MockDnsClient(config, rules));
35 }
36 
37 }  // namespace chrome_browser_net
38