17dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch// Copyright 2013 The Chromium Authors. All rights reserved.
27dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
37dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch// found in the LICENSE file.
47dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
57dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "chrome/browser/net/dns_probe_test_util.h"
67dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
77dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "chrome/browser/net/dns_probe_runner.h"
87dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "net/dns/dns_config_service.h"
97dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch#include "net/dns/dns_protocol.h"
107dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
117dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochusing net::DnsClient;
127dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochusing net::DnsConfig;
137dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochusing net::IPAddressNumber;
147dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochusing net::IPEndPoint;
157dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochusing net::MockDnsClientRule;
167dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochusing net::MockDnsClientRuleList;
177dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochusing net::ParseIPLiteralToNumber;
187dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
197dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochnamespace chrome_browser_net {
207dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
217dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochscoped_ptr<DnsClient> CreateMockDnsClientForProbes(
227dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch    MockDnsClientRule::Result result) {
237dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  DnsConfig config;
247dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  IPAddressNumber dns_ip;
257dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  ParseIPLiteralToNumber("192.168.1.1", &dns_ip);
267dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  const uint16 kDnsPort = net::dns_protocol::kDefaultPort;
277dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  config.nameservers.push_back(IPEndPoint(dns_ip, kDnsPort));
287dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
297dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  const uint16 kTypeA = net::dns_protocol::kTypeA;
307dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  MockDnsClientRuleList rules;
3158537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)  rules.push_back(MockDnsClientRule(DnsProbeRunner::kKnownGoodHostname, kTypeA,
3258537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)                                    result, false));
337dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
3458537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)  return scoped_ptr<DnsClient>(new net::MockDnsClient(config, rules));
357dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch}
367dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch
377dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch}  // namespace chrome_browser_net
38