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

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

Issue 1412813003: 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: Rebased. Created 5 years, 2 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
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 : owner_at_invalid_domain_(
achuithb 2015/10/23 00:08:51 in class member initialization
Alexander Alekseev 2015/10/23 09:11:23 Done.
53 AccountId::FromUserEmail("owner@invalid.domain")),
54 user0_at_invalid_domain_(
55 AccountId::FromUserEmail("user0@invalid.domain")),
56 user1_at_invalid_domain_(
57 AccountId::FromUserEmail("user1@invalid.domain")) {}
58
50 protected: 59 protected:
51 void SetUp() override { 60 void SetUp() override {
52 base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess(); 61 base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess();
53 command_line.AppendSwitch(::switches::kTestType); 62 command_line.AppendSwitch(::switches::kTestType);
54 command_line.AppendSwitch( 63 command_line.AppendSwitch(
55 chromeos::switches::kIgnoreUserProfileMappingForTests); 64 chromeos::switches::kIgnoreUserProfileMappingForTests);
56 65
57 settings_helper_.ReplaceProvider(kDeviceOwner); 66 settings_helper_.ReplaceProvider(kDeviceOwner);
58 67
59 // Populate the stub DeviceSettingsProvider with valid values. 68 // Populate the stub DeviceSettingsProvider with valid values.
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 } 101 }
93 102
94 bool GetUserManagerEphemeralUsersEnabled() const { 103 bool GetUserManagerEphemeralUsersEnabled() const {
95 return GetChromeUserManager()->GetEphemeralUsersEnabled(); 104 return GetChromeUserManager()->GetEphemeralUsersEnabled();
96 } 105 }
97 106
98 void SetUserManagerEphemeralUsersEnabled(bool ephemeral_users_enabled) { 107 void SetUserManagerEphemeralUsersEnabled(bool ephemeral_users_enabled) {
99 GetChromeUserManager()->SetEphemeralUsersEnabled(ephemeral_users_enabled); 108 GetChromeUserManager()->SetEphemeralUsersEnabled(ephemeral_users_enabled);
100 } 109 }
101 110
102 const std::string& GetUserManagerOwnerEmail() const { 111 const AccountId GetUserManagerOwnerId() const {
achuithb 2015/10/23 00:08:51 Don't need const return type
Alexander Alekseev 2015/10/23 09:11:23 Done.
103 return GetChromeUserManager()->GetOwnerEmail(); 112 return GetChromeUserManager()->GetOwnerId();
104 } 113 }
105 114
106 void SetUserManagerOwnerEmail(const std::string& owner_email) { 115 void SetUserManagerOwnerId(const AccountId& owner_id) {
achuithb 2015/10/23 00:08:51 owner_account_id
Alexander Alekseev 2015/10/23 09:11:23 Done.
107 GetChromeUserManager()->SetOwnerEmail(owner_email); 116 GetChromeUserManager()->SetOwnerId(owner_id);
108 } 117 }
109 118
110 void ResetUserManager() { 119 void ResetUserManager() {
111 // Reset the UserManager singleton. 120 // Reset the UserManager singleton.
112 user_manager_enabler_.reset(); 121 user_manager_enabler_.reset();
113 // Initialize the UserManager singleton to a fresh ChromeUserManagerImpl 122 // Initialize the UserManager singleton to a fresh ChromeUserManagerImpl
114 // instance. 123 // instance.
115 user_manager_enabler_.reset( 124 user_manager_enabler_.reset(
116 new ScopedUserManagerEnabler(new ChromeUserManagerImpl)); 125 new ScopedUserManagerEnabler(new ChromeUserManagerImpl));
117 126
118 // ChromeUserManagerImpl ctor posts a task to reload policies. 127 // ChromeUserManagerImpl ctor posts a task to reload policies.
119 base::RunLoop().RunUntilIdle(); 128 base::RunLoop().RunUntilIdle();
120 } 129 }
121 130
122 void SetDeviceSettings(bool ephemeral_users_enabled, 131 void SetDeviceSettings(bool ephemeral_users_enabled,
123 const std::string &owner, 132 const std::string &owner,
124 bool supervised_users_enabled) { 133 bool supervised_users_enabled) {
125 settings_helper_.SetBoolean(kAccountsPrefEphemeralUsersEnabled, 134 settings_helper_.SetBoolean(kAccountsPrefEphemeralUsersEnabled,
126 ephemeral_users_enabled); 135 ephemeral_users_enabled);
127 settings_helper_.SetString(kDeviceOwner, owner); 136 settings_helper_.SetString(kDeviceOwner, owner);
128 settings_helper_.SetBoolean(kAccountsPrefSupervisedUsersEnabled, 137 settings_helper_.SetBoolean(kAccountsPrefSupervisedUsersEnabled,
129 supervised_users_enabled); 138 supervised_users_enabled);
130 } 139 }
131 140
132 void RetrieveTrustedDevicePolicies() { 141 void RetrieveTrustedDevicePolicies() {
133 GetChromeUserManager()->RetrieveTrustedDevicePolicies(); 142 GetChromeUserManager()->RetrieveTrustedDevicePolicies();
134 } 143 }
135 144
145 const AccountId owner_at_invalid_domain_;
146 const AccountId user0_at_invalid_domain_;
147 const AccountId user1_at_invalid_domain_;
148
136 protected: 149 protected:
137 content::TestBrowserThreadBundle thread_bundle_; 150 content::TestBrowserThreadBundle thread_bundle_;
138 151
139 ScopedCrosSettingsTestHelper settings_helper_; 152 ScopedCrosSettingsTestHelper settings_helper_;
140 scoped_ptr<ScopedTestingLocalState> local_state_; 153 scoped_ptr<ScopedTestingLocalState> local_state_;
141 154
142 scoped_ptr<ScopedUserManagerEnabler> user_manager_enabler_; 155 scoped_ptr<ScopedUserManagerEnabler> user_manager_enabler_;
143 base::ScopedTempDir temp_dir_; 156 base::ScopedTempDir temp_dir_;
144 }; 157 };
145 158
146 TEST_F(UserManagerTest, RetrieveTrustedDevicePolicies) { 159 TEST_F(UserManagerTest, RetrieveTrustedDevicePolicies) {
147 SetUserManagerEphemeralUsersEnabled(true); 160 SetUserManagerEphemeralUsersEnabled(true);
148 SetUserManagerOwnerEmail(""); 161 SetUserManagerOwnerId(EmptyAccountId());
149 162
150 SetDeviceSettings(false, "owner@invalid.domain", false); 163 SetDeviceSettings(false, owner_at_invalid_domain_.GetUserEmail(), false);
151 RetrieveTrustedDevicePolicies(); 164 RetrieveTrustedDevicePolicies();
152 165
153 EXPECT_FALSE(GetUserManagerEphemeralUsersEnabled()); 166 EXPECT_FALSE(GetUserManagerEphemeralUsersEnabled());
154 EXPECT_EQ(GetUserManagerOwnerEmail(), "owner@invalid.domain"); 167 EXPECT_EQ(GetUserManagerOwnerId(), owner_at_invalid_domain_);
155 } 168 }
156 169
157 TEST_F(UserManagerTest, RemoveAllExceptOwnerFromList) { 170 TEST_F(UserManagerTest, RemoveAllExceptOwnerFromList) {
158 user_manager::UserManager::Get()->UserLoggedIn( 171 user_manager::UserManager::Get()->UserLoggedIn(
159 "owner@invalid.domain", "owner@invalid.domain", false); 172 owner_at_invalid_domain_, owner_at_invalid_domain_.GetUserEmail(), false);
160 ResetUserManager(); 173 ResetUserManager();
161 user_manager::UserManager::Get()->UserLoggedIn( 174 user_manager::UserManager::Get()->UserLoggedIn(
162 "user0@invalid.domain", "owner@invalid.domain", false); 175 user0_at_invalid_domain_, owner_at_invalid_domain_.GetUserEmail(), false);
163 ResetUserManager(); 176 ResetUserManager();
164 user_manager::UserManager::Get()->UserLoggedIn( 177 user_manager::UserManager::Get()->UserLoggedIn(
165 "user1@invalid.domain", "owner@invalid.domain", false); 178 user1_at_invalid_domain_, owner_at_invalid_domain_.GetUserEmail(), false);
166 ResetUserManager(); 179 ResetUserManager();
167 180
168 const user_manager::UserList* users = 181 const user_manager::UserList* users =
169 &user_manager::UserManager::Get()->GetUsers(); 182 &user_manager::UserManager::Get()->GetUsers();
170 ASSERT_EQ(3U, users->size()); 183 ASSERT_EQ(3U, users->size());
171 EXPECT_EQ((*users)[0]->email(), "user1@invalid.domain"); 184 EXPECT_EQ((*users)[0]->GetUserID(), user1_at_invalid_domain_);
172 EXPECT_EQ((*users)[1]->email(), "user0@invalid.domain"); 185 EXPECT_EQ((*users)[1]->GetUserID(), user0_at_invalid_domain_);
173 EXPECT_EQ((*users)[2]->email(), "owner@invalid.domain"); 186 EXPECT_EQ((*users)[2]->GetUserID(), owner_at_invalid_domain_);
174 187
175 SetDeviceSettings(true, "owner@invalid.domain", false); 188 SetDeviceSettings(true, owner_at_invalid_domain_.GetUserEmail(), false);
176 RetrieveTrustedDevicePolicies(); 189 RetrieveTrustedDevicePolicies();
177 190
178 users = &user_manager::UserManager::Get()->GetUsers(); 191 users = &user_manager::UserManager::Get()->GetUsers();
179 EXPECT_EQ(1U, users->size()); 192 EXPECT_EQ(1U, users->size());
180 EXPECT_EQ((*users)[0]->email(), "owner@invalid.domain"); 193 EXPECT_EQ((*users)[0]->GetUserID(), owner_at_invalid_domain_);
181 } 194 }
182 195
183 TEST_F(UserManagerTest, RegularUserLoggedInAsEphemeral) { 196 TEST_F(UserManagerTest, RegularUserLoggedInAsEphemeral) {
184 SetDeviceSettings(true, "owner@invalid.domain", false); 197 SetDeviceSettings(true, owner_at_invalid_domain_.GetUserEmail(), false);
185 RetrieveTrustedDevicePolicies(); 198 RetrieveTrustedDevicePolicies();
186 199
187 user_manager::UserManager::Get()->UserLoggedIn( 200 user_manager::UserManager::Get()->UserLoggedIn(
188 "owner@invalid.domain", "user0@invalid.domain", false); 201 owner_at_invalid_domain_, user0_at_invalid_domain_.GetUserEmail(), false);
189 ResetUserManager(); 202 ResetUserManager();
190 user_manager::UserManager::Get()->UserLoggedIn( 203 user_manager::UserManager::Get()->UserLoggedIn(
191 "user0@invalid.domain", "user0@invalid.domain", false); 204 user0_at_invalid_domain_, user0_at_invalid_domain_.GetUserEmail(), false);
192 ResetUserManager(); 205 ResetUserManager();
193 206
194 const user_manager::UserList* users = 207 const user_manager::UserList* users =
195 &user_manager::UserManager::Get()->GetUsers(); 208 &user_manager::UserManager::Get()->GetUsers();
196 EXPECT_EQ(1U, users->size()); 209 EXPECT_EQ(1U, users->size());
197 EXPECT_EQ((*users)[0]->email(), "owner@invalid.domain"); 210 EXPECT_EQ((*users)[0]->GetUserID(), owner_at_invalid_domain_);
198 } 211 }
199 212
200 } // namespace chromeos 213 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698