Chromium Code Reviews| Index: chrome/browser/chromeos/login/user_manager_unittest.cc |
| diff --git a/chrome/browser/chromeos/login/user_manager_unittest.cc b/chrome/browser/chromeos/login/user_manager_unittest.cc |
| index b0fe8d8e8b1bdf0e1820f61af0327199926797c5..d948ee77391cf6050598d035eb6cbf7a2b0f7a1f 100644 |
| --- a/chrome/browser/chromeos/login/user_manager_unittest.cc |
| +++ b/chrome/browser/chromeos/login/user_manager_unittest.cc |
| @@ -47,7 +47,7 @@ class UserManagerTest : public testing::Test { |
| cros_settings_->AddSettingsProvider(&stub_settings_provider_); |
| // Populate the stub DeviceSettingsProvider with valid values. |
| - SetDeviceSettings(false, ""); |
| + SetDeviceSettings(false, "", false); |
| // Register an in-memory local settings instance. |
| local_state_.reset(new TestingPrefServiceSimple); |
| @@ -83,6 +83,11 @@ class UserManagerTest : public testing::Test { |
| ephemeral_users_enabled_; |
| } |
| + bool GetUserManagerLocallyManagedUsersEnabledByPolicy() const { |
| + return reinterpret_cast<UserManagerImpl*>(UserManager::Get())-> |
|
Bernhard Bauer
2013/06/21 11:59:25
I know this is copy-and-pasted from other code her
dzhioev (left Google)
2013/06/21 13:42:29
Yes, reinterpret_cast is unnecessary here. Removed
|
| + locally_managed_users_enabled_by_policy_; |
| + } |
| + |
| void SetUserManagerEphemeralUsersEnabled(bool ephemeral_users_enabled) { |
| reinterpret_cast<UserManagerImpl*>(UserManager::Get())-> |
| ephemeral_users_enabled_ = ephemeral_users_enabled; |
| @@ -107,13 +112,16 @@ class UserManagerTest : public testing::Test { |
| } |
| void SetDeviceSettings(bool ephemeral_users_enabled, |
| - const std::string &owner) { |
| + const std::string &owner, |
| + bool locally_managed_users_enabled) { |
| base::FundamentalValue |
| ephemeral_users_enabled_value(ephemeral_users_enabled); |
| stub_settings_provider_.Set(kAccountsPrefEphemeralUsersEnabled, |
| ephemeral_users_enabled_value); |
| base::StringValue owner_value(owner); |
| stub_settings_provider_.Set(kDeviceOwner, owner_value); |
| + stub_settings_provider_.Set(kAccountsPrefLocallyManagedUsersEnabled, |
| + base::FundamentalValue(locally_managed_users_enabled)); |
| } |
| void RetrieveTrustedDevicePolicies() { |
| @@ -142,7 +150,7 @@ TEST_F(UserManagerTest, RetrieveTrustedDevicePolicies) { |
| SetUserManagerEphemeralUsersEnabled(true); |
| SetUserManagerOwnerEmail(""); |
| - SetDeviceSettings(false, "owner@invalid.domain"); |
| + SetDeviceSettings(false, "owner@invalid.domain", false); |
| RetrieveTrustedDevicePolicies(); |
| EXPECT_FALSE(GetUserManagerEphemeralUsersEnabled()); |
| @@ -166,7 +174,7 @@ TEST_F(UserManagerTest, RemoveAllExceptOwnerFromList) { |
| EXPECT_EQ((*users)[1]->email(), "user0@invalid.domain"); |
| EXPECT_EQ((*users)[2]->email(), "owner@invalid.domain"); |
| - SetDeviceSettings(true, "owner@invalid.domain"); |
| + SetDeviceSettings(true, "owner@invalid.domain", false); |
| RetrieveTrustedDevicePolicies(); |
| users = &UserManager::Get()->GetUsers(); |
| @@ -175,7 +183,7 @@ TEST_F(UserManagerTest, RemoveAllExceptOwnerFromList) { |
| } |
| TEST_F(UserManagerTest, RegularUserLoggedInAsEphemeral) { |
| - SetDeviceSettings(true, "owner@invalid.domain"); |
| + SetDeviceSettings(true, "owner@invalid.domain", false); |
| RetrieveTrustedDevicePolicies(); |
| UserManager::Get()->UserLoggedIn( |
| @@ -190,4 +198,14 @@ TEST_F(UserManagerTest, RegularUserLoggedInAsEphemeral) { |
| EXPECT_EQ((*users)[0]->email(), "owner@invalid.domain"); |
| } |
| +TEST_F(UserManagerTest, DisablingLMUByDeviceSettings) { |
| + SetDeviceSettings(false, "owner@invalid.domain", false); |
| + RetrieveTrustedDevicePolicies(); |
| + EXPECT_EQ(GetUserManagerLocallyManagedUsersEnabledByPolicy(), false); |
| + SetDeviceSettings(false, "owner@invalid.domain", true); |
| + RetrieveTrustedDevicePolicies(); |
| + EXPECT_EQ(GetUserManagerLocallyManagedUsersEnabledByPolicy(), true); |
| + |
| +} |
| + |
| } // namespace chromeos |