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

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

Issue 1425093004: Revert of This CL replaces user_manager::UserID with AccountId. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@468875--Chrome-OS-handles-deletion-of-Gmail-account-poorly--Create-AccountID-structure-part2--user_names
Patch Set: Created 5 years, 1 month 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
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/file_util.h" 9 #include "base/files/file_util.h"
10 #include "base/files/scoped_temp_dir.h" 10 #include "base/files/scoped_temp_dir.h"
(...skipping 29 matching lines...) Expand all
40 Profile* CreateProfileHelper(const base::FilePath& file_path) override { 40 Profile* CreateProfileHelper(const base::FilePath& file_path) override {
41 if (!base::PathExists(file_path)) { 41 if (!base::PathExists(file_path)) {
42 if (!base::CreateDirectory(file_path)) 42 if (!base::CreateDirectory(file_path))
43 return NULL; 43 return NULL;
44 } 44 }
45 return new TestingProfile(file_path, NULL); 45 return new TestingProfile(file_path, NULL);
46 } 46 }
47 }; 47 };
48 48
49 class UserManagerTest : public testing::Test { 49 class UserManagerTest : public testing::Test {
50 public:
51 UserManagerTest() {}
52
53 protected: 50 protected:
54 void SetUp() override { 51 void SetUp() override {
55 base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess(); 52 base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess();
56 command_line.AppendSwitch(::switches::kTestType); 53 command_line.AppendSwitch(::switches::kTestType);
57 command_line.AppendSwitch( 54 command_line.AppendSwitch(
58 chromeos::switches::kIgnoreUserProfileMappingForTests); 55 chromeos::switches::kIgnoreUserProfileMappingForTests);
59 56
60 settings_helper_.ReplaceProvider(kDeviceOwner); 57 settings_helper_.ReplaceProvider(kDeviceOwner);
61 58
62 // Populate the stub DeviceSettingsProvider with valid values. 59 // Populate the stub DeviceSettingsProvider with valid values.
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 } 92 }
96 93
97 bool GetUserManagerEphemeralUsersEnabled() const { 94 bool GetUserManagerEphemeralUsersEnabled() const {
98 return GetChromeUserManager()->GetEphemeralUsersEnabled(); 95 return GetChromeUserManager()->GetEphemeralUsersEnabled();
99 } 96 }
100 97
101 void SetUserManagerEphemeralUsersEnabled(bool ephemeral_users_enabled) { 98 void SetUserManagerEphemeralUsersEnabled(bool ephemeral_users_enabled) {
102 GetChromeUserManager()->SetEphemeralUsersEnabled(ephemeral_users_enabled); 99 GetChromeUserManager()->SetEphemeralUsersEnabled(ephemeral_users_enabled);
103 } 100 }
104 101
105 AccountId GetUserManagerOwnerId() const { 102 const std::string& GetUserManagerOwnerEmail() const {
106 return GetChromeUserManager()->GetOwnerAccountId(); 103 return GetChromeUserManager()->GetOwnerEmail();
107 } 104 }
108 105
109 void SetUserManagerOwnerId(const AccountId& owner_account_id) { 106 void SetUserManagerOwnerEmail(const std::string& owner_email) {
110 GetChromeUserManager()->SetOwnerId(owner_account_id); 107 GetChromeUserManager()->SetOwnerEmail(owner_email);
111 } 108 }
112 109
113 void ResetUserManager() { 110 void ResetUserManager() {
114 // Reset the UserManager singleton. 111 // Reset the UserManager singleton.
115 user_manager_enabler_.reset(); 112 user_manager_enabler_.reset();
116 // Initialize the UserManager singleton to a fresh ChromeUserManagerImpl 113 // Initialize the UserManager singleton to a fresh ChromeUserManagerImpl
117 // instance. 114 // instance.
118 user_manager_enabler_.reset( 115 user_manager_enabler_.reset(
119 new ScopedUserManagerEnabler(new ChromeUserManagerImpl)); 116 new ScopedUserManagerEnabler(new ChromeUserManagerImpl));
120 117
121 // ChromeUserManagerImpl ctor posts a task to reload policies. 118 // ChromeUserManagerImpl ctor posts a task to reload policies.
122 base::RunLoop().RunUntilIdle(); 119 base::RunLoop().RunUntilIdle();
123 } 120 }
124 121
125 void SetDeviceSettings(bool ephemeral_users_enabled, 122 void SetDeviceSettings(bool ephemeral_users_enabled,
126 const std::string &owner, 123 const std::string &owner,
127 bool supervised_users_enabled) { 124 bool supervised_users_enabled) {
128 settings_helper_.SetBoolean(kAccountsPrefEphemeralUsersEnabled, 125 settings_helper_.SetBoolean(kAccountsPrefEphemeralUsersEnabled,
129 ephemeral_users_enabled); 126 ephemeral_users_enabled);
130 settings_helper_.SetString(kDeviceOwner, owner); 127 settings_helper_.SetString(kDeviceOwner, owner);
131 settings_helper_.SetBoolean(kAccountsPrefSupervisedUsersEnabled, 128 settings_helper_.SetBoolean(kAccountsPrefSupervisedUsersEnabled,
132 supervised_users_enabled); 129 supervised_users_enabled);
133 } 130 }
134 131
135 void RetrieveTrustedDevicePolicies() { 132 void RetrieveTrustedDevicePolicies() {
136 GetChromeUserManager()->RetrieveTrustedDevicePolicies(); 133 GetChromeUserManager()->RetrieveTrustedDevicePolicies();
137 } 134 }
138 135
139 const AccountId owner_account_id_at_invalid_domain_ =
140 AccountId::FromUserEmail("owner@invalid.domain");
141 const AccountId account_id0_at_invalid_domain_ =
142 AccountId::FromUserEmail("user0@invalid.domain");
143 const AccountId account_id1_at_invalid_domain_ =
144 AccountId::FromUserEmail("user1@invalid.domain");
145
146 protected: 136 protected:
147 content::TestBrowserThreadBundle thread_bundle_; 137 content::TestBrowserThreadBundle thread_bundle_;
148 138
149 ScopedCrosSettingsTestHelper settings_helper_; 139 ScopedCrosSettingsTestHelper settings_helper_;
150 scoped_ptr<ScopedTestingLocalState> local_state_; 140 scoped_ptr<ScopedTestingLocalState> local_state_;
151 141
152 scoped_ptr<ScopedUserManagerEnabler> user_manager_enabler_; 142 scoped_ptr<ScopedUserManagerEnabler> user_manager_enabler_;
153 base::ScopedTempDir temp_dir_; 143 base::ScopedTempDir temp_dir_;
154 }; 144 };
155 145
156 TEST_F(UserManagerTest, RetrieveTrustedDevicePolicies) { 146 TEST_F(UserManagerTest, RetrieveTrustedDevicePolicies) {
157 SetUserManagerEphemeralUsersEnabled(true); 147 SetUserManagerEphemeralUsersEnabled(true);
158 SetUserManagerOwnerId(EmptyAccountId()); 148 SetUserManagerOwnerEmail("");
159 149
160 SetDeviceSettings(false, owner_account_id_at_invalid_domain_.GetUserEmail(), 150 SetDeviceSettings(false, "owner@invalid.domain", false);
161 false);
162 RetrieveTrustedDevicePolicies(); 151 RetrieveTrustedDevicePolicies();
163 152
164 EXPECT_FALSE(GetUserManagerEphemeralUsersEnabled()); 153 EXPECT_FALSE(GetUserManagerEphemeralUsersEnabled());
165 EXPECT_EQ(GetUserManagerOwnerId(), owner_account_id_at_invalid_domain_); 154 EXPECT_EQ(GetUserManagerOwnerEmail(), "owner@invalid.domain");
166 } 155 }
167 156
168 TEST_F(UserManagerTest, RemoveAllExceptOwnerFromList) { 157 TEST_F(UserManagerTest, RemoveAllExceptOwnerFromList) {
169 user_manager::UserManager::Get()->UserLoggedIn( 158 user_manager::UserManager::Get()->UserLoggedIn(
170 owner_account_id_at_invalid_domain_, 159 "owner@invalid.domain", "owner@invalid.domain", false);
171 owner_account_id_at_invalid_domain_.GetUserEmail(), false);
172 ResetUserManager(); 160 ResetUserManager();
173 user_manager::UserManager::Get()->UserLoggedIn( 161 user_manager::UserManager::Get()->UserLoggedIn(
174 account_id0_at_invalid_domain_, 162 "user0@invalid.domain", "owner@invalid.domain", false);
175 owner_account_id_at_invalid_domain_.GetUserEmail(), false);
176 ResetUserManager(); 163 ResetUserManager();
177 user_manager::UserManager::Get()->UserLoggedIn( 164 user_manager::UserManager::Get()->UserLoggedIn(
178 account_id1_at_invalid_domain_, 165 "user1@invalid.domain", "owner@invalid.domain", false);
179 owner_account_id_at_invalid_domain_.GetUserEmail(), false);
180 ResetUserManager(); 166 ResetUserManager();
181 167
182 const user_manager::UserList* users = 168 const user_manager::UserList* users =
183 &user_manager::UserManager::Get()->GetUsers(); 169 &user_manager::UserManager::Get()->GetUsers();
184 ASSERT_EQ(3U, users->size()); 170 ASSERT_EQ(3U, users->size());
185 EXPECT_EQ((*users)[0]->GetAccountId(), account_id1_at_invalid_domain_); 171 EXPECT_EQ((*users)[0]->email(), "user1@invalid.domain");
186 EXPECT_EQ((*users)[1]->GetAccountId(), account_id0_at_invalid_domain_); 172 EXPECT_EQ((*users)[1]->email(), "user0@invalid.domain");
187 EXPECT_EQ((*users)[2]->GetAccountId(), owner_account_id_at_invalid_domain_); 173 EXPECT_EQ((*users)[2]->email(), "owner@invalid.domain");
188 174
189 SetDeviceSettings(true, owner_account_id_at_invalid_domain_.GetUserEmail(), 175 SetDeviceSettings(true, "owner@invalid.domain", false);
190 false);
191 RetrieveTrustedDevicePolicies(); 176 RetrieveTrustedDevicePolicies();
192 177
193 users = &user_manager::UserManager::Get()->GetUsers(); 178 users = &user_manager::UserManager::Get()->GetUsers();
194 EXPECT_EQ(1U, users->size()); 179 EXPECT_EQ(1U, users->size());
195 EXPECT_EQ((*users)[0]->GetAccountId(), owner_account_id_at_invalid_domain_); 180 EXPECT_EQ((*users)[0]->email(), "owner@invalid.domain");
196 } 181 }
197 182
198 TEST_F(UserManagerTest, RegularUserLoggedInAsEphemeral) { 183 TEST_F(UserManagerTest, RegularUserLoggedInAsEphemeral) {
199 SetDeviceSettings(true, owner_account_id_at_invalid_domain_.GetUserEmail(), 184 SetDeviceSettings(true, "owner@invalid.domain", false);
200 false);
201 RetrieveTrustedDevicePolicies(); 185 RetrieveTrustedDevicePolicies();
202 186
203 user_manager::UserManager::Get()->UserLoggedIn( 187 user_manager::UserManager::Get()->UserLoggedIn(
204 owner_account_id_at_invalid_domain_, 188 "owner@invalid.domain", "user0@invalid.domain", false);
205 account_id0_at_invalid_domain_.GetUserEmail(), false);
206 ResetUserManager(); 189 ResetUserManager();
207 user_manager::UserManager::Get()->UserLoggedIn( 190 user_manager::UserManager::Get()->UserLoggedIn(
208 account_id0_at_invalid_domain_, 191 "user0@invalid.domain", "user0@invalid.domain", false);
209 account_id0_at_invalid_domain_.GetUserEmail(), false);
210 ResetUserManager(); 192 ResetUserManager();
211 193
212 const user_manager::UserList* users = 194 const user_manager::UserList* users =
213 &user_manager::UserManager::Get()->GetUsers(); 195 &user_manager::UserManager::Get()->GetUsers();
214 EXPECT_EQ(1U, users->size()); 196 EXPECT_EQ(1U, users->size());
215 EXPECT_EQ((*users)[0]->GetAccountId(), owner_account_id_at_invalid_domain_); 197 EXPECT_EQ((*users)[0]->email(), "owner@invalid.domain");
216 } 198 }
217 199
218 } // namespace chromeos 200 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698