| Index: chrome/browser/chromeos/net/network_portal_detector_impl_unittest.cc
|
| diff --git a/chrome/browser/chromeos/net/network_portal_detector_impl_unittest.cc b/chrome/browser/chromeos/net/network_portal_detector_impl_unittest.cc
|
| index 2bf11a33352f3e627c0fdc68357cc1505cece1f8..7bf222f76167e0b9608459aabc4ec58937698b60 100644
|
| --- a/chrome/browser/chromeos/net/network_portal_detector_impl_unittest.cc
|
| +++ b/chrome/browser/chromeos/net/network_portal_detector_impl_unittest.cc
|
| @@ -108,12 +108,16 @@ class NetworkPortalDetectorImplTest
|
| ASSERT_EQ(response_code, state.response_code);
|
| }
|
|
|
| - void CheckRequestTimeoutAndCompleteAttempt(int expected_attempt_count,
|
| - int expected_request_timeout_sec,
|
| - int net_error,
|
| - int status_code) {
|
| + void CheckRequestTimeoutAndCompleteAttempt(
|
| + uint64 expected_same_detection_result_count,
|
| + uint64 expected_no_response_result_count,
|
| + int expected_request_timeout_sec,
|
| + int net_error,
|
| + int status_code) {
|
| ASSERT_TRUE(is_state_checking_for_portal());
|
| - ASSERT_EQ(expected_attempt_count, attempt_count());
|
| + ASSERT_EQ(expected_same_detection_result_count,
|
| + same_detection_result_count());
|
| + ASSERT_EQ(expected_no_response_result_count, no_response_result_count());
|
| ASSERT_EQ(base::TimeDelta::FromSeconds(expected_request_timeout_sec),
|
| get_next_attempt_timeout());
|
| CompleteURLFetch(net_error, status_code, NULL);
|
| @@ -173,12 +177,16 @@ class NetworkPortalDetectorImplTest
|
| return network_portal_detector()->next_attempt_delay_for_testing();
|
| }
|
|
|
| - int attempt_count() {
|
| - return network_portal_detector()->attempt_count_for_testing();
|
| + uint64 same_detection_result_count() {
|
| + return network_portal_detector()->same_detection_result_count_for_testing();
|
| }
|
|
|
| - void set_attempt_count(int ac) {
|
| - network_portal_detector()->set_attempt_count_for_testing(ac);
|
| + uint64 no_response_result_count() {
|
| + return network_portal_detector()->no_response_result_count_for_testing();
|
| + }
|
| +
|
| + void set_no_response_result_count(uint64 count) {
|
| + network_portal_detector()->set_no_response_result_count_for_testing(count);
|
| }
|
|
|
| void set_delay_till_next_attempt(const base::TimeDelta& delta) {
|
| @@ -282,7 +290,7 @@ TEST_F(NetworkPortalDetectorImplTest, NoPortal) {
|
|
|
| CompleteURLFetch(net::OK, 204, NULL);
|
|
|
| - ASSERT_TRUE(is_state_idle());
|
| + ASSERT_FALSE(is_state_idle());
|
| CheckPortalState(
|
| NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, kStubWireless1);
|
| ASSERT_TRUE(
|
| @@ -300,7 +308,7 @@ TEST_F(NetworkPortalDetectorImplTest, Portal) {
|
|
|
| CompleteURLFetch(net::OK, 200, NULL);
|
|
|
| - ASSERT_TRUE(is_state_idle());
|
| + ASSERT_FALSE(is_state_idle());
|
| CheckPortalState(
|
| NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 200, kStubWireless1);
|
|
|
| @@ -310,7 +318,7 @@ TEST_F(NetworkPortalDetectorImplTest, Portal) {
|
|
|
| CompleteURLFetch(net::OK, 301, NULL);
|
|
|
| - ASSERT_TRUE(is_state_idle());
|
| + ASSERT_FALSE(is_state_idle());
|
| CheckPortalState(
|
| NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 301, kStubWireless2);
|
|
|
| @@ -320,7 +328,7 @@ TEST_F(NetworkPortalDetectorImplTest, Portal) {
|
|
|
| CompleteURLFetch(net::OK, 302, NULL);
|
|
|
| - ASSERT_TRUE(is_state_idle());
|
| + ASSERT_FALSE(is_state_idle());
|
| CheckPortalState(
|
| NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 302, kStubEthernet);
|
|
|
| @@ -357,7 +365,7 @@ TEST_F(NetworkPortalDetectorImplTest, Online2Offline) {
|
| ASSERT_TRUE(is_state_checking_for_portal());
|
|
|
| CompleteURLFetch(net::OK, 204, NULL);
|
| - ASSERT_TRUE(is_state_idle());
|
| + ASSERT_FALSE(is_state_idle());
|
|
|
| // Check that observer was notified about online state.
|
| Mock::VerifyAndClearExpectations(&observer);
|
| @@ -391,14 +399,14 @@ TEST_F(NetworkPortalDetectorImplTest, TwoNetworks) {
|
|
|
| // WiFi is in portal state.
|
| CompleteURLFetch(net::OK, 200, NULL);
|
| - ASSERT_TRUE(is_state_idle());
|
| + ASSERT_FALSE(is_state_idle());
|
|
|
| SetConnected(kStubEthernet);
|
| ASSERT_TRUE(is_state_checking_for_portal());
|
|
|
| // ethernet is in online state.
|
| CompleteURLFetch(net::OK, 204, NULL);
|
| - ASSERT_TRUE(is_state_idle());
|
| + ASSERT_FALSE(is_state_idle());
|
| CheckPortalState(
|
| NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, kStubEthernet);
|
| CheckPortalState(
|
| @@ -429,7 +437,7 @@ TEST_F(NetworkPortalDetectorImplTest, NetworkChanged) {
|
|
|
| // ethernet is in online state.
|
| CompleteURLFetch(net::OK, 204, NULL);
|
| - ASSERT_TRUE(is_state_idle());
|
| + ASSERT_FALSE(is_state_idle());
|
| CheckPortalState(
|
| NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, kStubEthernet);
|
|
|
| @@ -452,7 +460,7 @@ TEST_F(NetworkPortalDetectorImplTest, NetworkStateNotChanged) {
|
|
|
| CompleteURLFetch(net::OK, 204, NULL);
|
|
|
| - ASSERT_TRUE(is_state_idle());
|
| + ASSERT_FALSE(is_state_idle());
|
| CheckPortalState(
|
| NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, kStubWireless1);
|
|
|
| @@ -474,7 +482,7 @@ TEST_F(NetworkPortalDetectorImplTest, NetworkStateChanged) {
|
|
|
| CompleteURLFetch(net::OK, 200, NULL);
|
|
|
| - ASSERT_TRUE(is_state_idle());
|
| + ASSERT_FALSE(is_state_idle());
|
| CheckPortalState(
|
| NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 200, kStubWireless1);
|
|
|
| @@ -483,7 +491,7 @@ TEST_F(NetworkPortalDetectorImplTest, NetworkStateChanged) {
|
|
|
| CompleteURLFetch(net::OK, 204, NULL);
|
|
|
| - ASSERT_TRUE(is_state_idle());
|
| + ASSERT_FALSE(is_state_idle());
|
| CheckPortalState(
|
| NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, kStubWireless1);
|
|
|
| @@ -492,7 +500,7 @@ TEST_F(NetworkPortalDetectorImplTest, NetworkStateChanged) {
|
|
|
| CompleteURLFetch(net::OK, 200, NULL);
|
|
|
| - ASSERT_TRUE(is_state_idle());
|
| + ASSERT_FALSE(is_state_idle());
|
| CheckPortalState(
|
| NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 200, kStubWireless1);
|
|
|
| @@ -510,7 +518,8 @@ TEST_F(NetworkPortalDetectorImplTest, PortalDetectionTimeout) {
|
| set_next_attempt_timeout(base::TimeDelta::FromSeconds(0));
|
|
|
| ASSERT_TRUE(is_state_idle());
|
| - ASSERT_EQ(0, attempt_count());
|
| + ASSERT_EQ(static_cast<uint64>(0), same_detection_result_count());
|
| + ASSERT_EQ(static_cast<uint64>(0), no_response_result_count());
|
|
|
| SetConnected(kStubWireless1);
|
| base::RunLoop().RunUntilIdle();
|
| @@ -518,8 +527,7 @@ TEST_F(NetworkPortalDetectorImplTest, PortalDetectionTimeout) {
|
| // First portal detection timeouts, next portal detection is
|
| // scheduled.
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
| - ASSERT_EQ(1, attempt_count());
|
| - ASSERT_EQ(base::TimeDelta::FromSeconds(3), next_attempt_delay());
|
| + ASSERT_EQ(static_cast<uint64>(1), no_response_result_count());
|
|
|
| ASSERT_TRUE(MakeResultHistogramChecker()->Check());
|
| }
|
| @@ -530,7 +538,7 @@ TEST_F(NetworkPortalDetectorImplTest, PortalDetectionRetryAfter) {
|
| const char* retry_after = "HTTP/1.1 503 OK\nRetry-After: 101\n\n";
|
|
|
| ASSERT_TRUE(is_state_idle());
|
| - ASSERT_EQ(0, attempt_count());
|
| + ASSERT_EQ(static_cast<uint64>(0), no_response_result_count());
|
|
|
| SetConnected(kStubWireless1);
|
| ASSERT_TRUE(is_state_checking_for_portal());
|
| @@ -539,7 +547,7 @@ TEST_F(NetworkPortalDetectorImplTest, PortalDetectionRetryAfter) {
|
| // First portal detection completed, next portal detection is
|
| // scheduled after 101 seconds.
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
| - ASSERT_EQ(1, attempt_count());
|
| + ASSERT_EQ(static_cast<uint64>(1), no_response_result_count());
|
| ASSERT_EQ(base::TimeDelta::FromSeconds(101), next_attempt_delay());
|
|
|
| ASSERT_TRUE(MakeResultHistogramChecker()->Check());
|
| @@ -551,7 +559,7 @@ TEST_F(NetworkPortalDetectorImplTest, PortalDetectorRetryAfterIsSmall) {
|
| const char* retry_after = "HTTP/1.1 503 OK\nRetry-After: 1\n\n";
|
|
|
| ASSERT_TRUE(is_state_idle());
|
| - ASSERT_EQ(0, attempt_count());
|
| + ASSERT_EQ(static_cast<uint64>(0), no_response_result_count());
|
|
|
| SetConnected(kStubWireless1);
|
| CompleteURLFetch(net::OK, 503, retry_after);
|
| @@ -560,8 +568,7 @@ TEST_F(NetworkPortalDetectorImplTest, PortalDetectorRetryAfterIsSmall) {
|
| // scheduled after 3 seconds (due to minimum time between detection
|
| // attemps).
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
| - ASSERT_EQ(1, attempt_count());
|
| - ASSERT_EQ(base::TimeDelta::FromSeconds(3), next_attempt_delay());
|
| + ASSERT_EQ(static_cast<uint64>(1), no_response_result_count());
|
|
|
| ASSERT_TRUE(MakeResultHistogramChecker()->Check());
|
| }
|
| @@ -573,21 +580,21 @@ TEST_F(NetworkPortalDetectorImplTest, FirstAttemptFailed) {
|
| const char* retry_after = "HTTP/1.1 503 OK\nRetry-After: 0\n\n";
|
|
|
| ASSERT_TRUE(is_state_idle());
|
| - ASSERT_EQ(0, attempt_count());
|
| + ASSERT_EQ(static_cast<uint64>(0), no_response_result_count());
|
|
|
| SetConnected(kStubWireless1);
|
|
|
| CompleteURLFetch(net::OK, 503, retry_after);
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
| - ASSERT_EQ(1, attempt_count());
|
| + ASSERT_EQ(static_cast<uint64>(1), no_response_result_count());
|
| ASSERT_EQ(base::TimeDelta::FromSeconds(0), next_attempt_delay());
|
|
|
| // To run CaptivePortalDetector::DetectCaptivePortal().
|
| base::RunLoop().RunUntilIdle();
|
|
|
| CompleteURLFetch(net::OK, 204, NULL);
|
| - ASSERT_TRUE(is_state_idle());
|
| - ASSERT_EQ(2, attempt_count());
|
| + ASSERT_FALSE(is_state_idle());
|
| + ASSERT_EQ(static_cast<uint64>(0), no_response_result_count());
|
| CheckPortalState(
|
| NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, kStubWireless1);
|
|
|
| @@ -604,13 +611,13 @@ TEST_F(NetworkPortalDetectorImplTest, AllAttemptsFailed) {
|
| const char* retry_after = "HTTP/1.1 503 OK\nRetry-After: 0\n\n";
|
|
|
| ASSERT_TRUE(is_state_idle());
|
| - ASSERT_EQ(0, attempt_count());
|
| + ASSERT_EQ(static_cast<uint64>(0), no_response_result_count());
|
|
|
| SetConnected(kStubWireless1);
|
|
|
| CompleteURLFetch(net::OK, 503, retry_after);
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
| - ASSERT_EQ(1, attempt_count());
|
| + ASSERT_EQ(static_cast<uint64>(1), no_response_result_count());
|
| ASSERT_EQ(base::TimeDelta::FromSeconds(0), next_attempt_delay());
|
|
|
| // To run CaptivePortalDetector::DetectCaptivePortal().
|
| @@ -618,15 +625,15 @@ TEST_F(NetworkPortalDetectorImplTest, AllAttemptsFailed) {
|
|
|
| CompleteURLFetch(net::OK, 503, retry_after);
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
| - ASSERT_EQ(2, attempt_count());
|
| + ASSERT_EQ(static_cast<uint64>(2), no_response_result_count());
|
| ASSERT_EQ(base::TimeDelta::FromSeconds(0), next_attempt_delay());
|
|
|
| // To run CaptivePortalDetector::DetectCaptivePortal().
|
| base::RunLoop().RunUntilIdle();
|
|
|
| CompleteURLFetch(net::OK, 503, retry_after);
|
| - ASSERT_TRUE(is_state_idle());
|
| - ASSERT_EQ(3, attempt_count());
|
| + ASSERT_FALSE(is_state_idle());
|
| + ASSERT_EQ(static_cast<uint64>(3), no_response_result_count());
|
| CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_OFFLINE,
|
| 503,
|
| kStubWireless1);
|
| @@ -643,18 +650,18 @@ TEST_F(NetworkPortalDetectorImplTest, ProxyAuthRequired) {
|
|
|
| SetConnected(kStubWireless1);
|
| CompleteURLFetch(net::OK, 407, NULL);
|
| - ASSERT_EQ(1, attempt_count());
|
| + ASSERT_EQ(static_cast<uint64>(1), no_response_result_count());
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
|
|
| base::RunLoop().RunUntilIdle();
|
| CompleteURLFetch(net::OK, 407, NULL);
|
| - ASSERT_EQ(2, attempt_count());
|
| + ASSERT_EQ(static_cast<uint64>(2), no_response_result_count());
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
|
|
| base::RunLoop().RunUntilIdle();
|
| CompleteURLFetch(net::OK, 407, NULL);
|
| - ASSERT_EQ(3, attempt_count());
|
| - ASSERT_TRUE(is_state_idle());
|
| + ASSERT_EQ(static_cast<uint64>(3), no_response_result_count());
|
| + ASSERT_FALSE(is_state_idle());
|
|
|
| CheckPortalState(
|
| NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PROXY_AUTH_REQUIRED,
|
| @@ -677,7 +684,7 @@ TEST_F(NetworkPortalDetectorImplTest, NoResponseButBehindPortal) {
|
|
|
| CompleteURLFetch(
|
| net::ERR_CONNECTION_CLOSED, net::URLFetcher::RESPONSE_CODE_INVALID, NULL);
|
| - ASSERT_EQ(1, attempt_count());
|
| + ASSERT_EQ(static_cast<uint64>(1), no_response_result_count());
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
|
|
| // To run CaptivePortalDetector::DetectCaptivePortal().
|
| @@ -685,7 +692,7 @@ TEST_F(NetworkPortalDetectorImplTest, NoResponseButBehindPortal) {
|
|
|
| CompleteURLFetch(
|
| net::ERR_CONNECTION_CLOSED, net::URLFetcher::RESPONSE_CODE_INVALID, NULL);
|
| - ASSERT_EQ(2, attempt_count());
|
| + ASSERT_EQ(static_cast<uint64>(2), no_response_result_count());
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
|
|
| // To run CaptivePortalDetector::DetectCaptivePortal().
|
| @@ -693,8 +700,8 @@ TEST_F(NetworkPortalDetectorImplTest, NoResponseButBehindPortal) {
|
|
|
| CompleteURLFetch(
|
| net::ERR_CONNECTION_CLOSED, net::URLFetcher::RESPONSE_CODE_INVALID, NULL);
|
| - ASSERT_EQ(3, attempt_count());
|
| - ASSERT_TRUE(is_state_idle());
|
| + ASSERT_EQ(static_cast<uint64>(3), no_response_result_count());
|
| + ASSERT_FALSE(is_state_idle());
|
|
|
| CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL,
|
| net::URLFetcher::RESPONSE_CODE_INVALID,
|
| @@ -709,7 +716,7 @@ TEST_F(NetworkPortalDetectorImplTest, NoResponseButBehindPortal) {
|
| TEST_F(NetworkPortalDetectorImplTest,
|
| DisableErrorScreenStrategyWhilePendingRequest) {
|
| ASSERT_TRUE(is_state_idle());
|
| - set_attempt_count(3);
|
| + set_no_response_result_count(3);
|
| enable_error_screen_strategy();
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
| disable_error_screen_strategy();
|
| @@ -772,7 +779,7 @@ TEST_F(NetworkPortalDetectorImplTest, ErrorScreenStrategyForPortalNetwork) {
|
|
|
| CompleteURLFetch(
|
| net::ERR_CONNECTION_CLOSED, net::URLFetcher::RESPONSE_CODE_INVALID, NULL);
|
| - ASSERT_EQ(1, attempt_count());
|
| + ASSERT_EQ(static_cast<uint64>(1), no_response_result_count());
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
| CheckPortalState(
|
| NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_UNKNOWN, -1, kStubWireless1);
|
| @@ -782,7 +789,7 @@ TEST_F(NetworkPortalDetectorImplTest, ErrorScreenStrategyForPortalNetwork) {
|
|
|
| CompleteURLFetch(
|
| net::ERR_CONNECTION_CLOSED, net::URLFetcher::RESPONSE_CODE_INVALID, NULL);
|
| - ASSERT_EQ(2, attempt_count());
|
| + ASSERT_EQ(static_cast<uint64>(2), no_response_result_count());
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
| CheckPortalState(
|
| NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_UNKNOWN, -1, kStubWireless1);
|
| @@ -791,7 +798,7 @@ TEST_F(NetworkPortalDetectorImplTest, ErrorScreenStrategyForPortalNetwork) {
|
| base::RunLoop().RunUntilIdle();
|
|
|
| CompleteURLFetch(net::OK, 200, NULL);
|
| - ASSERT_EQ(3, attempt_count());
|
| + ASSERT_EQ(static_cast<uint64>(0), no_response_result_count());
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
| CheckPortalState(
|
| NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 200, kStubWireless1);
|
| @@ -843,12 +850,10 @@ TEST_F(NetworkPortalDetectorImplTest, TestDetectionRestart) {
|
|
|
| CheckPortalState(
|
| NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, kStubWireless1);
|
| - ASSERT_TRUE(is_state_idle());
|
| + ASSERT_FALSE(is_state_idle());
|
|
|
| // First portal detection attempts determines PORTAL state.
|
| - ASSERT_TRUE(start_detection_if_idle());
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
| - ASSERT_FALSE(start_detection_if_idle());
|
|
|
| base::RunLoop().RunUntilIdle();
|
| ASSERT_TRUE(is_state_checking_for_portal());
|
| @@ -856,7 +861,7 @@ TEST_F(NetworkPortalDetectorImplTest, TestDetectionRestart) {
|
|
|
| CheckPortalState(
|
| NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 200, kStubWireless1);
|
| - ASSERT_TRUE(is_state_idle());
|
| + ASSERT_FALSE(is_state_idle());
|
|
|
| ASSERT_TRUE(
|
| MakeResultHistogramChecker()
|
| @@ -874,34 +879,44 @@ TEST_F(NetworkPortalDetectorImplTest, RequestTimeouts) {
|
|
|
| // First portal detection attempt for cellular1 uses 5sec timeout.
|
| CheckRequestTimeoutAndCompleteAttempt(
|
| - 0, 5, net::ERR_CONNECTION_CLOSED, net::URLFetcher::RESPONSE_CODE_INVALID);
|
| + 0 /* expected_same_detection_result_count */,
|
| + 0 /* expected_no_response_result_count */,
|
| + 5 /* expected_request_timeout_sec */,
|
| + net::ERR_CONNECTION_CLOSED,
|
| + net::URLFetcher::RESPONSE_CODE_INVALID);
|
|
|
| // Second portal detection attempt for cellular1 uses 10sec timeout.
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
| base::RunLoop().RunUntilIdle();
|
| - CheckRequestTimeoutAndCompleteAttempt(1,
|
| - 10,
|
| - net::ERR_CONNECTION_CLOSED,
|
| - net::URLFetcher::RESPONSE_CODE_INVALID);
|
| + CheckRequestTimeoutAndCompleteAttempt(
|
| + 1 /* expected_same_detection_result_count */,
|
| + 1 /* expected_no_response_result_count */,
|
| + 10 /* expected_request_timeout_sec */,
|
| + net::ERR_CONNECTION_CLOSED,
|
| + net::URLFetcher::RESPONSE_CODE_INVALID);
|
|
|
| // Third portal detection attempt for cellular1 uses 15sec timeout.
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
| base::RunLoop().RunUntilIdle();
|
| - CheckRequestTimeoutAndCompleteAttempt(2,
|
| - 15,
|
| - net::ERR_CONNECTION_CLOSED,
|
| - net::URLFetcher::RESPONSE_CODE_INVALID);
|
| + CheckRequestTimeoutAndCompleteAttempt(
|
| + 2 /* expected_same_detection_result_count */,
|
| + 2 /* expected_no_response_result_count */,
|
| + 15 /* expected_request_timeout_sec */,
|
| + net::ERR_CONNECTION_CLOSED,
|
| + net::URLFetcher::RESPONSE_CODE_INVALID);
|
|
|
| - ASSERT_TRUE(is_state_idle());
|
| + ASSERT_FALSE(is_state_idle());
|
|
|
| - // Check that in lazy detection for cellular1 15sec timeout is used.
|
| + // Check that on the error screen 15sec timeout is used.
|
| enable_error_screen_strategy();
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
| base::RunLoop().RunUntilIdle();
|
| - CheckRequestTimeoutAndCompleteAttempt(0,
|
| - 15,
|
| - net::ERR_CONNECTION_CLOSED,
|
| - net::URLFetcher::RESPONSE_CODE_INVALID);
|
| + CheckRequestTimeoutAndCompleteAttempt(
|
| + 0 /* expected_same_detection_result_count */,
|
| + 0 /* expected_no_response_result_count */,
|
| + 15 /* expected_request_timeout_sec */,
|
| + net::ERR_CONNECTION_CLOSED,
|
| + net::URLFetcher::RESPONSE_CODE_INVALID);
|
| disable_error_screen_strategy();
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
|
|
| @@ -910,20 +925,34 @@ TEST_F(NetworkPortalDetectorImplTest, RequestTimeouts) {
|
|
|
| // First portal detection attempt for wifi1 uses 5sec timeout.
|
| CheckRequestTimeoutAndCompleteAttempt(
|
| - 0, 5, net::ERR_CONNECTION_CLOSED, net::URLFetcher::RESPONSE_CODE_INVALID);
|
| + 0 /* expected_same_detection_result_count */,
|
| + 0 /* expected_no_response_result_count */,
|
| + 5 /* expected_request_timeout_sec */,
|
| + net::ERR_CONNECTION_CLOSED,
|
| + net::URLFetcher::RESPONSE_CODE_INVALID);
|
|
|
| // Second portal detection attempt for wifi1 also uses 5sec timeout.
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
| base::RunLoop().RunUntilIdle();
|
| - CheckRequestTimeoutAndCompleteAttempt(1, 10, net::OK, 204);
|
| - ASSERT_TRUE(is_state_idle());
|
| + CheckRequestTimeoutAndCompleteAttempt(
|
| + 1 /* expected_same_detection_result_count */,
|
| + 1 /* expected_no_response_result_count */,
|
| + 10 /* expected_request_timeout_sec */,
|
| + net::OK,
|
| + 204);
|
| + ASSERT_FALSE(is_state_idle());
|
|
|
| // Check that in error screen strategy detection for wifi1 15sec
|
| // timeout is used.
|
| enable_error_screen_strategy();
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
| base::RunLoop().RunUntilIdle();
|
| - CheckRequestTimeoutAndCompleteAttempt(0, 15, net::OK, 204);
|
| + CheckRequestTimeoutAndCompleteAttempt(
|
| + 0 /* expected_same_detection_result_count */,
|
| + 0 /* expected_no_response_result_count */,
|
| + 15 /* expected_request_timeout_sec */,
|
| + net::OK,
|
| + 204);
|
| disable_error_screen_strategy();
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
|
|
| @@ -934,39 +963,60 @@ TEST_F(NetworkPortalDetectorImplTest, RequestTimeouts) {
|
| ->Check());
|
| }
|
|
|
| -TEST_F(NetworkPortalDetectorImplTest, StartDetectionIfIdle) {
|
| +TEST_F(NetworkPortalDetectorImplTest, RequestTimeouts2) {
|
| ASSERT_TRUE(is_state_idle());
|
| set_delay_till_next_attempt(base::TimeDelta());
|
| SetConnected(kStubWireless1);
|
|
|
| // First portal detection attempt for wifi1 uses 5sec timeout.
|
| CheckRequestTimeoutAndCompleteAttempt(
|
| - 0, 5, net::ERR_CONNECTION_CLOSED, net::URLFetcher::RESPONSE_CODE_INVALID);
|
| + 0 /* expected_same_detection_result_count */,
|
| + 0 /* expected_no_response_result_count */,
|
| + 5 /* expected_request_timeout_sec */,
|
| + net::ERR_CONNECTION_CLOSED,
|
| + net::URLFetcher::RESPONSE_CODE_INVALID);
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
| base::RunLoop().RunUntilIdle();
|
|
|
| // Second portal detection attempt for wifi1 uses 10sec timeout.
|
| - CheckRequestTimeoutAndCompleteAttempt(1,
|
| - 10,
|
| - net::ERR_CONNECTION_CLOSED,
|
| - net::URLFetcher::RESPONSE_CODE_INVALID);
|
| + CheckRequestTimeoutAndCompleteAttempt(
|
| + 1 /* expected_same_detection_result_count */,
|
| + 1 /* expected_no_response_result_count */,
|
| + 10 /* expected_request_timeout_sec */,
|
| + net::ERR_CONNECTION_CLOSED,
|
| + net::URLFetcher::RESPONSE_CODE_INVALID);
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
| base::RunLoop().RunUntilIdle();
|
|
|
| // Second portal detection attempt for wifi1 uses 15sec timeout.
|
| - CheckRequestTimeoutAndCompleteAttempt(2,
|
| - 15,
|
| - net::ERR_CONNECTION_CLOSED,
|
| - net::URLFetcher::RESPONSE_CODE_INVALID);
|
| - ASSERT_TRUE(is_state_idle());
|
| - start_detection_if_idle();
|
| -
|
| + CheckRequestTimeoutAndCompleteAttempt(
|
| + 2 /* expected_same_detection_result_count */,
|
| + 2 /* expected_no_response_result_count */,
|
| + 15 /* expected_request_timeout_sec */,
|
| + net::ERR_CONNECTION_CLOSED,
|
| + net::URLFetcher::RESPONSE_CODE_INVALID);
|
| + ASSERT_FALSE(is_state_idle());
|
| ASSERT_TRUE(is_state_portal_detection_pending());
|
|
|
| - // First portal detection attempt for wifi1 uses 5sec timeout.
|
| + // Third portal detection attempt for wifi1 uses 20sec timeout.
|
| base::RunLoop().RunUntilIdle();
|
| - CheckRequestTimeoutAndCompleteAttempt(0, 5, net::OK, 204);
|
| - ASSERT_TRUE(is_state_idle());
|
| + CheckRequestTimeoutAndCompleteAttempt(
|
| + 3 /* expected_same_detection_result_count */,
|
| + 3 /* expected_no_response_result_count */,
|
| + 20 /* expected_request_timeout_sec */,
|
| + net::OK,
|
| + 204);
|
| + ASSERT_FALSE(is_state_idle());
|
| +
|
| + // Fourth portal detection attempt for wifi1 uses 5sec timeout.
|
| + base::RunLoop().RunUntilIdle();
|
| + CheckRequestTimeoutAndCompleteAttempt(
|
| + 1 /* expected_same_detection_result_count */,
|
| + 0 /* expected_no_response_result_count */,
|
| + 5 /* expected_request_timeout_sec */,
|
| + net::OK,
|
| + 204);
|
| + ASSERT_FALSE(is_state_idle());
|
|
|
| ASSERT_TRUE(
|
| MakeResultHistogramChecker()
|
|
|