Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3063)

Unified Diff: chrome/browser/chromeos/login/screens/network_screen_browsertest.cc

Issue 2824283003: Fix autoupdate_EndToEndTest on veyron_rialto (Closed)
Patch Set: Addressed more comments Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698