Commit 88f6870d authored by Yusuke Sato's avatar Yusuke Sato Committed by Commit Bot

arc: Make ARC {unit,browser}_tests more future proof

chromium:2025697 has introduced a new observer interface called
arc::ArcSessionManager::Observer::OnPropertyFilesExpanded().
This CL is to make it so that all arc::ArcSessionManager
instances in unit_ and browser_tests properly call the new
observer interface just like the production code does.

This is not currently mandatory but makes the test code more
future proof.

BUG=b:144199481
TEST=try

Change-Id: I93c18a12ff406b36a1c484c24ab4b9f806fa38bb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2033691Reviewed-by: default avatarKyle Horimoto <khorimoto@chromium.org>
Reviewed-by: default avatarHidehiko Abe <hidehiko@chromium.org>
Reviewed-by: default avatarXiyuan Xia <xiyuan@chromium.org>
Commit-Queue: Yusuke Sato <yusukes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#737881}
parent ac540b1e
......@@ -10,6 +10,7 @@
#include "base/command_line.h"
#include "base/threading/platform_thread.h"
#include "chrome/browser/chromeos/arc/arc_util.h"
#include "chrome/browser/chromeos/arc/test/test_arc_session_manager.h"
#include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h"
#include "chrome/test/base/testing_profile.h"
#include "chromeos/dbus/session_manager/fake_session_manager_client.h"
......@@ -32,8 +33,8 @@ class ArcBootPhaseMonitorBridgeTest : public testing::Test {
: scoped_user_manager_(
std::make_unique<chromeos::FakeChromeUserManager>()),
arc_service_manager_(std::make_unique<ArcServiceManager>()),
arc_session_manager_(std::make_unique<ArcSessionManager>(
std::make_unique<ArcSessionRunner>(
arc_session_manager_(
CreateTestArcSessionManager(std::make_unique<ArcSessionRunner>(
base::BindRepeating(FakeArcSession::Create)))),
testing_profile_(std::make_unique<TestingProfile>()),
record_uma_counter_(0) {
......
......@@ -13,6 +13,7 @@
#include "base/test/task_environment.h"
#include "chrome/browser/chromeos/arc/boot_phase_monitor/arc_boot_phase_monitor_bridge.h"
#include "chrome/browser/chromeos/arc/session/arc_session_manager.h"
#include "chrome/browser/chromeos/arc/test/test_arc_session_manager.h"
#include "chrome/browser/chromeos/throttle_observer.h"
#include "chrome/test/base/testing_profile.h"
#include "components/arc/arc_prefs.h"
......@@ -29,8 +30,8 @@ class ArcInstanceThrottleTest : public testing::Test {
public:
ArcInstanceThrottleTest()
: arc_service_manager_(std::make_unique<ArcServiceManager>()),
arc_session_manager_(std::make_unique<ArcSessionManager>(
std::make_unique<ArcSessionRunner>(
arc_session_manager_(
CreateTestArcSessionManager(std::make_unique<ArcSessionRunner>(
base::BindRepeating(FakeArcSession::Create)))),
testing_profile_(std::make_unique<TestingProfile>()),
disable_cpu_restriction_counter_(0),
......
......@@ -11,6 +11,7 @@
#include "base/test/scoped_feature_list.h"
#include "chrome/browser/chromeos/arc/arc_optin_uma.h"
#include "chrome/browser/chromeos/arc/session/arc_session_manager.h"
#include "chrome/browser/chromeos/arc/test/test_arc_session_manager.h"
#include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h"
#include "chrome/browser/chromeos/settings/stats_reporting_controller.h"
#include "chrome/browser/ui/zoom/chrome_zoom_level_prefs.h"
......@@ -60,7 +61,7 @@ class ArcSettingsServiceTest : public BrowserWithTestWindowTest {
arc_service_manager_ = std::make_unique<ArcServiceManager>();
arc_session_manager_ =
std::make_unique<ArcSessionManager>(std::make_unique<ArcSessionRunner>(
CreateTestArcSessionManager(std::make_unique<ArcSessionRunner>(
base::BindRepeating(FakeArcSession::Create)));
BrowserWithTestWindowTest::SetUp();
......
......@@ -13,6 +13,7 @@
#include "chrome/browser/chromeos/arc/arc_optin_uma.h"
#include "chrome/browser/chromeos/arc/arc_util.h"
#include "chrome/browser/chromeos/arc/session/arc_session_manager.h"
#include "chrome/browser/chromeos/arc/test/test_arc_session_manager.h"
#include "chrome/browser/chromeos/login/ui/fake_login_display_host.h"
#include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h"
#include "chrome/browser/notifications/notification_display_service_tester.h"
......@@ -47,7 +48,7 @@ class ArcProvisionNotificationServiceTest : public BrowserWithTestWindowTest {
arc_service_manager_ = std::make_unique<ArcServiceManager>();
arc_session_manager_ =
std::make_unique<ArcSessionManager>(std::make_unique<ArcSessionRunner>(
CreateTestArcSessionManager(std::make_unique<ArcSessionRunner>(
base::BindRepeating(FakeArcSession::Create)));
// This creates |profile()|, so it has to come after the arc managers.
......
......@@ -14,6 +14,7 @@
#include "chrome/browser/chromeos/arc/arc_util.h"
#include "chrome/browser/chromeos/arc/session/arc_session_manager.h"
#include "chrome/browser/chromeos/arc/test/arc_data_removed_waiter.h"
#include "chrome/browser/chromeos/arc/test/test_arc_session_manager.h"
#include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h"
#include "chrome/browser/consent_auditor/consent_auditor_factory.h"
#include "chrome/browser/consent_auditor/consent_auditor_test_utils.h"
......@@ -72,7 +73,7 @@ class ArcPlayStoreEnabledPreferenceHandlerTest : public testing::Test {
std::make_unique<IdentityTestEnvironmentProfileAdaptor>(profile_.get());
arc_session_manager_ =
std::make_unique<ArcSessionManager>(std::make_unique<ArcSessionRunner>(
CreateTestArcSessionManager(std::make_unique<ArcSessionRunner>(
base::BindRepeating(FakeArcSession::Create)));
preference_handler_ =
std::make_unique<ArcPlayStoreEnabledPreferenceHandler>(
......
......@@ -19,6 +19,7 @@
#include "base/test/simple_test_tick_clock.h"
#include "base/values.h"
#include "chrome/browser/chromeos/arc/session/arc_session_manager.h"
#include "chrome/browser/chromeos/arc/test/test_arc_session_manager.h"
#include "chrome/browser/chromeos/lock_screen_apps/fake_lock_screen_profile_creator.h"
#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/note_taking_helper.h"
......@@ -154,7 +155,7 @@ class LockScreenAppManagerImplTest
InitExtensionSystem(profile());
// Initialize arc session manager - NoteTakingHelper expects it to be set.
arc_session_manager_ = std::make_unique<arc::ArcSessionManager>(
arc_session_manager_ = arc::CreateTestArcSessionManager(
std::make_unique<arc::ArcSessionRunner>(
base::BindRepeating(&ArcSessionFactory)));
......
......@@ -18,6 +18,7 @@
#include "base/test/metrics/histogram_tester.h"
#include "base/test/simple_test_tick_clock.h"
#include "chrome/browser/chromeos/arc/session/arc_session_manager.h"
#include "chrome/browser/chromeos/arc/test/test_arc_session_manager.h"
#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h"
#include "chrome/browser/chromeos/note_taking_helper.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
......@@ -225,7 +226,7 @@ class LockScreenProfileCreatorImplTest : public testing::Test {
profile_manager.release());
// Needed by note taking helper.
arc_session_manager_ = std::make_unique<arc::ArcSessionManager>(
arc_session_manager_ = arc::CreateTestArcSessionManager(
std::make_unique<arc::ArcSessionRunner>(
base::BindRepeating(&ArcSessionFactory)));
chromeos::NoteTakingHelper::Initialize();
......
......@@ -21,6 +21,7 @@
#include "base/test/simple_test_tick_clock.h"
#include "base/time/time.h"
#include "chrome/browser/chromeos/arc/session/arc_session_manager.h"
#include "chrome/browser/chromeos/arc/test/test_arc_session_manager.h"
#include "chrome/browser/chromeos/lock_screen_apps/app_manager.h"
#include "chrome/browser/chromeos/lock_screen_apps/fake_lock_screen_profile_creator.h"
#include "chrome/browser/chromeos/lock_screen_apps/first_app_run_toast_manager.h"
......@@ -395,7 +396,7 @@ class LockScreenAppStateTest : public BrowserWithTestWindowTest {
session_manager::SessionState::LOGIN_PRIMARY);
// Initialize arc session manager - NoteTakingHelper expects it to be set.
arc_session_manager_ = std::make_unique<arc::ArcSessionManager>(
arc_session_manager_ = arc::CreateTestArcSessionManager(
std::make_unique<arc::ArcSessionRunner>(
base::BindRepeating(&ArcSessionFactory)));
......
// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
......@@ -9,6 +8,7 @@
#include "ash/public/cpp/test/shell_test_api.h"
#include "base/bind.h"
#include "base/command_line.h"
#include "base/files/scoped_temp_dir.h"
#include "base/macros.h"
#include "base/optional.h"
#include "base/test/scoped_feature_list.h"
......@@ -19,6 +19,7 @@
#include "chrome/browser/chrome_browser_main_extra_parts.h"
#include "chrome/browser/chromeos/arc/session/arc_service_launcher.h"
#include "chrome/browser/chromeos/arc/session/arc_session_manager.h"
#include "chrome/browser/chromeos/arc/test/test_arc_session_manager.h"
#include "chrome/browser/chromeos/extensions/quick_unlock_private/quick_unlock_private_api.h"
#include "chrome/browser/chromeos/login/quick_unlock/quick_unlock_utils.h"
#include "chrome/browser/chromeos/login/screens/recommend_apps/recommend_apps_fetcher.h"
......@@ -474,6 +475,8 @@ class OobeEndToEndTestSetupMixin : public InProcessBrowserTestMixin {
}
void SetUpOnMainThread() override {
ASSERT_TRUE(arc_temp_dir_.CreateUniqueTempDir());
if (params_.is_tablet)
ash::ShellTestApi().SetTabletModeEnabledForTest(true);
......@@ -483,6 +486,8 @@ class OobeEndToEndTestSetupMixin : public InProcessBrowserTestMixin {
arc::ArcSessionManager::Get()->SetArcSessionRunnerForTesting(
std::make_unique<arc::ArcSessionRunner>(
base::BindRepeating(arc::FakeArcSession::Create)));
EXPECT_TRUE(arc::ExpandPropertyFilesForTesting(
arc::ArcSessionManager::Get(), arc_temp_dir_.GetPath()));
if (arc_tos_server_) {
test::OobeJS().Evaluate(base::StringPrintf(
......@@ -524,6 +529,7 @@ class OobeEndToEndTestSetupMixin : public InProcessBrowserTestMixin {
std::unique_ptr<ScopedTestRecommendAppsFetcherFactory>
recommend_apps_fetcher_factory_;
net::EmbeddedTestServer* arc_tos_server_;
base::ScopedTempDir arc_temp_dir_;
DISALLOW_COPY_AND_ASSIGN(OobeEndToEndTestSetupMixin);
};
......
......@@ -6,11 +6,13 @@
#include <string>
#include "ash/public/cpp/login_screen_test_api.h"
#include "base/files/scoped_temp_dir.h"
#include "base/run_loop.h"
#include "base/timer/timer.h"
#include "chrome/browser/chromeos/arc/arc_util.h"
#include "chrome/browser/chromeos/arc/session/arc_service_launcher.h"
#include "chrome/browser/chromeos/arc/session/arc_session_manager.h"
#include "chrome/browser/chromeos/arc/test/test_arc_session_manager.h"
#include "chrome/browser/chromeos/login/test/js_checker.h"
#include "chrome/browser/chromeos/login/test/oobe_screen_waiter.h"
#include "chrome/browser/chromeos/login/ui/login_display_host.h"
......@@ -47,12 +49,15 @@ class SupervisionTransitionScreenTest
}
void SetUpOnMainThread() override {
ASSERT_TRUE(arc_temp_dir_.CreateUniqueTempDir());
CHECK(logged_in_user_mixin_.GetUserPolicyMixin()->RequestPolicyUpdate());
arc::ArcServiceLauncher::Get()->ResetForTesting();
arc::ArcSessionManager::Get()->SetArcSessionRunnerForTesting(
std::make_unique<arc::ArcSessionRunner>(
base::BindRepeating(arc::FakeArcSession::Create)));
EXPECT_TRUE(arc::ExpandPropertyFilesForTesting(
arc::ArcSessionManager::Get(), arc_temp_dir_.GetPath()));
MixinBasedInProcessBrowserTest::SetUpOnMainThread();
// For this test class, the PRE tests just happen to always wait for active
......@@ -81,6 +86,7 @@ class SupervisionTransitionScreenTest
LoggedInUserMixin logged_in_user_mixin_{
&mixin_host_, content::IsPreTest() ? GetParam() : GetTargetUserType(),
embedded_test_server(), this, false /*should_launch_browser*/};
base::ScopedTempDir arc_temp_dir_;
};
IN_PROC_BROWSER_TEST_P(SupervisionTransitionScreenTest,
......
......@@ -10,6 +10,7 @@
#include "base/memory/ptr_util.h"
#include "build/build_config.h"
#include "chrome/browser/chromeos/arc/session/arc_session_manager.h"
#include "chrome/browser/chromeos/arc/test/test_arc_session_manager.h"
#include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#include "chrome/browser/chromeos/settings/scoped_testing_cros_settings.h"
......@@ -47,7 +48,7 @@ class LockToSingleUserManagerTest : public BrowserWithTestWindowTest {
settings_helper_.ReplaceDeviceSettingsProviderWithStub();
arc::ArcSessionManager::SetUiEnabledForTesting(false);
arc_service_manager_ = std::make_unique<arc::ArcServiceManager>();
arc_session_manager_ = std::make_unique<arc::ArcSessionManager>(
arc_session_manager_ = arc::CreateTestArcSessionManager(
std::make_unique<arc::ArcSessionRunner>(
base::BindRepeating(arc::FakeArcSession::Create)));
......
......@@ -14,6 +14,7 @@
#include "chrome/browser/chromeos/arc/arc_util.h"
#include "chrome/browser/chromeos/arc/session/arc_play_store_enabled_preference_handler.h"
#include "chrome/browser/chromeos/arc/session/arc_session_manager.h"
#include "chrome/browser/chromeos/arc/test/test_arc_session_manager.h"
#include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/profiles/profile.h"
......@@ -99,8 +100,8 @@ void ArcAppTest::SetUp(Profile* profile) {
profile_);
}
arc_service_manager_ = std::make_unique<arc::ArcServiceManager>();
arc_session_manager_ = std::make_unique<arc::ArcSessionManager>(
std::make_unique<arc::ArcSessionRunner>(
arc_session_manager_ =
arc::CreateTestArcSessionManager(std::make_unique<arc::ArcSessionRunner>(
base::BindRepeating(arc::FakeArcSession::Create)));
DCHECK(arc::ArcSessionManager::Get());
arc::ArcSessionManager::SetUiEnabledForTesting(false);
......
......@@ -11,6 +11,7 @@
#include "base/bind.h"
#include "base/files/scoped_temp_dir.h"
#include "chrome/browser/chromeos/arc/session/arc_session_manager.h"
#include "chrome/browser/chromeos/arc/test/test_arc_session_manager.h"
#include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h"
#include "chrome/test/base/chrome_ash_test_base.h"
#include "chrome/test/base/testing_profile.h"
......@@ -39,7 +40,7 @@ class AssistantStateClientTest : public ChromeAshTestBase {
profile_ = profile_builder.Build();
// Setup dependencies
arc_session_manager_ = std::make_unique<arc::ArcSessionManager>(
arc_session_manager_ = arc::CreateTestArcSessionManager(
std::make_unique<arc::ArcSessionRunner>(
base::BindRepeating(arc::FakeArcSession::Create)));
const AccountId account_id(AccountId::FromUserEmailGaiaId(
......
......@@ -10,6 +10,7 @@
#include "base/strings/utf_string_conversions.h"
#include "base/system/sys_info.h"
#include "chrome/browser/chromeos/arc/session/arc_session_manager.h"
#include "chrome/browser/chromeos/arc/test/test_arc_session_manager.h"
#include "chrome/browser/chromeos/file_manager/fake_disk_mount_manager.h"
#include "chrome/browser/chromeos/file_manager/path_util.h"
#include "chrome/browser/chromeos/scoped_set_running_on_chromeos_for_testing.h"
......@@ -56,7 +57,7 @@ class StorageHandlerTest : public testing::Test {
chromeos::disks::DiskMountManager::InitializeForTesting(
new file_manager::FakeDiskMountManager);
arc_service_manager_ = std::make_unique<arc::ArcServiceManager>();
arc_session_manager_ = std::make_unique<arc::ArcSessionManager>(
arc_session_manager_ = arc::CreateTestArcSessionManager(
std::make_unique<arc::ArcSessionRunner>(
base::BindRepeating(arc::FakeArcSession::Create)));
......
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