Commit 8ea21472 authored by Aga Wronska's avatar Aga Wronska Committed by Commit Bot

Mark device as registered at the end of demo mode setup flow (both

online and offline).

Bug: 868025
Test: Run DemoSetupTest, DemoSetupControllerTest and WizardControllerDemoSetupTest.
Change-Id: Ifca8bc7f4c053d2ff060ee0fc529f38690124a65
Reviewed-on: https://chromium-review.googlesource.com/1157543Reviewed-by: default avatarJacob Dufault <jdufault@chromium.org>
Reviewed-by: default avatarMichael Giuffrida <michaelpg@chromium.org>
Commit-Queue: Aga Wronska <agawronska@chromium.org>
Cr-Commit-Position: refs/heads/master@{#581260}
parent b6b61e7a
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include "base/strings/stringprintf.h" #include "base/strings/stringprintf.h"
#include "base/task/post_task.h" #include "base/task/post_task.h"
#include "chrome/browser/browser_process.h" #include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/login/startup_utils.h"
#include "chrome/browser/chromeos/login/wizard_controller.h" #include "chrome/browser/chromeos/login/wizard_controller.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/policy/device_local_account.h" #include "chrome/browser/chromeos/policy/device_local_account.h"
...@@ -229,9 +230,9 @@ void DemoSetupController::OnDeviceEnrolled( ...@@ -229,9 +230,9 @@ void DemoSetupController::OnDeviceEnrolled(
weak_ptr_factory_.GetWeakPtr())); weak_ptr_factory_.GetWeakPtr()));
return; return;
} }
Reset(); StartupUtils::MarkDeviceRegistered(
if (!on_setup_success_.is_null()) base::BindOnce(&DemoSetupController::OnDeviceRegistered,
std::move(on_setup_success_).Run(); weak_ptr_factory_.GetWeakPtr()));
} }
void DemoSetupController::OnMultipleLicensesAvailable( void DemoSetupController::OnMultipleLicensesAvailable(
...@@ -299,6 +300,13 @@ void DemoSetupController::OnDeviceLocalAccountPolicyLoaded( ...@@ -299,6 +300,13 @@ void DemoSetupController::OnDeviceLocalAccountPolicyLoaded(
device_local_account_policy_store_->Store(policy); device_local_account_policy_store_->Store(policy);
} }
void DemoSetupController::OnDeviceRegistered() {
VLOG(1) << "Demo mode setup finished successfully.";
Reset();
if (!on_setup_success_.is_null())
std::move(on_setup_success_).Run();
}
void DemoSetupController::SetupFailed(const std::string& message, void DemoSetupController::SetupFailed(const std::string& message,
DemoSetupError error) { DemoSetupError error) {
Reset(); Reset();
...@@ -322,9 +330,9 @@ void DemoSetupController::Reset() { ...@@ -322,9 +330,9 @@ void DemoSetupController::Reset() {
void DemoSetupController::OnStoreLoaded(policy::CloudPolicyStore* store) { void DemoSetupController::OnStoreLoaded(policy::CloudPolicyStore* store) {
DCHECK_EQ(store, device_local_account_policy_store_); DCHECK_EQ(store, device_local_account_policy_store_);
Reset(); StartupUtils::MarkDeviceRegistered(
if (!on_setup_success_.is_null()) base::BindOnce(&DemoSetupController::OnDeviceRegistered,
std::move(on_setup_success_).Run(); weak_ptr_factory_.GetWeakPtr()));
} }
void DemoSetupController::OnStoreError(policy::CloudPolicyStore* store) { void DemoSetupController::OnStoreError(policy::CloudPolicyStore* store) {
......
...@@ -103,6 +103,10 @@ class DemoSetupController ...@@ -103,6 +103,10 @@ class DemoSetupController
// loaded. // loaded.
void OnDeviceLocalAccountPolicyLoaded(base::Optional<std::string> blob); void OnDeviceLocalAccountPolicyLoaded(base::Optional<std::string> blob);
// Called when device is marked as registered and the second part of OOBE flow
// is completed. This is the last step of demo mode setup flow.
void OnDeviceRegistered();
// Finish the flow with an error message. // Finish the flow with an error message.
void SetupFailed(const std::string& message, DemoSetupError error); void SetupFailed(const std::string& message, DemoSetupError error);
......
...@@ -15,6 +15,8 @@ ...@@ -15,6 +15,8 @@
#include "base/test/scoped_task_environment.h" #include "base/test/scoped_task_environment.h"
#include "chrome/browser/chromeos/login/demo_mode/demo_setup_test_utils.h" #include "chrome/browser/chromeos/login/demo_mode/demo_setup_test_utils.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h" #include "chrome/browser/chromeos/settings/device_settings_service.h"
#include "chrome/test/base/scoped_testing_local_state.h"
#include "chrome/test/base/testing_browser_process.h"
#include "chromeos/cryptohome/system_salt_getter.h" #include "chromeos/cryptohome/system_salt_getter.h"
#include "chromeos/dbus/dbus_thread_manager.h" #include "chromeos/dbus/dbus_thread_manager.h"
#include "components/policy/core/common/cloud/mock_cloud_policy_store.h" #include "components/policy/core/common/cloud/mock_cloud_policy_store.h"
...@@ -81,7 +83,8 @@ class DemoSetupControllerTestHelper { ...@@ -81,7 +83,8 @@ class DemoSetupControllerTestHelper {
class DemoSetupControllerTest : public testing::Test { class DemoSetupControllerTest : public testing::Test {
protected: protected:
DemoSetupControllerTest() = default; DemoSetupControllerTest()
: testing_local_state_(TestingBrowserProcess::GetGlobal()) {}
~DemoSetupControllerTest() override = default; ~DemoSetupControllerTest() override = default;
void SetUp() override { void SetUp() override {
...@@ -103,6 +106,7 @@ class DemoSetupControllerTest : public testing::Test { ...@@ -103,6 +106,7 @@ class DemoSetupControllerTest : public testing::Test {
private: private:
base::test::ScopedTaskEnvironment scoped_task_environment_; base::test::ScopedTaskEnvironment scoped_task_environment_;
ScopedTestingLocalState testing_local_state_;
DISALLOW_COPY_AND_ASSIGN(DemoSetupControllerTest); DISALLOW_COPY_AND_ASSIGN(DemoSetupControllerTest);
}; };
......
...@@ -506,6 +506,8 @@ IN_PROC_BROWSER_TEST_F(DemoSetupTest, OnlineSetupFlowSuccess) { ...@@ -506,6 +506,8 @@ IN_PROC_BROWSER_TEST_F(DemoSetupTest, OnlineSetupFlowSuccess) {
// needed to be able to check it reliably. // needed to be able to check it reliably.
OobeScreenWaiter(OobeScreen::SCREEN_GAIA_SIGNIN).Wait(); OobeScreenWaiter(OobeScreen::SCREEN_GAIA_SIGNIN).Wait();
EXPECT_TRUE(StartupUtils::IsOobeCompleted());
EXPECT_TRUE(StartupUtils::IsDeviceRegistered());
} }
IN_PROC_BROWSER_TEST_F(DemoSetupTest, OnlineSetupFlowError) { IN_PROC_BROWSER_TEST_F(DemoSetupTest, OnlineSetupFlowError) {
...@@ -554,6 +556,8 @@ IN_PROC_BROWSER_TEST_F(DemoSetupTest, OnlineSetupFlowError) { ...@@ -554,6 +556,8 @@ IN_PROC_BROWSER_TEST_F(DemoSetupTest, OnlineSetupFlowError) {
// needed to be able to check it reliably. // needed to be able to check it reliably.
WaitForScreenDialog(OobeScreen::SCREEN_OOBE_DEMO_SETUP, WaitForScreenDialog(OobeScreen::SCREEN_OOBE_DEMO_SETUP,
DemoSetupDialog::kError); DemoSetupDialog::kError);
EXPECT_FALSE(StartupUtils::IsOobeCompleted());
EXPECT_FALSE(StartupUtils::IsDeviceRegistered());
} }
IN_PROC_BROWSER_TEST_F(DemoSetupTest, OfflineSetupFlowSuccess) { IN_PROC_BROWSER_TEST_F(DemoSetupTest, OfflineSetupFlowSuccess) {
...@@ -597,6 +601,8 @@ IN_PROC_BROWSER_TEST_F(DemoSetupTest, OfflineSetupFlowSuccess) { ...@@ -597,6 +601,8 @@ IN_PROC_BROWSER_TEST_F(DemoSetupTest, OfflineSetupFlowSuccess) {
// needed to be able to check it reliably. // needed to be able to check it reliably.
OobeScreenWaiter(OobeScreen::SCREEN_GAIA_SIGNIN).Wait(); OobeScreenWaiter(OobeScreen::SCREEN_GAIA_SIGNIN).Wait();
EXPECT_TRUE(StartupUtils::IsOobeCompleted());
EXPECT_TRUE(StartupUtils::IsDeviceRegistered());
} }
IN_PROC_BROWSER_TEST_F(DemoSetupTest, OfflineSetupFlowError) { IN_PROC_BROWSER_TEST_F(DemoSetupTest, OfflineSetupFlowError) {
...@@ -639,6 +645,9 @@ IN_PROC_BROWSER_TEST_F(DemoSetupTest, OfflineSetupFlowError) { ...@@ -639,6 +645,9 @@ IN_PROC_BROWSER_TEST_F(DemoSetupTest, OfflineSetupFlowError) {
// needed to be able to check it reliably. // needed to be able to check it reliably.
WaitForScreenDialog(OobeScreen::SCREEN_OOBE_DEMO_SETUP, WaitForScreenDialog(OobeScreen::SCREEN_OOBE_DEMO_SETUP,
DemoSetupDialog::kError); DemoSetupDialog::kError);
EXPECT_FALSE(StartupUtils::IsOobeCompleted());
EXPECT_FALSE(StartupUtils::IsDeviceRegistered());
} }
IN_PROC_BROWSER_TEST_F(DemoSetupTest, NextDisabledOnNetworkScreen) { IN_PROC_BROWSER_TEST_F(DemoSetupTest, NextDisabledOnNetworkScreen) {
......
...@@ -2358,6 +2358,7 @@ IN_PROC_BROWSER_TEST_F(WizardControllerDemoSetupTest, DemoSetupCanceled) { ...@@ -2358,6 +2358,7 @@ IN_PROC_BROWSER_TEST_F(WizardControllerDemoSetupTest, DemoSetupCanceled) {
CheckCurrentScreen(OobeScreen::SCREEN_OOBE_WELCOME); CheckCurrentScreen(OobeScreen::SCREEN_OOBE_WELCOME);
EXPECT_FALSE(DemoSetupController::IsOobeDemoSetupFlowInProgress()); EXPECT_FALSE(DemoSetupController::IsOobeDemoSetupFlowInProgress());
EXPECT_FALSE(StartupUtils::IsOobeCompleted());
} }
IN_PROC_BROWSER_TEST_F(WizardControllerDemoSetupTest, DemoPreferencesCanceled) { IN_PROC_BROWSER_TEST_F(WizardControllerDemoSetupTest, DemoPreferencesCanceled) {
......
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