Commit a3da69e5 authored by Saurabh Nijhara's avatar Saurabh Nijhara Committed by Commit Bot

Remove update required screens from OOBE screens

Update required screen is only shown after enrolment, hence it is not
required for OOBE. This CL also includes some refactoring in the
update required screen browsertests to make independent of OOBE flow.

Bug: 1085090
Change-Id: I9953ed666710ec6fe0111b6468816c3df29e0318
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2209220
Commit-Queue: Saurabh Nijhara <snijhara@google.com>
Reviewed-by: default avatarRoman Sorokin [CET] <rsorokin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#771545}
parent fb0defcc
......@@ -10,11 +10,11 @@
#include "base/callback.h"
#include "base/optional.h"
#include "base/run_loop.h"
#include "base/test/simple_test_clock.h"
#include "base/test/simple_test_tick_clock.h"
#include "base/time/default_clock.h"
#include "base/time/time.h"
#include "chrome/browser/chromeos/login/login_wizard.h"
#include "chrome/browser/chromeos/login/screens/error_screen.h"
#include "chrome/browser/chromeos/login/test/device_state_mixin.h"
#include "chrome/browser/chromeos/login/test/js_checker.h"
#include "chrome/browser/chromeos/login/test/network_portal_detector_mixin.h"
#include "chrome/browser/chromeos/login/test/oobe_base_test.h"
......@@ -23,6 +23,7 @@
#include "chrome/browser/chromeos/login/version_updater/version_updater.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
#include "chrome/browser/ui/webui/chromeos/login/error_screen_handler.h"
#include "chrome/browser/ui/webui/chromeos/login/gaia_screen_handler.h"
#include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
#include "chrome/browser/ui/webui/chromeos/login/update_required_screen_handler.h"
#include "chrome/grit/chromium_strings.h"
......@@ -97,17 +98,7 @@ class UpdateRequiredScreenTest : public OobeBaseTest {
void SetUpOnMainThread() override {
OobeBaseTest::SetUpOnMainThread();
tick_clock_.Advance(base::TimeDelta::FromMinutes(1));
clock_ = std::make_unique<base::SimpleTestClock>();
error_screen_ = GetOobeUI()->GetErrorScreen();
update_required_screen_ = UpdateRequiredScreen::Get(
WizardController::default_controller()->screen_manager());
update_required_screen_->SetClockForTesting(clock_.get());
version_updater_ = update_required_screen_->GetVersionUpdaterForTesting();
version_updater_->set_tick_clock_for_testing(&tick_clock_);
// Set up fake networks.
network_state_test_helper_ =
std::make_unique<chromeos::NetworkStateTestHelper>(
......@@ -115,6 +106,7 @@ class UpdateRequiredScreenTest : public OobeBaseTest {
network_state_test_helper_->manager_test()->SetupDefaultEnvironment();
// Fake networks have been set up. Connect to WiFi network.
SetConnected(kWifiServicePath);
chromeos::OobeScreenWaiter(chromeos::GaiaView::kScreenId).Wait();
}
void TearDownOnMainThread() override {
network_state_test_helper_.reset();
......@@ -122,18 +114,6 @@ class UpdateRequiredScreenTest : public OobeBaseTest {
OobeBaseTest::TearDownOnMainThread();
}
void SetEolDateUTC(const char* utc_date_string) {
base::Time utc_date;
ASSERT_TRUE(base::Time::FromUTCString(utc_date_string, &utc_date));
update_engine_client()->set_eol_date(utc_date);
}
void SetCurrentTimeUTC(const char* utc_date_string) {
base::Time utc_time;
ASSERT_TRUE(base::Time::FromUTCString(utc_date_string, &utc_time));
clock_->SetNow(utc_time);
}
void SetUpdateEngineStatus(update_engine::Operation operation) {
update_engine::StatusResult status;
status.set_current_operation(operation);
......@@ -148,7 +128,7 @@ class UpdateRequiredScreenTest : public OobeBaseTest {
}
void ShowUpdateRequiredScreen() {
WizardController::default_controller()->AdvanceToScreen(
LoginDisplayHost::default_host()->StartWizard(
UpdateRequiredView::kScreenId);
OobeScreenWaiter update_screen_waiter(UpdateRequiredView::kScreenId);
......@@ -167,21 +147,23 @@ class UpdateRequiredScreenTest : public OobeBaseTest {
// For testing captive portal
NetworkPortalDetectorMixin network_portal_detector_{&mixin_host_};
base::SimpleTestTickClock tick_clock_;
// Clock to set current time for testing EOL.
std::unique_ptr<base::SimpleTestClock> clock_;
// Handles network connections
std::unique_ptr<chromeos::NetworkStateTestHelper> network_state_test_helper_;
chromeos::DeviceStateMixin device_state_mixin_{
&mixin_host_,
chromeos::DeviceStateMixin::State::OOBE_COMPLETED_CLOUD_ENROLLED};
};
IN_PROC_BROWSER_TEST_F(UpdateRequiredScreenTest, TestCaptivePortal) {
network_portal_detector_.SimulateDefaultNetworkState(
NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL);
update_required_screen_->SetErrorMessageDelayForTesting(
base::TimeDelta::FromMilliseconds(10));
ShowUpdateRequiredScreen();
static_cast<UpdateRequiredScreen*>(
WizardController::default_controller()->current_screen())
->SetErrorMessageDelayForTesting(base::TimeDelta::FromMilliseconds(10));
test::OobeJS().ExpectVisiblePath(
{kUpdateRequiredScreen, kUpdateRequiredDialog});
......@@ -217,9 +199,8 @@ IN_PROC_BROWSER_TEST_F(UpdateRequiredScreenTest, TestCaptivePortal) {
}
IN_PROC_BROWSER_TEST_F(UpdateRequiredScreenTest, TestEolReached) {
SetEolDateUTC("1 January 2019");
SetCurrentTimeUTC("1 November 2019");
update_engine_client()->set_eol_date(
base::DefaultClock::GetInstance()->Now() - base::TimeDelta::FromDays(1));
ShowUpdateRequiredScreen();
test::OobeJS().ExpectVisiblePath(
......@@ -229,9 +210,8 @@ IN_PROC_BROWSER_TEST_F(UpdateRequiredScreenTest, TestEolReached) {
}
IN_PROC_BROWSER_TEST_F(UpdateRequiredScreenTest, TestEolNotReached) {
SetEolDateUTC("1 November 2019");
SetCurrentTimeUTC("1 January 2019");
update_engine_client()->set_eol_date(
base::DefaultClock::GetInstance()->Now() + base::TimeDelta::FromDays(1));
ShowUpdateRequiredScreen();
test::OobeJS().ExpectHiddenPath(
......
......@@ -48,7 +48,6 @@
<include src="../assistant_optin/assistant_optin_flow.html">
<include src="multidevice_setup_first_run.html">
<include src="security_token_pin.html">
<include src="update_required_card.html">
<include src="packaged_license_screen.html">
<include src="gesture_navigation.html">
<include src="checking_downloading_update.html">
......
......@@ -58,7 +58,6 @@
// <include src="../assistant_optin/assistant_optin_flow.js">
// <include src="multidevice_setup_first_run.js">
// <include src="security_token_pin.js">
// <include src="update_required_card.js">
// <include src="packaged_license_screen.js">
// <include src="gesture_navigation.js">
// <include src="checking_downloading_update.js">
......
......@@ -34,7 +34,6 @@
// <include src="screen_fatal_error.js">
// <include src="screen_active_directory_password_change.js">
// <include src="screen_encryption_migration.js">
// <include src="screen_update_required.js">
// <include src="screen_sync_consent.js">
// <include src="screen_fingerprint_setup.js">
// <include src="screen_app_downloading.js">
......@@ -86,7 +85,6 @@ cr.define('cr.ui.Oobe', function() {
login.DiscoverScreen.register();
login.AssistantOptInFlowScreen.register();
login.MultiDeviceSetupScreen.register();
login.UpdateRequiredScreen.register();
cr.ui.Bubble.decorate($('bubble-persistent'));
$('bubble-persistent').persistent = true;
......
......@@ -35,7 +35,6 @@
<device-disabled id="device-disabled" class="step hidden">
</device-disabled>
<include src="screen_active_directory_password_change.html">
<include src="screen_update_required.html">
<include src="screen_sync_consent.html">
<include src="screen_fingerprint_setup.html">
<recommend-apps id="recommend-apps" class="step right hidden" hidden>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment