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

Side by Side Diff: chrome/browser/chromeos/login/users/user_manager_unittest.cc

Issue 417623002: user_manager component: Add UserManagerBase class. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: check for LocalState, update test - make sure that policies are initialized on UserManager creation Created 6 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <cstdlib> 5 #include <cstdlib>
6 #include <cstring> 6 #include <cstring>
7 7
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/files/scoped_temp_dir.h" 9 #include "base/files/scoped_temp_dir.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "base/prefs/pref_service.h" 11 #include "base/prefs/pref_service.h"
12 #include "base/run_loop.h" 12 #include "base/run_loop.h"
13 #include "base/values.h" 13 #include "base/values.h"
14 #include "chrome/browser/browser_process.h" 14 #include "chrome/browser/browser_process.h"
15 #include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
15 #include "chrome/browser/chromeos/login/users/user_manager.h" 16 #include "chrome/browser/chromeos/login/users/user_manager.h"
16 #include "chrome/browser/chromeos/login/users/user_manager_impl.h"
17 #include "chrome/browser/chromeos/settings/cros_settings.h" 17 #include "chrome/browser/chromeos/settings/cros_settings.h"
18 #include "chrome/browser/chromeos/settings/device_settings_service.h" 18 #include "chrome/browser/chromeos/settings/device_settings_service.h"
19 #include "chrome/browser/chromeos/settings/stub_cros_settings_provider.h" 19 #include "chrome/browser/chromeos/settings/stub_cros_settings_provider.h"
20 #include "chrome/browser/profiles/profile_manager.h" 20 #include "chrome/browser/profiles/profile_manager.h"
21 #include "chrome/test/base/scoped_testing_local_state.h" 21 #include "chrome/test/base/scoped_testing_local_state.h"
22 #include "chrome/test/base/testing_browser_process.h" 22 #include "chrome/test/base/testing_browser_process.h"
23 #include "chrome/test/base/testing_profile.h" 23 #include "chrome/test/base/testing_profile.h"
24 #include "chromeos/chromeos_switches.h" 24 #include "chromeos/chromeos_switches.h"
25 #include "chromeos/dbus/dbus_thread_manager.h" 25 #include "chromeos/dbus/dbus_thread_manager.h"
26 #include "chromeos/dbus/fake_dbus_thread_manager.h" 26 #include "chromeos/dbus/fake_dbus_thread_manager.h"
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 cros_settings_->AddSettingsProvider(device_settings_provider_); 96 cros_settings_->AddSettingsProvider(device_settings_provider_);
97 97
98 // Shut down the DeviceSettingsService. 98 // Shut down the DeviceSettingsService.
99 DeviceSettingsService::Get()->UnsetSessionManager(); 99 DeviceSettingsService::Get()->UnsetSessionManager();
100 TestingBrowserProcess::GetGlobal()->SetProfileManager(NULL); 100 TestingBrowserProcess::GetGlobal()->SetProfileManager(NULL);
101 101
102 base::RunLoop().RunUntilIdle(); 102 base::RunLoop().RunUntilIdle();
103 chromeos::DBusThreadManager::Shutdown(); 103 chromeos::DBusThreadManager::Shutdown();
104 } 104 }
105 105
106 UserManagerImpl* GetUserManagerImpl() const { 106 ChromeUserManager* GetChromeUserManager() const {
107 return static_cast<UserManagerImpl*>(UserManager::Get()); 107 return static_cast<ChromeUserManager*>(UserManager::Get());
108 } 108 }
109 109
110 bool GetUserManagerEphemeralUsersEnabled() const { 110 bool GetUserManagerEphemeralUsersEnabled() const {
111 return GetUserManagerImpl()->ephemeral_users_enabled_; 111 return GetChromeUserManager()->GetEphemeralUsersEnabled();
112 } 112 }
113 113
114 void SetUserManagerEphemeralUsersEnabled(bool ephemeral_users_enabled) { 114 void SetUserManagerEphemeralUsersEnabled(bool ephemeral_users_enabled) {
115 GetUserManagerImpl()->ephemeral_users_enabled_ = ephemeral_users_enabled; 115 GetChromeUserManager()->SetEphemeralUsersEnabled(ephemeral_users_enabled);
116 } 116 }
117 117
118 const std::string& GetUserManagerOwnerEmail() const { 118 const std::string& GetUserManagerOwnerEmail() const {
119 return GetUserManagerImpl()-> owner_email_; 119 return GetChromeUserManager()->GetOwnerEmail();
120 } 120 }
121 121
122 void SetUserManagerOwnerEmail(const std::string& owner_email) { 122 void SetUserManagerOwnerEmail(const std::string& owner_email) {
123 GetUserManagerImpl()->owner_email_ = owner_email; 123 GetChromeUserManager()->SetOwnerEmail(owner_email);
124 } 124 }
125 125
126 void ResetUserManager() { 126 void ResetUserManager() {
127 // Reset the UserManager singleton. 127 // Reset the UserManager singleton.
128 user_manager_enabler_.reset(); 128 user_manager_enabler_.reset();
129 // Initialize the UserManager singleton to a fresh UserManagerImpl instance. 129 // Initialize the UserManager singleton to a fresh ChromeUserManager
130 // instance.
130 user_manager_enabler_.reset( 131 user_manager_enabler_.reset(
131 new ScopedUserManagerEnabler(new UserManagerImpl)); 132 new ScopedUserManagerEnabler(new ChromeUserManager));
133
134 // ChromeUserManager ctor posts a task to reload policies.
135 base::RunLoop().RunUntilIdle();
132 } 136 }
133 137
134 void SetDeviceSettings(bool ephemeral_users_enabled, 138 void SetDeviceSettings(bool ephemeral_users_enabled,
135 const std::string &owner, 139 const std::string &owner,
136 bool supervised_users_enabled) { 140 bool supervised_users_enabled) {
137 base::FundamentalValue 141 base::FundamentalValue
138 ephemeral_users_enabled_value(ephemeral_users_enabled); 142 ephemeral_users_enabled_value(ephemeral_users_enabled);
139 stub_settings_provider_.Set(kAccountsPrefEphemeralUsersEnabled, 143 stub_settings_provider_.Set(kAccountsPrefEphemeralUsersEnabled,
140 ephemeral_users_enabled_value); 144 ephemeral_users_enabled_value);
141 base::StringValue owner_value(owner); 145 base::StringValue owner_value(owner);
142 stub_settings_provider_.Set(kDeviceOwner, owner_value); 146 stub_settings_provider_.Set(kDeviceOwner, owner_value);
143 stub_settings_provider_.Set(kAccountsPrefSupervisedUsersEnabled, 147 stub_settings_provider_.Set(kAccountsPrefSupervisedUsersEnabled,
144 base::FundamentalValue(supervised_users_enabled)); 148 base::FundamentalValue(supervised_users_enabled));
145 } 149 }
146 150
147 void RetrieveTrustedDevicePolicies() { 151 void RetrieveTrustedDevicePolicies() {
148 GetUserManagerImpl()->RetrieveTrustedDevicePolicies(); 152 GetChromeUserManager()->RetrieveTrustedDevicePolicies();
149 } 153 }
150 154
151 protected: 155 protected:
152 content::TestBrowserThreadBundle thread_bundle_; 156 content::TestBrowserThreadBundle thread_bundle_;
153 157
154 CrosSettings* cros_settings_; 158 CrosSettings* cros_settings_;
155 CrosSettingsProvider* device_settings_provider_; 159 CrosSettingsProvider* device_settings_provider_;
156 StubCrosSettingsProvider stub_settings_provider_; 160 StubCrosSettingsProvider stub_settings_provider_;
157 scoped_ptr<ScopedTestingLocalState> local_state_; 161 scoped_ptr<ScopedTestingLocalState> local_state_;
158 162
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 UserManager::Get()->UserLoggedIn( 213 UserManager::Get()->UserLoggedIn(
210 "user0@invalid.domain", "user0@invalid.domain", false); 214 "user0@invalid.domain", "user0@invalid.domain", false);
211 ResetUserManager(); 215 ResetUserManager();
212 216
213 const user_manager::UserList* users = &UserManager::Get()->GetUsers(); 217 const user_manager::UserList* users = &UserManager::Get()->GetUsers();
214 EXPECT_EQ(1U, users->size()); 218 EXPECT_EQ(1U, users->size());
215 EXPECT_EQ((*users)[0]->email(), "owner@invalid.domain"); 219 EXPECT_EQ((*users)[0]->email(), "owner@invalid.domain");
216 } 220 }
217 221
218 } // namespace chromeos 222 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698