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