Index: chrome/browser/chromeos/login/screens/network_screen_browsertest.cc |
diff --git a/chrome/browser/chromeos/login/screens/network_screen_browsertest.cc b/chrome/browser/chromeos/login/screens/network_screen_browsertest.cc |
index 3337dee077b0bfb6d908f71d2c30787508113dc1..b89fca9982459f68ee378c22ac53a36790d40e79 100644 |
--- a/chrome/browser/chromeos/login/screens/network_screen_browsertest.cc |
+++ b/chrome/browser/chromeos/login/screens/network_screen_browsertest.cc |
@@ -8,9 +8,9 @@ |
#include "base/command_line.h" |
#include "base/macros.h" |
-#include "base/strings/utf_string_conversions.h" |
#include "chrome/browser/chromeos/login/enrollment/enrollment_screen.h" |
#include "chrome/browser/chromeos/login/helper.h" |
+#include "chrome/browser/chromeos/login/mock_network_state_helper.h" |
#include "chrome/browser/chromeos/login/screens/base_screen.h" |
#include "chrome/browser/chromeos/login/screens/mock_base_screen_delegate.h" |
#include "chrome/browser/chromeos/login/test/oobe_screen_waiter.h" |
@@ -41,17 +41,6 @@ class DummyButtonListener : public views::ButtonListener { |
void ButtonPressed(views::Button* sender, const ui::Event& event) override {} |
}; |
-namespace login { |
- |
-class MockNetworkStateHelper : public NetworkStateHelper { |
- public: |
- MOCK_CONST_METHOD0(GetCurrentNetworkName, base::string16(void)); |
- MOCK_CONST_METHOD0(IsConnected, bool(void)); |
- MOCK_CONST_METHOD0(IsConnecting, bool(void)); |
-}; |
- |
-} // namespace login |
- |
class NetworkScreenTest : public WizardInProcessBrowserTest { |
public: |
NetworkScreenTest() |
@@ -157,124 +146,4 @@ IN_PROC_BROWSER_TEST_F(NetworkScreenTest, Timeout) { |
// view_->ClearErrors(); |
} |
-class HandsOffNetworkScreenTest : public NetworkScreenTest { |
- public: |
- HandsOffNetworkScreenTest() {} |
- |
- protected: |
- void SetUpOnMainThread() override { |
- NetworkScreenTest::SetUpOnMainThread(); |
- |
- // Set up fake networks. |
- DBusThreadManager::Get() |
- ->GetShillManagerClient() |
- ->GetTestInterface() |
- ->SetupDefaultEnvironment(); |
- } |
- |
- private: |
- // Overridden from InProcessBrowserTest: |
- void SetUpCommandLine(base::CommandLine* command_line) override { |
- command_line->AppendSwitchASCII( |
- switches::kEnterpriseEnableZeroTouchEnrollment, "hands-off"); |
- } |
- |
- DISALLOW_COPY_AND_ASSIGN(HandsOffNetworkScreenTest); |
-}; |
- |
-#if defined(OS_CHROMEOS) |
-// Flaky on ChromeOS. See https://crbug.com/674782. |
-#define MAYBE_RequiresNoInput DISABLED_RequiresNoInput |
-#else |
-#define MAYBE_RequiresNoInput RequiresNoInput |
-#endif |
-IN_PROC_BROWSER_TEST_F(HandsOffNetworkScreenTest, MAYBE_RequiresNoInput) { |
- WizardController* wizard_controller = WizardController::default_controller(); |
- |
- // Allow the WizardController to advance throught the enrollment flow. |
- network_screen_->base_screen_delegate_ = wizard_controller; |
- |
- // Simulate a network connection. |
- EXPECT_CALL(*mock_network_state_helper_, IsConnected()) |
- .Times(AnyNumber()) |
- .WillRepeatedly((Return(true))); |
- network_screen_->UpdateStatus(); |
- |
- // Check if NetworkScreen::OnContinueButtonPressed() is called |
- // Note that checking network_screen_->continue_pressed_ is not |
- // sufficient since there are cases where OnContinueButtonPressed() |
- // is called but where this variable is not set to true. |
- ASSERT_TRUE((!network_screen_->is_network_subscribed_) && |
- network_screen_->network_state_helper_->IsConnected()); |
- |
- // Check that we reach the enrollment screen. |
- OobeScreenWaiter(OobeScreen::SCREEN_OOBE_ENROLLMENT).Wait(); |
- |
- // Check that attestation-based enrollment finishes |
- // with either success or error. |
- bool done = false; |
- ASSERT_TRUE(content::ExecuteScriptAndExtractBool( |
- LoginDisplayHost::default_host()->GetOobeUI()->web_ui()->GetWebContents(), |
- "var count = 0;" |
- "function isVisible(el) {" |
- " return window.getComputedStyle(document.getElementById(el)).display" |
- " !== 'none';" |
- "}" |
- "function SendReplyIfEnrollmentDone() {" |
- " if (isVisible('oauth-enroll-step-abe-success') ||" |
- " isVisible('oauth-enroll-step-error')) {" |
- " domAutomationController.send(true);" |
- " } else if (count > 10) {" |
- " domAutomationController.send(false);" |
- " } else {" |
- " count++;" |
- " setTimeout(SendReplyIfEnrollmentDone, 1000);" |
- " }" |
- "}" |
- "SendReplyIfEnrollmentDone();", |
- &done)); |
- |
- // Reset the enrollment helper so there is no side effect with other tests. |
- static_cast<EnrollmentScreen*>(wizard_controller->current_screen()) |
- ->enrollment_helper_.reset(); |
-} |
- |
-IN_PROC_BROWSER_TEST_F(HandsOffNetworkScreenTest, ContinueClickedOnlyOnce) { |
- WizardController* wizard_controller = WizardController::default_controller(); |
- |
- // Allow the WizardController to advance through the enrollment flow. |
- network_screen_->base_screen_delegate_ = wizard_controller; |
- |
- // Check that OnContinueButtonPressed has not been called yet. |
- ASSERT_EQ(0, network_screen_->continue_attempts_); |
- |
- // Connect to network "net0". |
- EXPECT_CALL(*mock_network_state_helper_, GetCurrentNetworkName()) |
- .Times(AnyNumber()) |
- .WillRepeatedly(Return(base::ASCIIToUTF16("net0"))); |
- EXPECT_CALL(*mock_network_state_helper_, IsConnected()) |
- .Times(AnyNumber()) |
- .WillRepeatedly(Return(true)); |
- |
- // Stop waiting for net0. |
- network_screen_->StopWaitingForConnection(base::ASCIIToUTF16("net0")); |
- |
- // Check that OnContinueButtonPressed has been called exactly once. |
- ASSERT_EQ(1, network_screen_->continue_attempts_); |
- |
- // Stop waiting for another network, net1. |
- network_screen_->StopWaitingForConnection(base::ASCIIToUTF16("net1")); |
- |
- // Check that OnContinueButtonPressed stil has been called exactly once |
- ASSERT_EQ(1, network_screen_->continue_attempts_); |
- |
- // Wait for the enrollment screen. |
- OobeScreenWaiter(OobeScreen::SCREEN_OOBE_ENROLLMENT) |
- .WaitNoAssertCurrentScreen(); |
- |
- // Reset the enrollment helper so there is no side effect with other tests. |
- static_cast<EnrollmentScreen*>(wizard_controller->current_screen()) |
- ->enrollment_helper_.reset(); |
-} |
- |
} // namespace chromeos |