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

Unified Diff: chrome/browser/chromeos/arc/arc_auth_service_unittest.cc

Issue 1922143002: Disabled ARC for ephemeral users. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: addressed comments Created 4 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/arc/arc_auth_service_unittest.cc
diff --git a/chrome/browser/chromeos/arc/arc_auth_service_unittest.cc b/chrome/browser/chromeos/arc/arc_auth_service_unittest.cc
index 5b9d6619f96a21f9f0079a960d693bbac16f1072..ba66555a875f87297c9472d6d79915d942bde3a3 100644
--- a/chrome/browser/chromeos/arc/arc_auth_service_unittest.cc
+++ b/chrome/browser/chromeos/arc/arc_auth_service_unittest.cc
@@ -15,11 +15,13 @@
#include "chrome/browser/chromeos/arc/arc_auth_service.h"
#include "chrome/browser/chromeos/login/users/fake_chrome_user_manager.h"
#include "chrome/browser/chromeos/login/users/scoped_user_manager_enabler.h"
+#include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/prefs/pref_service_syncable_util.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/pref_names.h"
#include "chrome/test/base/testing_profile.h"
+#include "chromeos/login/user_names.h"
#include "components/arc/arc_bridge_service.h"
#include "components/arc/test/fake_arc_bridge_service.h"
#include "components/prefs/pref_service.h"
@@ -74,6 +76,8 @@ class ArcAuthServiceTest : public testing::Test {
AccountId::FromUserEmailGaiaId("user@gmail.com", "1234567890"));
GetFakeUserManager()->AddUser(account_id);
GetFakeUserManager()->LoginUser(account_id);
+
+ chromeos::WallpaperManager::Initialize();
}
void TearDown() override {}
@@ -128,6 +132,43 @@ TEST_F(ArcAuthServiceTest, PrefChangeTriggersService) {
auth_service()->Shutdown();
}
+TEST_F(ArcAuthServiceTest, DisabledForEphemeralDataUsers) {
+ PrefService* const prefs = profile()->GetPrefs();
+ EXPECT_FALSE(prefs->GetBoolean(prefs::kArcSignedIn));
+ prefs->SetBoolean(prefs::kArcEnabled, true);
+
+ chromeos::FakeChromeUserManager* const fake_user_manager =
+ GetFakeUserManager();
+
+ fake_user_manager->AddUser(fake_user_manager->GetGuestAccountId());
+ fake_user_manager->SwitchActiveUser(fake_user_manager->GetGuestAccountId());
+ auth_service()->OnPrimaryUserProfilePrepared(profile());
+ ASSERT_EQ(ArcAuthService::State::STOPPED, auth_service()->state());
+
+ fake_user_manager->AddUser(chromeos::login::DemoAccountId());
+ fake_user_manager->SwitchActiveUser(chromeos::login::DemoAccountId());
+ auth_service()->OnPrimaryUserProfilePrepared(profile());
+ ASSERT_EQ(ArcAuthService::State::STOPPED, auth_service()->state());
+
+ const AccountId public_account_id(
+ AccountId::FromUserEmail("public_user@gmail.com"));
+ fake_user_manager->AddPublicAccountUser(public_account_id);
+ fake_user_manager->SwitchActiveUser(public_account_id);
+ auth_service()->OnPrimaryUserProfilePrepared(profile());
+ ASSERT_EQ(ArcAuthService::State::STOPPED, auth_service()->state());
+
+ const AccountId not_in_list_account_id(
+ AccountId::FromUserEmail("not_in_list_user@gmail.com"));
+ fake_user_manager->AddUser(not_in_list_account_id);
+ fake_user_manager->SwitchActiveUser(not_in_list_account_id);
+ fake_user_manager->RemoveUserFromList(not_in_list_account_id);
+ auth_service()->OnPrimaryUserProfilePrepared(profile());
+ ASSERT_EQ(ArcAuthService::State::STOPPED, auth_service()->state());
+
+ // Correctly stop service.
+ auth_service()->Shutdown();
+}
+
TEST_F(ArcAuthServiceTest, BaseWorkflow) {
ASSERT_EQ(ArcBridgeService::State::STOPPED, bridge_service()->state());
ASSERT_EQ(ArcAuthService::State::STOPPED, auth_service()->state());
« no previous file with comments | « chrome/browser/chromeos/arc/arc_auth_service.cc ('k') | chrome/browser/chromeos/login/users/fake_chrome_user_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698