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