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 dea21971c47772d464f23382fcd52561d89841ac..174c4cbaedb8b9c8fb296d78834fba173ea443d4 100644 |
--- a/chrome/browser/chromeos/net/network_portal_detector_impl_unittest.cc |
+++ b/chrome/browser/chromeos/net/network_portal_detector_impl_unittest.cc |
@@ -62,8 +62,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( |
@@ -145,8 +144,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()); |
} |
} |
@@ -156,6 +155,8 @@ class NetworkPortalDetectorImplTest |
profile_.reset(); |
NetworkHandler::Shutdown(); |
DBusThreadManager::Shutdown(); |
+ PortalDetectorStrategy::reset_request_timeout_for_testing(); |
+ PortalDetectorStrategy::reset_min_time_between_attempts_for_testing(); |
} |
void CheckPortalState(NetworkPortalDetector::CaptivePortalStatus status, |
@@ -167,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_request_timeout()); |
CompleteURLFetch(net_error, status_code, NULL); |
} |
@@ -192,25 +193,22 @@ 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_lazy_detection() { |
- network_portal_detector()->DisableLazyDetection(); |
+ void disable_error_screen_strategy() { |
+ network_portal_detector()->DisableErrorScreenStrategy(); |
} |
- void cancel_portal_detection() { |
- network_portal_detector()->CancelPortalDetection(); |
- } |
+ void cancel_detection() { network_portal_detector()->CancelDetection(); } |
- bool detection_timeout_is_cancelled() { |
- return |
- network_portal_detector()->DetectionTimeoutIsCancelledForTesting(); |
+ bool attempt_timeout_is_cancelled() { |
+ return network_portal_detector()->AttemptTimeoutIsCancelledForTesting(); |
} |
- int get_request_timeout_sec() { |
- return network_portal_detector()->GetRequestTimeoutSec(); |
+ base::TimeDelta get_request_timeout() { |
+ return network_portal_detector()->strategy_->GetCurrentAttemptTimeout(); |
} |
bool is_state_idle() { |
@@ -226,7 +224,7 @@ class NetworkPortalDetectorImplTest |
} |
void set_request_timeout(const base::TimeDelta& timeout) { |
- network_portal_detector()->set_request_timeout_for_testing(timeout); |
+ PortalDetectorStrategy::set_request_timeout_for_testing(timeout); |
} |
const base::TimeDelta& next_attempt_delay() { |
@@ -234,19 +232,22 @@ class NetworkPortalDetectorImplTest |
} |
int attempt_count() { |
- return network_portal_detector()->attempt_count_for_testing(); |
+ return network_portal_detector() |
+ ->login_screen_strategy_.attempt_count_for_testing(); |
} |
void set_attempt_count(int ac) { |
- return network_portal_detector()->set_attempt_count_for_testing(ac); |
+ network_portal_detector() |
+ ->login_screen_strategy_.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); |
+ PortalDetectorStrategy::set_min_time_between_attempts_for_testing(delta); |
} |
- void set_lazy_check_interval(const base::TimeDelta& delta) { |
- network_portal_detector()->set_lazy_check_interval_for_testing(delta); |
+ void set_error_screen_strategy_check_interval(const base::TimeDelta& delta) { |
+ network_portal_detector() |
+ ->error_screen_strategy_.set_delay_between_attempts_for_testing(delta); |
} |
void set_time_ticks(const base::TimeTicks& time_ticks) { |
@@ -256,8 +257,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(); |
} |
@@ -272,14 +275,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(); |
} |
@@ -298,20 +303,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() { |
@@ -331,17 +344,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) { |
@@ -354,8 +368,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); |
@@ -364,8 +378,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); |
@@ -374,12 +388,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) { |
@@ -420,9 +435,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) { |
@@ -441,15 +457,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) { |
@@ -471,17 +488,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) { |
@@ -493,15 +511,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) { |
@@ -514,8 +533,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()); |
@@ -523,8 +542,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()); |
@@ -532,13 +551,14 @@ 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) { |
@@ -571,6 +591,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 |
@@ -625,12 +646,13 @@ 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) { |
@@ -663,12 +685,14 @@ 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) { |
@@ -680,14 +704,15 @@ TEST_F(NetworkPortalDetectorImplTest, ProxyAuthRequired) { |
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) { |
@@ -697,27 +722,24 @@ TEST_F(NetworkPortalDetectorImplTest, NoResponseButBehindPortal) { |
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()); |
@@ -725,17 +747,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(); |
@@ -743,103 +767,90 @@ 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_error_screen_strategy_check_interval(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_error_screen_strategy_check_interval(base::TimeDelta()); |
+ enable_error_screen_strategy(); |
SetConnected(kStubWireless1); |
- enable_lazy_detection(); |
- CompleteURLFetch(net::ERR_CONNECTION_CLOSED, |
- net::URLFetcher::RESPONSE_CODE_INVALID, |
- NULL); |
- ASSERT_EQ(1, attempt_count()); |
+ CompleteURLFetch( |
+ net::ERR_CONNECTION_CLOSED, net::URLFetcher::RESPONSE_CODE_INVALID, NULL); |
+ ASSERT_EQ(0, 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); |
- ASSERT_EQ(2, attempt_count()); |
+ CompleteURLFetch( |
+ net::ERR_CONNECTION_CLOSED, net::URLFetcher::RESPONSE_CODE_INVALID, NULL); |
+ ASSERT_EQ(0, 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::OK, 200, NULL); |
- ASSERT_EQ(3, attempt_count()); |
+ ASSERT_EQ(0, 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) { |
@@ -848,15 +859,15 @@ TEST_F(NetworkPortalDetectorImplTest, DetectionTimeoutIsCancelled) { |
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(); |
+ cancel_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()); |
} |
@@ -872,8 +883,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. |
@@ -885,57 +896,64 @@ 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_error_screen_strategy_check_interval(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( |
+ 1, 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(2, |
+ 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(3, |
+ 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(3, |
+ 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( |
+ 1, 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()); |
@@ -943,18 +961,21 @@ TEST_F(NetworkPortalDetectorImplTest, RequestTimeouts) { |
CheckRequestTimeoutAndCompleteAttempt(2, 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(2, 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) { |
@@ -963,19 +984,23 @@ TEST_F(NetworkPortalDetectorImplTest, StartDetectionIfIdle) { |
SetConnected(kStubWireless1); |
// First portal detection attempt for wifi1 uses 5sec timeout. |
- CheckRequestTimeoutAndCompleteAttempt(1, 5, net::ERR_CONNECTION_CLOSED, |
- net::URLFetcher::RESPONSE_CODE_INVALID); |
+ CheckRequestTimeoutAndCompleteAttempt( |
+ 1, 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(2, |
+ 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(3, |
+ 15, |
+ net::ERR_CONNECTION_CLOSED, |
net::URLFetcher::RESPONSE_CODE_INVALID); |
ASSERT_TRUE(is_state_idle()); |
start_detection_if_idle(); |
@@ -987,10 +1012,11 @@ TEST_F(NetworkPortalDetectorImplTest, StartDetectionIfIdle) { |
CheckRequestTimeoutAndCompleteAttempt(1, 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 |