Chromium Code Reviews| OLD | NEW |
|---|---|
| 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/context.h" | 5 #include "components/domain_reliability/context.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 207 context_.GetQueuedBeaconsForTesting(&beacons); | 207 context_.GetQueuedBeaconsForTesting(&beacons); |
| 208 EXPECT_EQ(1u, beacons.size()); | 208 EXPECT_EQ(1u, beacons.size()); |
| 209 | 209 |
| 210 // N.B.: Assumes max_delay is 5 minutes. | 210 // N.B.: Assumes max_delay is 5 minutes. |
| 211 const char* kExpectedReport = "{" | 211 const char* kExpectedReport = "{" |
| 212 "\"entries\":[" | 212 "\"entries\":[" |
| 213 "{\"failure_data\":{\"custom_error\":\"net::ERR_CONNECTION_RESET\"}," | 213 "{\"failure_data\":{\"custom_error\":\"net::ERR_CONNECTION_RESET\"}," |
| 214 "\"network_changed\":false,\"protocol\":\"HTTP\"," | 214 "\"network_changed\":false,\"protocol\":\"HTTP\"," |
| 215 "\"request_age_ms\":300250,\"request_elapsed_ms\":250," | 215 "\"request_age_ms\":300250,\"request_elapsed_ms\":250," |
| 216 "\"server_ip\":\"127.0.0.1\",\"status\":\"tcp.connection_reset\"," | 216 "\"server_ip\":\"127.0.0.1\",\"status\":\"tcp.connection_reset\"," |
| 217 "\"url\":\"https://localhost/\",\"was_proxied\":false}]," | 217 "\"url\":\"https://localhost/\",\"was_proxied\":false,\"weight\":1}]," |
|
jkarlin
2015/12/07 14:57:27
A weight of 1 isn't testing that division is happe
Deprecated (see juliatuttle)
2015/12/07 20:17:57
Acknowledged.
| |
| 218 "\"reporter\":\"test-reporter\"}"; | 218 "\"reporter\":\"test-reporter\"}"; |
| 219 | 219 |
| 220 time_.Advance(max_delay()); | 220 time_.Advance(max_delay()); |
| 221 EXPECT_TRUE(upload_pending()); | 221 EXPECT_TRUE(upload_pending()); |
| 222 EXPECT_EQ(kExpectedReport, upload_report()); | 222 EXPECT_EQ(kExpectedReport, upload_report()); |
| 223 EXPECT_EQ(0, upload_max_depth()); | 223 EXPECT_EQ(0, upload_max_depth()); |
| 224 EXPECT_EQ(GURL("https://exampleuploader/upload"), upload_url()); | 224 EXPECT_EQ(GURL("https://exampleuploader/upload"), upload_url()); |
| 225 | 225 |
| 226 DomainReliabilityUploader::UploadResult result; | 226 DomainReliabilityUploader::UploadResult result; |
| 227 result.status = DomainReliabilityUploader::UploadResult::SUCCESS; | 227 result.status = DomainReliabilityUploader::UploadResult::SUCCESS; |
| 228 CallUploadCallback(result); | 228 CallUploadCallback(result); |
| 229 | 229 |
| 230 EXPECT_TRUE(CheckNoBeacons()); | 230 EXPECT_TRUE(CheckNoBeacons()); |
| 231 } | 231 } |
| 232 | 232 |
| 233 TEST_F(DomainReliabilityContextTest, Upload_NetworkChanged) { | 233 TEST_F(DomainReliabilityContextTest, Upload_NetworkChanged) { |
| 234 context_.OnBeacon(MakeBeacon(&time_)); | 234 context_.OnBeacon(MakeBeacon(&time_)); |
| 235 | 235 |
| 236 BeaconVector beacons; | 236 BeaconVector beacons; |
| 237 context_.GetQueuedBeaconsForTesting(&beacons); | 237 context_.GetQueuedBeaconsForTesting(&beacons); |
| 238 EXPECT_EQ(1u, beacons.size()); | 238 EXPECT_EQ(1u, beacons.size()); |
| 239 | 239 |
| 240 // N.B.: Assumes max_delay is 5 minutes. | 240 // N.B.: Assumes max_delay is 5 minutes. |
| 241 const char* kExpectedReport = "{" | 241 const char* kExpectedReport = "{" |
| 242 "\"entries\":[" | 242 "\"entries\":[" |
| 243 "{\"failure_data\":{\"custom_error\":\"net::ERR_CONNECTION_RESET\"}," | 243 "{\"failure_data\":{\"custom_error\":\"net::ERR_CONNECTION_RESET\"}," |
| 244 "\"network_changed\":true,\"protocol\":\"HTTP\"," | 244 "\"network_changed\":true,\"protocol\":\"HTTP\"," |
| 245 "\"request_age_ms\":300250,\"request_elapsed_ms\":250," | 245 "\"request_age_ms\":300250,\"request_elapsed_ms\":250," |
| 246 "\"server_ip\":\"127.0.0.1\",\"status\":\"tcp.connection_reset\"," | 246 "\"server_ip\":\"127.0.0.1\",\"status\":\"tcp.connection_reset\"," |
| 247 "\"url\":\"https://localhost/\",\"was_proxied\":false}]," | 247 "\"url\":\"https://localhost/\",\"was_proxied\":false,\"weight\":1}]," |
| 248 "\"reporter\":\"test-reporter\"}"; | 248 "\"reporter\":\"test-reporter\"}"; |
| 249 | 249 |
| 250 // Simulate a network change after the request but before the upload. | 250 // Simulate a network change after the request but before the upload. |
| 251 last_network_change_time_ = time_.NowTicks(); | 251 last_network_change_time_ = time_.NowTicks(); |
| 252 time_.Advance(max_delay()); | 252 time_.Advance(max_delay()); |
| 253 EXPECT_TRUE(upload_pending()); | 253 EXPECT_TRUE(upload_pending()); |
| 254 EXPECT_EQ(kExpectedReport, upload_report()); | 254 EXPECT_EQ(kExpectedReport, upload_report()); |
| 255 EXPECT_EQ(0, upload_max_depth()); | 255 EXPECT_EQ(0, upload_max_depth()); |
| 256 EXPECT_EQ(GURL("https://exampleuploader/upload"), upload_url()); | 256 EXPECT_EQ(GURL("https://exampleuploader/upload"), upload_url()); |
| 257 | 257 |
| 258 DomainReliabilityUploader::UploadResult result; | 258 DomainReliabilityUploader::UploadResult result; |
| 259 result.status = DomainReliabilityUploader::UploadResult::SUCCESS; | 259 result.status = DomainReliabilityUploader::UploadResult::SUCCESS; |
| 260 CallUploadCallback(result); | 260 CallUploadCallback(result); |
| 261 | 261 |
| 262 EXPECT_TRUE(CheckNoBeacons()); | 262 EXPECT_TRUE(CheckNoBeacons()); |
| 263 } | 263 } |
| 264 | 264 |
| 265 // TODO(ttuttle): Add beacon_unittest.cc to test serialization. | 265 // TODO(ttuttle): Add beacon_unittest.cc to test serialization. |
| 266 | 266 |
| 267 } // namespace | 267 } // namespace |
| 268 } // namespace domain_reliability | 268 } // namespace domain_reliability |
| OLD | NEW |