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

Side by Side Diff: components/domain_reliability/monitor_unittest.cc

Issue 404363003: Domain Reliability: Add wildcard domain support. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix tests, finally Created 6 years, 4 months 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 | « components/domain_reliability/monitor.cc ('k') | components/domain_reliability/test_util.h » ('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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include "components/domain_reliability/monitor.h" 5 #include "components/domain_reliability/monitor.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 80
81 size_t CountPendingBeacons() { 81 size_t CountPendingBeacons() {
82 BeaconVector beacons; 82 BeaconVector beacons;
83 context_->GetQueuedBeaconsForTesting(&beacons); 83 context_->GetQueuedBeaconsForTesting(&beacons);
84 return beacons.size(); 84 return beacons.size();
85 } 85 }
86 86
87 bool CheckRequestCounts(size_t index, 87 bool CheckRequestCounts(size_t index,
88 uint32 expected_successful, 88 uint32 expected_successful,
89 uint32 expected_failed) { 89 uint32 expected_failed) {
90 return CheckRequestCounts(context_,
91 index,
92 expected_successful,
93 expected_failed);
94 }
95
96 bool CheckRequestCounts(DomainReliabilityContext* context,
97 size_t index,
98 uint32 expected_successful,
99 uint32 expected_failed) {
90 uint32 successful, failed; 100 uint32 successful, failed;
91 context_->GetRequestCountsForTesting(index, &successful, &failed); 101 context->GetRequestCountsForTesting(index, &successful, &failed);
92 EXPECT_EQ(expected_successful, successful); 102 EXPECT_EQ(expected_successful, successful);
93 EXPECT_EQ(expected_failed, failed); 103 EXPECT_EQ(expected_failed, failed);
94 return expected_successful == successful && expected_failed == failed; 104 return expected_successful == successful && expected_failed == failed;
95 } 105 }
96 106
107 DomainReliabilityContext* CreateAndAddContext(const std::string& domain) {
108 return monitor_.AddContextForTesting(MakeTestConfigWithDomain(domain));
109 }
110
97 scoped_refptr<base::TestSimpleTaskRunner> network_task_runner_; 111 scoped_refptr<base::TestSimpleTaskRunner> network_task_runner_;
98 scoped_refptr<net::URLRequestContextGetter> url_request_context_getter_; 112 scoped_refptr<net::URLRequestContextGetter> url_request_context_getter_;
99 MockTime* time_; 113 MockTime* time_;
100 DomainReliabilityMonitor monitor_; 114 DomainReliabilityMonitor monitor_;
101 DomainReliabilityContext* context_; 115 DomainReliabilityContext* context_;
102 DomainReliabilityMonitor::RequestInfo request_; 116 DomainReliabilityMonitor::RequestInfo request_;
103 }; 117 };
104 118
105 namespace { 119 namespace {
106 120
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
294 OnRequestLegComplete(request); 308 OnRequestLegComplete(request);
295 309
296 BeaconVector beacons; 310 BeaconVector beacons;
297 context_->GetQueuedBeaconsForTesting(&beacons); 311 context_->GetQueuedBeaconsForTesting(&beacons);
298 EXPECT_EQ(1u, beacons.size()); 312 EXPECT_EQ(1u, beacons.size());
299 EXPECT_EQ(net::OK, beacons[0].chrome_error); 313 EXPECT_EQ(net::OK, beacons[0].chrome_error);
300 314
301 EXPECT_TRUE(CheckRequestCounts(kAlwaysReportIndex, 1u, 0u)); 315 EXPECT_TRUE(CheckRequestCounts(kAlwaysReportIndex, 1u, 0u));
302 } 316 }
303 317
318 TEST_F(DomainReliabilityMonitorTest, WildcardMatchesSelf) {
319 DomainReliabilityContext* context = CreateAndAddContext("*.wildcard");
320
321 RequestInfo request = MakeRequestInfo();
322 request.url = GURL("http://wildcard/always_report");
323 OnRequestLegComplete(request);
324 EXPECT_TRUE(CheckRequestCounts(context, kAlwaysReportIndex, 1u, 0u));
325 }
326
327 TEST_F(DomainReliabilityMonitorTest, WildcardMatchesSubdomain) {
328 DomainReliabilityContext* context = CreateAndAddContext("*.wildcard");
329
330 RequestInfo request = MakeRequestInfo();
331 request.url = GURL("http://test.wildcard/always_report");
332 OnRequestLegComplete(request);
333 EXPECT_TRUE(CheckRequestCounts(context, kAlwaysReportIndex, 1u, 0u));
334 }
335
336 TEST_F(DomainReliabilityMonitorTest, WildcardDoesntMatchSubsubdomain) {
337 DomainReliabilityContext* context = CreateAndAddContext("*.wildcard");
338
339 RequestInfo request = MakeRequestInfo();
340 request.url = GURL("http://test.test.wildcard/always_report");
341 OnRequestLegComplete(request);
342 EXPECT_TRUE(CheckRequestCounts(context, kAlwaysReportIndex, 0u, 0u));
343 }
344
345 TEST_F(DomainReliabilityMonitorTest, WildcardPrefersSelfToSelfWildcard) {
346 DomainReliabilityContext* context1 = CreateAndAddContext("wildcard");
347 DomainReliabilityContext* context2 = CreateAndAddContext("*.wildcard");
348
349 RequestInfo request = MakeRequestInfo();
350 request.url = GURL("http://wildcard/always_report");
351 OnRequestLegComplete(request);
352
353 EXPECT_TRUE(CheckRequestCounts(context1, kAlwaysReportIndex, 1u, 0u));
354 EXPECT_TRUE(CheckRequestCounts(context2, kAlwaysReportIndex, 0u, 0u));
355 }
356
357 TEST_F(DomainReliabilityMonitorTest, WildcardPrefersSelfToParentWildcard) {
358 DomainReliabilityContext* context1 = CreateAndAddContext("test.wildcard");
359 DomainReliabilityContext* context2 = CreateAndAddContext("*.wildcard");
360
361 RequestInfo request = MakeRequestInfo();
362 request.url = GURL("http://test.wildcard/always_report");
363 OnRequestLegComplete(request);
364
365 EXPECT_TRUE(CheckRequestCounts(context1, kAlwaysReportIndex, 1u, 0u));
366 EXPECT_TRUE(CheckRequestCounts(context2, kAlwaysReportIndex, 0u, 0u));
367 }
368
369 TEST_F(DomainReliabilityMonitorTest,
370 WildcardPrefersSelfWildcardToParentWildcard) {
371 DomainReliabilityContext* context1 = CreateAndAddContext("*.test.wildcard");
372 DomainReliabilityContext* context2 = CreateAndAddContext("*.wildcard");
373
374 RequestInfo request = MakeRequestInfo();
375 request.url = GURL("http://test.wildcard/always_report");
376 OnRequestLegComplete(request);
377
378 EXPECT_TRUE(CheckRequestCounts(context1, kAlwaysReportIndex, 1u, 0u));
379 EXPECT_TRUE(CheckRequestCounts(context2, kAlwaysReportIndex, 0u, 0u));
380 }
381
304 } // namespace 382 } // namespace
305 383
306 } // namespace domain_reliability 384 } // namespace domain_reliability
OLDNEW
« no previous file with comments | « components/domain_reliability/monitor.cc ('k') | components/domain_reliability/test_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698