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 f5898d6b76091ae4a97a74d1732ca56a6f782471..a740fb4ccecd940afa28e9b97406b07264f14e22 100644 |
--- a/chrome/browser/chromeos/net/network_portal_detector_impl_unittest.cc |
+++ b/chrome/browser/chromeos/net/network_portal_detector_impl_unittest.cc |
@@ -63,8 +63,7 @@ class ResultHistogramChecker { |
public: |
explicit ResultHistogramChecker(base::HistogramSamples* base) |
: base_(base), |
- count_(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_COUNT) { |
- } |
+ count_(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_COUNT) {} |
virtual ~ResultHistogramChecker() {} |
ResultHistogramChecker* Expect( |
@@ -146,8 +145,8 @@ class NetworkPortalDetectorImplTest |
set_time_ticks(base::TimeTicks::Now()); |
if (base::HistogramBase* histogram = |
- base::StatisticsRecorder::FindHistogram( |
- NetworkPortalDetectorImpl::kDetectionResultHistogram)) { |
+ base::StatisticsRecorder::FindHistogram( |
+ NetworkPortalDetectorImpl::kDetectionResultHistogram)) { |
original_samples_.reset(histogram->SnapshotSamples().release()); |
} |
} |
@@ -157,6 +156,7 @@ class NetworkPortalDetectorImplTest |
profile_.reset(); |
NetworkHandler::Shutdown(); |
DBusThreadManager::Shutdown(); |
+ PortalDetectorStrategy::reset_fields_for_testing(); |
} |
void CheckPortalState(NetworkPortalDetector::CaptivePortalStatus status, |
@@ -168,14 +168,14 @@ 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(int expected_attempt_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_request_timeout_sec, get_request_timeout_sec()); |
+ ASSERT_EQ(base::TimeDelta::FromSeconds(expected_request_timeout_sec), |
+ get_next_attempt_timeout()); |
CompleteURLFetch(net_error, status_code, NULL); |
} |
@@ -193,25 +193,28 @@ class NetworkPortalDetectorImplTest |
return network_portal_detector()->StartDetectionIfIdle(); |
} |
- void enable_lazy_detection() { |
- network_portal_detector()->EnableLazyDetection(); |
+ void enable_error_screen_strategy() { |
+ network_portal_detector()->EnableErrorScreenStrategy(); |
+ } |
+ |
+ void disable_error_screen_strategy() { |
+ network_portal_detector()->DisableErrorScreenStrategy(); |
} |
- void disable_lazy_detection() { |
- network_portal_detector()->DisableLazyDetection(); |
+ void stop_detection() { |
+ network_portal_detector()->StopDetection(); |
} |
- void cancel_portal_detection() { |
- network_portal_detector()->CancelPortalDetection(); |
+ bool attempt_timeout_is_cancelled() { |
+ return network_portal_detector()->AttemptTimeoutIsCancelledForTesting(); |
} |
- bool detection_timeout_is_cancelled() { |
- return |
- network_portal_detector()->DetectionTimeoutIsCancelledForTesting(); |
+ base::TimeDelta get_next_attempt_timeout() { |
+ return network_portal_detector()->strategy_->GetNextAttemptTimeout(); |
} |
- int get_request_timeout_sec() { |
- return network_portal_detector()->GetRequestTimeoutSec(); |
+ void set_next_attempt_timeout(const base::TimeDelta& timeout) { |
+ PortalDetectorStrategy::set_next_attempt_timeout_for_testing(timeout); |
} |
bool is_state_idle() { |
@@ -226,9 +229,7 @@ class NetworkPortalDetectorImplTest |
return (NetworkPortalDetectorImpl::STATE_CHECKING_FOR_PORTAL == state()); |
} |
- void set_request_timeout(const base::TimeDelta& timeout) { |
- network_portal_detector()->set_request_timeout_for_testing(timeout); |
- } |
+ |
const base::TimeDelta& next_attempt_delay() { |
return network_portal_detector()->next_attempt_delay_for_testing(); |
@@ -239,15 +240,11 @@ class NetworkPortalDetectorImplTest |
} |
void set_attempt_count(int ac) { |
- return network_portal_detector()->set_attempt_count_for_testing(ac); |
- } |
- |
- void set_min_time_between_attempts(const base::TimeDelta& delta) { |
- network_portal_detector()->set_min_time_between_attempts_for_testing(delta); |
+ network_portal_detector()->set_attempt_count_for_testing(ac); |
} |
- void set_lazy_check_interval(const base::TimeDelta& delta) { |
- network_portal_detector()->set_lazy_check_interval_for_testing(delta); |
+ void set_delay_till_next_attempt(const base::TimeDelta& delta) { |
+ PortalDetectorStrategy::set_delay_till_next_attempt_for_testing(delta); |
} |
void set_time_ticks(const base::TimeTicks& time_ticks) { |
@@ -257,8 +254,10 @@ class NetworkPortalDetectorImplTest |
void SetBehindPortal(const std::string& service_path) { |
DBusThreadManager::Get()->GetShillServiceClient()->SetProperty( |
dbus::ObjectPath(service_path), |
- shill::kStateProperty, base::StringValue(shill::kStatePortal), |
- base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction)); |
+ shill::kStateProperty, |
+ base::StringValue(shill::kStatePortal), |
+ base::Bind(&base::DoNothing), |
+ base::Bind(&ErrorCallbackFunction)); |
base::RunLoop().RunUntilIdle(); |
} |
@@ -273,14 +272,16 @@ class NetworkPortalDetectorImplTest |
void SetConnected(const std::string& service_path) { |
DBusThreadManager::Get()->GetShillServiceClient()->Connect( |
dbus::ObjectPath(service_path), |
- base::Bind(&base::DoNothing), base::Bind(&ErrorCallbackFunction)); |
+ base::Bind(&base::DoNothing), |
+ base::Bind(&ErrorCallbackFunction)); |
base::RunLoop().RunUntilIdle(); |
} |
void SetDisconnected(const std::string& service_path) { |
DBusThreadManager::Get()->GetShillServiceClient()->Disconnect( |
dbus::ObjectPath(service_path), |
- base::Bind(&*base::DoNothing), base::Bind(&ErrorCallbackFunction)); |
+ base::Bind(&*base::DoNothing), |
+ base::Bind(&ErrorCallbackFunction)); |
base::RunLoop().RunUntilIdle(); |
} |
@@ -299,20 +300,28 @@ class NetworkPortalDetectorImplTest |
const bool add_to_watchlist = true; |
service_test->AddService(kStubEthernet, |
kStubEthernet, |
- shill::kTypeEthernet, shill::kStateIdle, |
- add_to_visible, add_to_watchlist); |
+ shill::kTypeEthernet, |
+ shill::kStateIdle, |
+ add_to_visible, |
+ add_to_watchlist); |
service_test->AddService(kStubWireless1, |
kStubWireless1, |
- shill::kTypeWifi, shill::kStateIdle, |
- add_to_visible, add_to_watchlist); |
+ shill::kTypeWifi, |
+ shill::kStateIdle, |
+ add_to_visible, |
+ add_to_watchlist); |
service_test->AddService(kStubWireless2, |
kStubWireless2, |
- shill::kTypeWifi, shill::kStateIdle, |
- add_to_visible, add_to_watchlist); |
+ shill::kTypeWifi, |
+ shill::kStateIdle, |
+ add_to_visible, |
+ add_to_watchlist); |
service_test->AddService(kStubCellular, |
kStubCellular, |
- shill::kTypeCellular, shill::kStateIdle, |
- add_to_visible, add_to_watchlist); |
+ shill::kTypeCellular, |
+ shill::kStateIdle, |
+ add_to_visible, |
+ add_to_watchlist); |
} |
void SetupNetworkHandler() { |
@@ -332,17 +341,18 @@ TEST_F(NetworkPortalDetectorImplTest, NoPortal) { |
SetConnected(kStubWireless1); |
ASSERT_TRUE(is_state_checking_for_portal()); |
- CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_UNKNOWN, -1, |
- kStubWireless1); |
+ CheckPortalState( |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_UNKNOWN, -1, kStubWireless1); |
CompleteURLFetch(net::OK, 204, NULL); |
ASSERT_TRUE(is_state_idle()); |
- CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, |
- kStubWireless1); |
- ASSERT_TRUE(MakeResultHistogramChecker() |
- ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 1) |
- ->Check()); |
+ CheckPortalState( |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, kStubWireless1); |
+ ASSERT_TRUE( |
+ MakeResultHistogramChecker() |
+ ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 1) |
+ ->Check()); |
} |
TEST_F(NetworkPortalDetectorImplTest, Portal) { |
@@ -355,8 +365,8 @@ TEST_F(NetworkPortalDetectorImplTest, Portal) { |
CompleteURLFetch(net::OK, 200, NULL); |
ASSERT_TRUE(is_state_idle()); |
- CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 200, |
- kStubWireless1); |
+ CheckPortalState( |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 200, kStubWireless1); |
// Check HTTP 301 response code. |
SetConnected(kStubWireless2); |
@@ -365,8 +375,8 @@ TEST_F(NetworkPortalDetectorImplTest, Portal) { |
CompleteURLFetch(net::OK, 301, NULL); |
ASSERT_TRUE(is_state_idle()); |
- CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 301, |
- kStubWireless2); |
+ CheckPortalState( |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 301, kStubWireless2); |
// Check HTTP 302 response code. |
SetConnected(kStubEthernet); |
@@ -375,12 +385,13 @@ TEST_F(NetworkPortalDetectorImplTest, Portal) { |
CompleteURLFetch(net::OK, 302, NULL); |
ASSERT_TRUE(is_state_idle()); |
- CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 302, |
- kStubEthernet); |
+ CheckPortalState( |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 302, kStubEthernet); |
- ASSERT_TRUE(MakeResultHistogramChecker() |
- ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 3) |
- ->Check()); |
+ ASSERT_TRUE( |
+ MakeResultHistogramChecker() |
+ ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 3) |
+ ->Check()); |
} |
TEST_F(NetworkPortalDetectorImplTest, Online2Offline) { |
@@ -430,9 +441,10 @@ TEST_F(NetworkPortalDetectorImplTest, Online2Offline) { |
network_portal_detector()->RemoveObserver(&observer); |
- ASSERT_TRUE(MakeResultHistogramChecker() |
- ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 1) |
- ->Check()); |
+ ASSERT_TRUE( |
+ MakeResultHistogramChecker() |
+ ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 1) |
+ ->Check()); |
} |
TEST_F(NetworkPortalDetectorImplTest, TwoNetworks) { |
@@ -451,15 +463,16 @@ TEST_F(NetworkPortalDetectorImplTest, TwoNetworks) { |
// ethernet is in online state. |
CompleteURLFetch(net::OK, 204, NULL); |
ASSERT_TRUE(is_state_idle()); |
- CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, |
- kStubEthernet); |
- CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 200, |
- kStubWireless1); |
+ CheckPortalState( |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, kStubEthernet); |
+ CheckPortalState( |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 200, kStubWireless1); |
- ASSERT_TRUE(MakeResultHistogramChecker() |
- ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 1) |
- ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 1) |
- ->Check()); |
+ ASSERT_TRUE( |
+ MakeResultHistogramChecker() |
+ ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 1) |
+ ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 1) |
+ ->Check()); |
} |
TEST_F(NetworkPortalDetectorImplTest, NetworkChanged) { |
@@ -481,17 +494,18 @@ TEST_F(NetworkPortalDetectorImplTest, NetworkChanged) { |
// ethernet is in online state. |
CompleteURLFetch(net::OK, 204, NULL); |
ASSERT_TRUE(is_state_idle()); |
- CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, |
- kStubEthernet); |
+ CheckPortalState( |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, kStubEthernet); |
// As active network was changed during portal detection for wifi |
// network, it's state must be unknown. |
- CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_UNKNOWN, -1, |
- kStubWireless1); |
+ CheckPortalState( |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_UNKNOWN, -1, kStubWireless1); |
- ASSERT_TRUE(MakeResultHistogramChecker() |
- ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 1) |
- ->Check()); |
+ ASSERT_TRUE( |
+ MakeResultHistogramChecker() |
+ ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 1) |
+ ->Check()); |
} |
TEST_F(NetworkPortalDetectorImplTest, NetworkStateNotChanged) { |
@@ -503,15 +517,16 @@ TEST_F(NetworkPortalDetectorImplTest, NetworkStateNotChanged) { |
CompleteURLFetch(net::OK, 204, NULL); |
ASSERT_TRUE(is_state_idle()); |
- CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, |
- kStubWireless1); |
+ CheckPortalState( |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, kStubWireless1); |
SetConnected(kStubWireless1); |
ASSERT_TRUE(is_state_idle()); |
- ASSERT_TRUE(MakeResultHistogramChecker() |
- ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 1) |
- ->Check()); |
+ ASSERT_TRUE( |
+ MakeResultHistogramChecker() |
+ ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 1) |
+ ->Check()); |
} |
TEST_F(NetworkPortalDetectorImplTest, NetworkStateChanged) { |
@@ -524,8 +539,8 @@ TEST_F(NetworkPortalDetectorImplTest, NetworkStateChanged) { |
CompleteURLFetch(net::OK, 200, NULL); |
ASSERT_TRUE(is_state_idle()); |
- CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 200, |
- kStubWireless1); |
+ CheckPortalState( |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 200, kStubWireless1); |
SetConnected(kStubWireless1); |
ASSERT_TRUE(is_state_checking_for_portal()); |
@@ -533,8 +548,8 @@ TEST_F(NetworkPortalDetectorImplTest, NetworkStateChanged) { |
CompleteURLFetch(net::OK, 204, NULL); |
ASSERT_TRUE(is_state_idle()); |
- CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, |
- kStubWireless1); |
+ CheckPortalState( |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, kStubWireless1); |
SetBehindPortal(kStubWireless1); |
ASSERT_TRUE(is_state_checking_for_portal()); |
@@ -542,20 +557,21 @@ TEST_F(NetworkPortalDetectorImplTest, NetworkStateChanged) { |
CompleteURLFetch(net::OK, 200, NULL); |
ASSERT_TRUE(is_state_idle()); |
- CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 200, |
- kStubWireless1); |
+ CheckPortalState( |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 200, kStubWireless1); |
- ASSERT_TRUE(MakeResultHistogramChecker() |
- ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 1) |
- ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 2) |
- ->Check()); |
+ ASSERT_TRUE( |
+ MakeResultHistogramChecker() |
+ ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 1) |
+ ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 2) |
+ ->Check()); |
} |
TEST_F(NetworkPortalDetectorImplTest, PortalDetectionTimeout) { |
ASSERT_TRUE(is_state_idle()); |
// For instantaneous timeout. |
- set_request_timeout(base::TimeDelta::FromSeconds(0)); |
+ set_next_attempt_timeout(base::TimeDelta::FromSeconds(0)); |
ASSERT_TRUE(is_state_idle()); |
ASSERT_EQ(0, attempt_count()); |
@@ -581,6 +597,7 @@ TEST_F(NetworkPortalDetectorImplTest, PortalDetectionRetryAfter) { |
ASSERT_EQ(0, attempt_count()); |
SetConnected(kStubWireless1); |
+ ASSERT_TRUE(is_state_checking_for_portal()); |
CompleteURLFetch(net::OK, 503, retry_after); |
// First portal detection completed, next portal detection is |
@@ -616,7 +633,7 @@ TEST_F(NetworkPortalDetectorImplTest, PortalDetectorRetryAfterIsSmall) { |
TEST_F(NetworkPortalDetectorImplTest, FirstAttemptFailed) { |
ASSERT_TRUE(is_state_idle()); |
- set_min_time_between_attempts(base::TimeDelta()); |
+ set_delay_till_next_attempt(base::TimeDelta()); |
const char* retry_after = "HTTP/1.1 503 OK\nRetry-After: 0\n\n"; |
ASSERT_TRUE(is_state_idle()); |
@@ -635,18 +652,19 @@ TEST_F(NetworkPortalDetectorImplTest, FirstAttemptFailed) { |
CompleteURLFetch(net::OK, 204, NULL); |
ASSERT_TRUE(is_state_idle()); |
ASSERT_EQ(2, attempt_count()); |
- CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, |
- kStubWireless1); |
+ CheckPortalState( |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, kStubWireless1); |
- ASSERT_TRUE(MakeResultHistogramChecker() |
- ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 1) |
- ->Check()); |
+ ASSERT_TRUE( |
+ MakeResultHistogramChecker() |
+ ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 1) |
+ ->Check()); |
} |
TEST_F(NetworkPortalDetectorImplTest, AllAttemptsFailed) { |
ASSERT_TRUE(is_state_idle()); |
- set_min_time_between_attempts(base::TimeDelta()); |
+ set_delay_till_next_attempt(base::TimeDelta()); |
const char* retry_after = "HTTP/1.1 503 OK\nRetry-After: 0\n\n"; |
ASSERT_TRUE(is_state_idle()); |
@@ -673,61 +691,61 @@ TEST_F(NetworkPortalDetectorImplTest, AllAttemptsFailed) { |
CompleteURLFetch(net::OK, 503, retry_after); |
ASSERT_TRUE(is_state_idle()); |
ASSERT_EQ(3, attempt_count()); |
- CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_OFFLINE, 503, |
+ CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_OFFLINE, |
+ 503, |
kStubWireless1); |
- ASSERT_TRUE(MakeResultHistogramChecker() |
- ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_OFFLINE, 1) |
- ->Check()); |
+ ASSERT_TRUE( |
+ MakeResultHistogramChecker() |
+ ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_OFFLINE, 1) |
+ ->Check()); |
} |
TEST_F(NetworkPortalDetectorImplTest, ProxyAuthRequired) { |
ASSERT_TRUE(is_state_idle()); |
- set_min_time_between_attempts(base::TimeDelta()); |
+ set_delay_till_next_attempt(base::TimeDelta()); |
SetConnected(kStubWireless1); |
CompleteURLFetch(net::OK, 407, NULL); |
ASSERT_EQ(1, attempt_count()); |
ASSERT_TRUE(is_state_idle()); |
CheckPortalState( |
- NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PROXY_AUTH_REQUIRED, 407, |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PROXY_AUTH_REQUIRED, |
+ 407, |
kStubWireless1); |
- ASSERT_TRUE( |
- MakeResultHistogramChecker() |
- ->Expect( |
- NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PROXY_AUTH_REQUIRED, 1) |
- ->Check()); |
+ ASSERT_TRUE(MakeResultHistogramChecker() |
+ ->Expect(NetworkPortalDetector:: |
+ CAPTIVE_PORTAL_STATUS_PROXY_AUTH_REQUIRED, |
+ 1) |
+ ->Check()); |
} |
TEST_F(NetworkPortalDetectorImplTest, NoResponseButBehindPortal) { |
ASSERT_TRUE(is_state_idle()); |
- set_min_time_between_attempts(base::TimeDelta()); |
+ set_delay_till_next_attempt(base::TimeDelta()); |
SetBehindPortal(kStubWireless1); |
ASSERT_TRUE(is_state_checking_for_portal()); |
- CompleteURLFetch(net::ERR_CONNECTION_CLOSED, |
- net::URLFetcher::RESPONSE_CODE_INVALID, |
- NULL); |
+ CompleteURLFetch( |
+ net::ERR_CONNECTION_CLOSED, net::URLFetcher::RESPONSE_CODE_INVALID, NULL); |
ASSERT_EQ(1, attempt_count()); |
ASSERT_TRUE(is_state_portal_detection_pending()); |
// To run CaptivePortalDetector::DetectCaptivePortal(). |
base::RunLoop().RunUntilIdle(); |
- CompleteURLFetch(net::ERR_CONNECTION_CLOSED, |
- net::URLFetcher::RESPONSE_CODE_INVALID, |
- NULL); |
+ CompleteURLFetch( |
+ net::ERR_CONNECTION_CLOSED, net::URLFetcher::RESPONSE_CODE_INVALID, NULL); |
ASSERT_EQ(2, attempt_count()); |
ASSERT_TRUE(is_state_portal_detection_pending()); |
// To run CaptivePortalDetector::DetectCaptivePortal(). |
base::RunLoop().RunUntilIdle(); |
- CompleteURLFetch(net::ERR_CONNECTION_CLOSED, |
- net::URLFetcher::RESPONSE_CODE_INVALID, |
- NULL); |
+ CompleteURLFetch( |
+ net::ERR_CONNECTION_CLOSED, net::URLFetcher::RESPONSE_CODE_INVALID, NULL); |
ASSERT_EQ(3, attempt_count()); |
ASSERT_TRUE(is_state_idle()); |
@@ -735,17 +753,19 @@ TEST_F(NetworkPortalDetectorImplTest, NoResponseButBehindPortal) { |
net::URLFetcher::RESPONSE_CODE_INVALID, |
kStubWireless1); |
- ASSERT_TRUE(MakeResultHistogramChecker() |
- ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 1) |
- ->Check()); |
+ ASSERT_TRUE( |
+ MakeResultHistogramChecker() |
+ ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 1) |
+ ->Check()); |
} |
-TEST_F(NetworkPortalDetectorImplTest, DisableLazyDetectionWhilePendingRequest) { |
+TEST_F(NetworkPortalDetectorImplTest, |
+ DisableErrorScreenStrategyWhilePendingRequest) { |
ASSERT_TRUE(is_state_idle()); |
set_attempt_count(3); |
- enable_lazy_detection(); |
+ enable_error_screen_strategy(); |
ASSERT_TRUE(is_state_portal_detection_pending()); |
- disable_lazy_detection(); |
+ disable_error_screen_strategy(); |
// To run CaptivePortalDetector::DetectCaptivePortal(). |
base::MessageLoop::current()->RunUntilIdle(); |
@@ -753,77 +773,65 @@ TEST_F(NetworkPortalDetectorImplTest, DisableLazyDetectionWhilePendingRequest) { |
ASSERT_TRUE(MakeResultHistogramChecker()->Check()); |
} |
-TEST_F(NetworkPortalDetectorImplTest, LazyDetectionForOnlineNetwork) { |
+TEST_F(NetworkPortalDetectorImplTest, ErrorScreenStrategyForOnlineNetwork) { |
ASSERT_TRUE(is_state_idle()); |
- set_min_time_between_attempts(base::TimeDelta()); |
- set_lazy_check_interval(base::TimeDelta()); |
+ set_delay_till_next_attempt(base::TimeDelta()); |
SetConnected(kStubWireless1); |
- enable_lazy_detection(); |
+ enable_error_screen_strategy(); |
CompleteURLFetch(net::OK, 204, NULL); |
- ASSERT_EQ(1, attempt_count()); |
ASSERT_TRUE(is_state_portal_detection_pending()); |
CheckPortalState( |
- NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, |
- kStubWireless1); |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, kStubWireless1); |
// To run CaptivePortalDetector::DetectCaptivePortal(). |
base::RunLoop().RunUntilIdle(); |
CompleteURLFetch(net::OK, 204, NULL); |
- ASSERT_EQ(2, attempt_count()); |
ASSERT_TRUE(is_state_portal_detection_pending()); |
CheckPortalState( |
- NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, |
- kStubWireless1); |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, kStubWireless1); |
// To run CaptivePortalDetector::DetectCaptivePortal(). |
base::RunLoop().RunUntilIdle(); |
- disable_lazy_detection(); |
+ disable_error_screen_strategy(); |
- // One more detection result, because DizableLazyDetection() doesn't |
- // cancel last detection request. |
- CompleteURLFetch(net::OK, 204, NULL); |
- ASSERT_EQ(3, attempt_count()); |
ASSERT_TRUE(is_state_idle()); |
CheckPortalState( |
- NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, |
- kStubWireless1); |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, kStubWireless1); |
- ASSERT_TRUE(MakeResultHistogramChecker() |
- ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 1) |
- ->Check()); |
+ ASSERT_TRUE( |
+ MakeResultHistogramChecker() |
+ ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 1) |
+ ->Check()); |
} |
-TEST_F(NetworkPortalDetectorImplTest, LazyDetectionForPortalNetwork) { |
+TEST_F(NetworkPortalDetectorImplTest, ErrorScreenStrategyForPortalNetwork) { |
ASSERT_TRUE(is_state_idle()); |
- set_min_time_between_attempts(base::TimeDelta()); |
- set_lazy_check_interval(base::TimeDelta()); |
+ set_delay_till_next_attempt(base::TimeDelta()); |
+ enable_error_screen_strategy(); |
SetConnected(kStubWireless1); |
- enable_lazy_detection(); |
- CompleteURLFetch(net::ERR_CONNECTION_CLOSED, |
- net::URLFetcher::RESPONSE_CODE_INVALID, |
- NULL); |
+ CompleteURLFetch( |
+ net::ERR_CONNECTION_CLOSED, net::URLFetcher::RESPONSE_CODE_INVALID, NULL); |
ASSERT_EQ(1, attempt_count()); |
ASSERT_TRUE(is_state_portal_detection_pending()); |
- CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_UNKNOWN, -1, |
- kStubWireless1); |
+ CheckPortalState( |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_UNKNOWN, -1, kStubWireless1); |
// To run CaptivePortalDetector::DetectCaptivePortal(). |
base::RunLoop().RunUntilIdle(); |
- CompleteURLFetch(net::ERR_CONNECTION_CLOSED, |
- net::URLFetcher::RESPONSE_CODE_INVALID, |
- NULL); |
+ CompleteURLFetch( |
+ net::ERR_CONNECTION_CLOSED, net::URLFetcher::RESPONSE_CODE_INVALID, NULL); |
ASSERT_EQ(2, attempt_count()); |
ASSERT_TRUE(is_state_portal_detection_pending()); |
- CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_UNKNOWN, -1, |
- kStubWireless1); |
+ CheckPortalState( |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_UNKNOWN, -1, kStubWireless1); |
// To run CaptivePortalDetector::DetectCaptivePortal(). |
base::RunLoop().RunUntilIdle(); |
@@ -831,49 +839,46 @@ TEST_F(NetworkPortalDetectorImplTest, LazyDetectionForPortalNetwork) { |
CompleteURLFetch(net::OK, 200, NULL); |
ASSERT_EQ(3, attempt_count()); |
ASSERT_TRUE(is_state_portal_detection_pending()); |
- CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 200, |
- kStubWireless1); |
+ CheckPortalState( |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 200, kStubWireless1); |
// To run CaptivePortalDetector::DetectCaptivePortal(). |
base::RunLoop().RunUntilIdle(); |
- disable_lazy_detection(); |
+ disable_error_screen_strategy(); |
- // One more detection result, because DizableLazyDetection() doesn't |
- // cancel last detection request. |
- CompleteURLFetch(net::OK, 200, NULL); |
- ASSERT_EQ(3, attempt_count()); |
ASSERT_TRUE(is_state_idle()); |
- CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 200, |
- kStubWireless1); |
+ CheckPortalState( |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 200, kStubWireless1); |
- ASSERT_TRUE(MakeResultHistogramChecker() |
- ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 1) |
- ->Check()); |
+ ASSERT_TRUE( |
+ MakeResultHistogramChecker() |
+ ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 1) |
+ ->Check()); |
} |
TEST_F(NetworkPortalDetectorImplTest, DetectionTimeoutIsCancelled) { |
ASSERT_TRUE(is_state_idle()); |
- set_min_time_between_attempts(base::TimeDelta()); |
+ set_delay_till_next_attempt(base::TimeDelta()); |
SetConnected(kStubWireless1); |
ASSERT_TRUE(is_state_checking_for_portal()); |
- CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_UNKNOWN, -1, |
- kStubWireless1); |
+ CheckPortalState( |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_UNKNOWN, -1, kStubWireless1); |
- cancel_portal_detection(); |
+ stop_detection(); |
ASSERT_TRUE(is_state_idle()); |
- ASSERT_TRUE(detection_timeout_is_cancelled()); |
- CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_UNKNOWN, -1, |
- kStubWireless1); |
+ ASSERT_TRUE(attempt_timeout_is_cancelled()); |
+ CheckPortalState( |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_UNKNOWN, -1, kStubWireless1); |
ASSERT_TRUE(MakeResultHistogramChecker()->Check()); |
} |
TEST_F(NetworkPortalDetectorImplTest, TestDetectionRestart) { |
ASSERT_TRUE(is_state_idle()); |
- set_min_time_between_attempts(base::TimeDelta()); |
+ set_delay_till_next_attempt(base::TimeDelta()); |
// First portal detection attempts determines ONLINE state. |
SetConnected(kStubWireless1); |
@@ -882,8 +887,8 @@ TEST_F(NetworkPortalDetectorImplTest, TestDetectionRestart) { |
CompleteURLFetch(net::OK, 204, NULL); |
- CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, |
- kStubWireless1); |
+ CheckPortalState( |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 204, kStubWireless1); |
ASSERT_TRUE(is_state_idle()); |
// First portal detection attempts determines PORTAL state. |
@@ -895,97 +900,110 @@ TEST_F(NetworkPortalDetectorImplTest, TestDetectionRestart) { |
ASSERT_TRUE(is_state_checking_for_portal()); |
CompleteURLFetch(net::OK, 200, NULL); |
- CheckPortalState(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 200, |
- kStubWireless1); |
+ CheckPortalState( |
+ NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 200, kStubWireless1); |
ASSERT_TRUE(is_state_idle()); |
- ASSERT_TRUE(MakeResultHistogramChecker()-> |
- Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 1)-> |
- Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 1)-> |
- Check()); |
+ ASSERT_TRUE( |
+ MakeResultHistogramChecker() |
+ ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 1) |
+ ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL, 1) |
+ ->Check()); |
} |
TEST_F(NetworkPortalDetectorImplTest, RequestTimeouts) { |
ASSERT_TRUE(is_state_idle()); |
- set_min_time_between_attempts(base::TimeDelta()); |
- set_lazy_check_interval(base::TimeDelta()); |
+ set_delay_till_next_attempt(base::TimeDelta()); |
SetNetworkDeviceEnabled(shill::kTypeWifi, false); |
SetConnected(kStubCellular); |
// First portal detection attempt for cellular1 uses 5sec timeout. |
- CheckRequestTimeoutAndCompleteAttempt(1, 5, net::ERR_CONNECTION_CLOSED, |
- net::URLFetcher::RESPONSE_CODE_INVALID); |
+ CheckRequestTimeoutAndCompleteAttempt( |
+ 0, 5, 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(2, 10, net::ERR_CONNECTION_CLOSED, |
+ CheckRequestTimeoutAndCompleteAttempt(1, |
+ 10, |
+ 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(3, 15, net::ERR_CONNECTION_CLOSED, |
+ CheckRequestTimeoutAndCompleteAttempt(2, |
+ 15, |
+ net::ERR_CONNECTION_CLOSED, |
net::URLFetcher::RESPONSE_CODE_INVALID); |
ASSERT_TRUE(is_state_idle()); |
// Check that in lazy detection for cellular1 15sec timeout is used. |
- enable_lazy_detection(); |
+ enable_error_screen_strategy(); |
ASSERT_TRUE(is_state_portal_detection_pending()); |
base::RunLoop().RunUntilIdle(); |
- disable_lazy_detection(); |
- CheckRequestTimeoutAndCompleteAttempt(3, 15, net::ERR_CONNECTION_CLOSED, |
+ CheckRequestTimeoutAndCompleteAttempt(0, |
+ 15, |
+ net::ERR_CONNECTION_CLOSED, |
net::URLFetcher::RESPONSE_CODE_INVALID); |
+ disable_error_screen_strategy(); |
ASSERT_TRUE(is_state_idle()); |
SetNetworkDeviceEnabled(shill::kTypeWifi, true); |
SetConnected(kStubWireless1); |
// First portal detection attempt for wifi1 uses 5sec timeout. |
- CheckRequestTimeoutAndCompleteAttempt(1, 5, net::ERR_CONNECTION_CLOSED, |
- net::URLFetcher::RESPONSE_CODE_INVALID); |
+ CheckRequestTimeoutAndCompleteAttempt( |
+ 0, 5, 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(2, 10, net::OK, 204); |
+ CheckRequestTimeoutAndCompleteAttempt(1, 10, net::OK, 204); |
ASSERT_TRUE(is_state_idle()); |
- // Check that in lazy detection for wifi1 5sec timeout is used. |
- enable_lazy_detection(); |
+ // 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(); |
- disable_lazy_detection(); |
- CheckRequestTimeoutAndCompleteAttempt(3, 15, net::OK, 204); |
+ CheckRequestTimeoutAndCompleteAttempt(0, 15, net::OK, 204); |
+ disable_error_screen_strategy(); |
ASSERT_TRUE(is_state_idle()); |
+ return; |
- ASSERT_TRUE(MakeResultHistogramChecker() |
- ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_OFFLINE, 1) |
- ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 1) |
- ->Check()); |
+ ASSERT_TRUE( |
+ MakeResultHistogramChecker() |
+ ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_OFFLINE, 1) |
+ ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 1) |
+ ->Check()); |
} |
TEST_F(NetworkPortalDetectorImplTest, StartDetectionIfIdle) { |
ASSERT_TRUE(is_state_idle()); |
- set_min_time_between_attempts(base::TimeDelta()); |
+ set_delay_till_next_attempt(base::TimeDelta()); |
SetConnected(kStubWireless1); |
// First portal detection attempt for wifi1 uses 5sec timeout. |
- CheckRequestTimeoutAndCompleteAttempt(1, 5, net::ERR_CONNECTION_CLOSED, |
- net::URLFetcher::RESPONSE_CODE_INVALID); |
+ CheckRequestTimeoutAndCompleteAttempt( |
+ 0, 5, 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(2, 10, net::ERR_CONNECTION_CLOSED, |
+ CheckRequestTimeoutAndCompleteAttempt(1, |
+ 10, |
+ 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(3, 15, net::ERR_CONNECTION_CLOSED, |
+ CheckRequestTimeoutAndCompleteAttempt(2, |
+ 15, |
+ net::ERR_CONNECTION_CLOSED, |
net::URLFetcher::RESPONSE_CODE_INVALID); |
ASSERT_TRUE(is_state_idle()); |
start_detection_if_idle(); |
@@ -994,13 +1012,14 @@ TEST_F(NetworkPortalDetectorImplTest, StartDetectionIfIdle) { |
// First portal detection attempt for wifi1 uses 5sec timeout. |
base::RunLoop().RunUntilIdle(); |
- CheckRequestTimeoutAndCompleteAttempt(1, 5, net::OK, 204); |
+ CheckRequestTimeoutAndCompleteAttempt(0, 5, net::OK, 204); |
ASSERT_TRUE(is_state_idle()); |
- ASSERT_TRUE(MakeResultHistogramChecker() |
- ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_OFFLINE, 1) |
- ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 1) |
- ->Check()); |
+ ASSERT_TRUE( |
+ MakeResultHistogramChecker() |
+ ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_OFFLINE, 1) |
+ ->Expect(NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE, 1) |
+ ->Check()); |
} |
} // namespace chromeos |