Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(148)

Side by Side Diff: net/dns/dns_test_util.h

Issue 8835011: Revert 113282 - Isolates generic DnsClient from AsyncHostResolver. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/dns/dns_session.cc ('k') | net/dns/dns_test_util.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef NET_DNS_DNS_TEST_UTIL_H_ 5 #ifndef NET_DNS_DNS_TEST_UTIL_H_
6 #define NET_DNS_DNS_TEST_UTIL_H_ 6 #define NET_DNS_DNS_TEST_UTIL_H_
7 #pragma once 7 #pragma once
8 8
9 #include <deque> 9 #include <deque>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/logging.h" 12 #include "base/logging.h"
13 #include "net/base/dns_util.h" 13 #include "net/base/dns_util.h"
14 #include "net/base/host_resolver.h" 14 #include "net/base/host_resolver.h"
15 #include "net/base/ip_endpoint.h" 15 #include "net/base/ip_endpoint.h"
16 #include "net/base/net_util.h" 16 #include "net/base/net_util.h"
17 #include "net/dns/dns_protocol.h"
18 17
19 namespace net { 18 namespace net {
20 19
20 // DNS related classes make use of PRNG for various tasks. This class is
21 // used as a PRNG for unit testing those tasks. It takes a deque of
22 // integers |numbers| which should be returned by calls to GetNext.
23 class TestPrng {
24 public:
25 explicit TestPrng(const std::deque<int>& numbers);
26 ~TestPrng();
27
28 // Pops and returns the next number from |numbers_| deque.
29 int GetNext(int min, int max);
30
31 private:
32 std::deque<int> numbers_;
33
34 DISALLOW_COPY_AND_ASSIGN(TestPrng);
35 };
36
21 // A utility function for tests that given an array of IP literals, 37 // A utility function for tests that given an array of IP literals,
22 // converts it to an IPAddressList. 38 // converts it to an IPAddressList.
23 bool ConvertStringsToIPAddressList( 39 bool ConvertStringsToIPAddressList(
24 const char* const ip_strings[], size_t size, IPAddressList* address_list); 40 const char* const ip_strings[], size_t size, IPAddressList* address_list);
25 41
26 // A utility function for tests that creates an IPEndPoint whose IP is 42 // A utility function for tests that creates an IPEndPoint whose IP is
27 // |ip_string| and whose port is |port| and stores it in |endpoint|. 43 // |ip_string| and whose port is |port| and stores it in |endpoint|.
28 bool CreateDnsAddress(const char* ip_string, uint16 port, IPEndPoint* endpoint); 44 bool CreateDnsAddress(const char* ip_string, uint16 port, IPEndPoint* endpoint);
29 45
30 static const char kDnsIp[] = "192.168.1.1"; 46 static const char kDnsIp[] = "192.168.1.1";
31 static const uint16 kDnsPort = 53; 47 static const uint16 kDnsPort = 53;
32 48
33 //----------------------------------------------------------------------------- 49 //-----------------------------------------------------------------------------
34 // Query/response set for www.google.com, ID is fixed to 0. 50 // Query/response set for www.google.com, ID is fixed to 0.
35 static const char kT0HostName[] = "www.google.com"; 51 static const char kT0HostName[] = "www.google.com";
36 static const uint16 kT0Qtype = dns_protocol::kTypeA; 52 static const uint16 kT0Qtype = kDNS_A;
37 static const char kT0DnsName[] = { 53 static const char kT0DnsName[] = {
38 0x03, 'w', 'w', 'w', 54 0x03, 'w', 'w', 'w',
39 0x06, 'g', 'o', 'o', 'g', 'l', 'e', 55 0x06, 'g', 'o', 'o', 'g', 'l', 'e',
40 0x03, 'c', 'o', 'm', 56 0x03, 'c', 'o', 'm',
41 0x00 57 0x00
42 }; 58 };
43 static const uint8 kT0QueryDatagram[] = { 59 static const uint8 kT0QueryDatagram[] = {
44 // query for www.google.com, type A. 60 // query for www.google.com, type A.
45 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 61 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00,
46 0x00, 0x00, 0x00, 0x00, 0x03, 0x77, 0x77, 0x77, 62 0x00, 0x00, 0x00, 0x00, 0x03, 0x77, 0x77, 0x77,
(...skipping 22 matching lines...) Expand all
69 0x4a, 0x7d, 0xe2, 0xb2 85 0x4a, 0x7d, 0xe2, 0xb2
70 }; 86 };
71 static const char* const kT0IpAddresses[] = { 87 static const char* const kT0IpAddresses[] = {
72 "74.125.226.179", "74.125.226.180", "74.125.226.176", 88 "74.125.226.179", "74.125.226.180", "74.125.226.176",
73 "74.125.226.177", "74.125.226.178" 89 "74.125.226.177", "74.125.226.178"
74 }; 90 };
75 91
76 //----------------------------------------------------------------------------- 92 //-----------------------------------------------------------------------------
77 // Query/response set for codereview.chromium.org, ID is fixed to 1. 93 // Query/response set for codereview.chromium.org, ID is fixed to 1.
78 static const char kT1HostName[] = "codereview.chromium.org"; 94 static const char kT1HostName[] = "codereview.chromium.org";
79 static const uint16 kT1Qtype = dns_protocol::kTypeA; 95 static const uint16 kT1Qtype = kDNS_A;
80 static const char kT1DnsName[] = { 96 static const char kT1DnsName[] = {
81 0x0a, 'c', 'o', 'd', 'e', 'r', 'e', 'v', 'i', 'e', 'w', 97 0x12, 'c', 'o', 'd', 'e', 'r', 'e', 'v', 'i', 'e', 'w',
82 0x08, 'c', 'h', 'r', 'o', 'm', 'i', 'u', 'm', 98 0x10, 'c', 'h', 'r', 'o', 'm', 'i', 'u', 'm',
83 0x03, 'o', 'r', 'g', 99 0x03, 'o', 'r', 'g',
84 0x00 100 0x00
85 }; 101 };
86 static const uint8 kT1QueryDatagram[] = { 102 static const uint8 kT1QueryDatagram[] = {
87 // query for codereview.chromium.org, type A. 103 // query for codereview.chromium.org, type A.
88 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 104 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00,
89 0x00, 0x00, 0x00, 0x00, 0x0a, 0x63, 0x6f, 0x64, 105 0x00, 0x00, 0x00, 0x00, 0x0a, 0x63, 0x6f, 0x64,
90 0x65, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x08, 106 0x65, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x08,
91 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 107 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d,
92 0x03, 0x6f, 0x72, 0x67, 0x00, 0x00, 0x01, 0x00, 108 0x03, 0x6f, 0x72, 0x67, 0x00, 0x00, 0x01, 0x00,
(...skipping 14 matching lines...) Expand all
107 0x35, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 123 0x35, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01,
108 0x0b, 0x00, 0x04, 0x40, 0xe9, 0xa9, 0x79 124 0x0b, 0x00, 0x04, 0x40, 0xe9, 0xa9, 0x79
109 }; 125 };
110 static const char* const kT1IpAddresses[] = { 126 static const char* const kT1IpAddresses[] = {
111 "64.233.169.121" 127 "64.233.169.121"
112 }; 128 };
113 129
114 //----------------------------------------------------------------------------- 130 //-----------------------------------------------------------------------------
115 // Query/response set for www.ccs.neu.edu, ID is fixed to 2. 131 // Query/response set for www.ccs.neu.edu, ID is fixed to 2.
116 static const char kT2HostName[] = "www.ccs.neu.edu"; 132 static const char kT2HostName[] = "www.ccs.neu.edu";
117 static const uint16 kT2Qtype = dns_protocol::kTypeA; 133 static const uint16 kT2Qtype = kDNS_A;
118 static const char kT2DnsName[] = { 134 static const char kT2DnsName[] = {
119 0x03, 'w', 'w', 'w', 135 0x03, 'w', 'w', 'w',
120 0x03, 'c', 'c', 's', 136 0x03, 'c', 'c', 'c',
121 0x03, 'n', 'e', 'u', 137 0x03, 'n', 'e', 'u',
122 0x03, 'e', 'd', 'u', 138 0x03, 'e', 'd', 'u',
123 0x00 139 0x00
124 }; 140 };
125 static const uint8 kT2QueryDatagram[] = { 141 static const uint8 kT2QueryDatagram[] = {
126 // query for www.ccs.neu.edu, type A. 142 // query for www.ccs.neu.edu, type A.
127 0x00, 0x02, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 143 0x00, 0x02, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00,
128 0x00, 0x00, 0x00, 0x00, 0x03, 0x77, 0x77, 0x77, 144 0x00, 0x00, 0x00, 0x00, 0x03, 0x77, 0x77, 0x77,
129 0x03, 0x63, 0x63, 0x73, 0x03, 0x6e, 0x65, 0x75, 145 0x03, 0x63, 0x63, 0x73, 0x03, 0x6e, 0x65, 0x75,
130 0x03, 0x65, 0x64, 0x75, 0x00, 0x00, 0x01, 0x00, 146 0x03, 0x65, 0x64, 0x75, 0x00, 0x00, 0x01, 0x00,
(...skipping 12 matching lines...) Expand all
143 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x2c, 159 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x2c,
144 0x00, 0x04, 0x81, 0x0a, 0x74, 0x51 160 0x00, 0x04, 0x81, 0x0a, 0x74, 0x51
145 }; 161 };
146 static const char* const kT2IpAddresses[] = { 162 static const char* const kT2IpAddresses[] = {
147 "129.10.116.81" 163 "129.10.116.81"
148 }; 164 };
149 165
150 //----------------------------------------------------------------------------- 166 //-----------------------------------------------------------------------------
151 // Query/response set for www.google.az, ID is fixed to 3. 167 // Query/response set for www.google.az, ID is fixed to 3.
152 static const char kT3HostName[] = "www.google.az"; 168 static const char kT3HostName[] = "www.google.az";
153 static const uint16 kT3Qtype = dns_protocol::kTypeA; 169 static const uint16 kT3Qtype = kDNS_A;
154 static const char kT3DnsName[] = { 170 static const char kT3DnsName[] = {
155 0x03, 'w', 'w', 'w', 171 0x03, 'w', 'w', 'w',
156 0x06, 'g', 'o', 'o', 'g', 'l', 'e', 172 0x06, 'g', 'o', 'o', 'g', 'l', 'e',
157 0x02, 'a', 'z', 173 0x02, 'a', 'z',
158 0x00 174 0x00
159 }; 175 };
160 static const uint8 kT3QueryDatagram[] = { 176 static const uint8 kT3QueryDatagram[] = {
161 // query for www.google.az, type A. 177 // query for www.google.az, type A.
162 0x00, 0x03, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 178 0x00, 0x03, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00,
163 0x00, 0x00, 0x00, 0x00, 0x03, 0x77, 0x77, 0x77, 179 0x00, 0x00, 0x00, 0x00, 0x03, 0x77, 0x77, 0x77,
(...skipping 26 matching lines...) Expand all
190 0x15, 0x00, 0x04, 0x4a, 0x7d, 0xe2, 0xb1 206 0x15, 0x00, 0x04, 0x4a, 0x7d, 0xe2, 0xb1
191 }; 207 };
192 static const char* const kT3IpAddresses[] = { 208 static const char* const kT3IpAddresses[] = {
193 "74.125.226.178", "74.125.226.179", "74.125.226.180", 209 "74.125.226.178", "74.125.226.179", "74.125.226.180",
194 "74.125.226.176", "74.125.226.177" 210 "74.125.226.176", "74.125.226.177"
195 }; 211 };
196 212
197 } // namespace net 213 } // namespace net
198 214
199 #endif // NET_DNS_DNS_TEST_UTIL_H_ 215 #endif // NET_DNS_DNS_TEST_UTIL_H_
OLDNEW
« no previous file with comments | « net/dns/dns_session.cc ('k') | net/dns/dns_test_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698