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

Side by Side Diff: chrome/browser/signin/chrome_signin_client_unittest.cc

Issue 2478173003: Lock profile before sign in when force sign in is enabled. (Closed)
Patch Set: rogerta's comments Created 4 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "chrome/browser/signin/chrome_signin_client.h" 5 #include "chrome/browser/signin/chrome_signin_client.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 } 126 }
127 127
128 #if !defined(OS_ANDROID) 128 #if !defined(OS_ANDROID)
129 129
130 class MockChromeSigninClient : public ChromeSigninClient { 130 class MockChromeSigninClient : public ChromeSigninClient {
131 public: 131 public:
132 MockChromeSigninClient(Profile* profile, SigninErrorController* controller) 132 MockChromeSigninClient(Profile* profile, SigninErrorController* controller)
133 : ChromeSigninClient(profile, controller) {} 133 : ChromeSigninClient(profile, controller) {}
134 134
135 MOCK_METHOD1(ShowUserManager, void(const base::FilePath&)); 135 MOCK_METHOD1(ShowUserManager, void(const base::FilePath&));
136 MOCK_METHOD1(LockProfile, void(const base::FilePath&)); 136 MOCK_METHOD1(LockForceSigninProfile, void(const base::FilePath&));
137 }; 137 };
138 138
139 class MockSigninManager : public SigninManager { 139 class MockSigninManager : public SigninManager {
140 public: 140 public:
141 explicit MockSigninManager(SigninClient* client) 141 explicit MockSigninManager(SigninClient* client)
142 : SigninManager(client, nullptr, &fake_service_, nullptr) {} 142 : SigninManager(client, nullptr, &fake_service_, nullptr) {}
143 143
144 MOCK_METHOD2(DoSignOut, 144 MOCK_METHOD2(DoSignOut,
145 void(signin_metrics::ProfileSignout, 145 void(signin_metrics::ProfileSignout,
146 signin_metrics::SignoutDelete)); 146 signin_metrics::SignoutDelete));
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 }; 180 };
181 181
182 TEST_F(ChromeSigninClientSignoutTest, SignOut) { 182 TEST_F(ChromeSigninClientSignoutTest, SignOut) {
183 signin_metrics::ProfileSignout source_metric = 183 signin_metrics::ProfileSignout source_metric =
184 signin_metrics::ProfileSignout::SIGNOUT_TEST; 184 signin_metrics::ProfileSignout::SIGNOUT_TEST;
185 signin_metrics::SignoutDelete delete_metric = 185 signin_metrics::SignoutDelete delete_metric =
186 signin_metrics::SignoutDelete::IGNORE_METRIC; 186 signin_metrics::SignoutDelete::IGNORE_METRIC;
187 187
188 EXPECT_CALL(*client_, ShowUserManager(browser()->profile()->GetPath())) 188 EXPECT_CALL(*client_, ShowUserManager(browser()->profile()->GetPath()))
189 .Times(1); 189 .Times(1);
190 EXPECT_CALL(*client_, LockProfile(browser()->profile()->GetPath())).Times(1); 190 EXPECT_CALL(*client_, LockForceSigninProfile(browser()->profile()->GetPath()))
191 .Times(1);
191 EXPECT_CALL(*manager_, DoSignOut(source_metric, delete_metric)).Times(1); 192 EXPECT_CALL(*manager_, DoSignOut(source_metric, delete_metric)).Times(1);
192 193
193 manager_->SignOut(source_metric, delete_metric); 194 manager_->SignOut(source_metric, delete_metric);
194 } 195 }
195 196
196 TEST_F(ChromeSigninClientSignoutTest, SignOutWithoutManager) { 197 TEST_F(ChromeSigninClientSignoutTest, SignOutWithoutManager) {
197 signin_metrics::ProfileSignout source_metric = 198 signin_metrics::ProfileSignout source_metric =
198 signin_metrics::ProfileSignout::SIGNOUT_TEST; 199 signin_metrics::ProfileSignout::SIGNOUT_TEST;
199 signin_metrics::SignoutDelete delete_metric = 200 signin_metrics::SignoutDelete delete_metric =
200 signin_metrics::SignoutDelete::IGNORE_METRIC; 201 signin_metrics::SignoutDelete::IGNORE_METRIC;
201 202
202 MockSigninManager other_manager(client_.get()); 203 MockSigninManager other_manager(client_.get());
203 other_manager.CopyCredentialsFrom(*manager_.get()); 204 other_manager.CopyCredentialsFrom(*manager_.get());
204 205
205 EXPECT_CALL(*client_, ShowUserManager(browser()->profile()->GetPath())) 206 EXPECT_CALL(*client_, ShowUserManager(browser()->profile()->GetPath()))
206 .Times(0); 207 .Times(0);
207 EXPECT_CALL(*client_, LockProfile(browser()->profile()->GetPath())).Times(1); 208 EXPECT_CALL(*client_, LockForceSigninProfile(browser()->profile()->GetPath()))
209 .Times(1);
208 EXPECT_CALL(*manager_, DoSignOut(source_metric, delete_metric)).Times(1); 210 EXPECT_CALL(*manager_, DoSignOut(source_metric, delete_metric)).Times(1);
209 manager_->SignOut(source_metric, delete_metric); 211 manager_->SignOut(source_metric, delete_metric);
210 212
211 ::testing::Mock::VerifyAndClearExpectations(manager_.get()); 213 ::testing::Mock::VerifyAndClearExpectations(manager_.get());
212 214
213 EXPECT_CALL(*client_, ShowUserManager(browser()->profile()->GetPath())) 215 EXPECT_CALL(*client_, ShowUserManager(browser()->profile()->GetPath()))
214 .Times(1); 216 .Times(1);
215 EXPECT_CALL(*client_, LockProfile(browser()->profile()->GetPath())).Times(1); 217 EXPECT_CALL(*client_, LockForceSigninProfile(browser()->profile()->GetPath()))
218 .Times(1);
216 EXPECT_CALL(*manager_, DoSignOut(source_metric, delete_metric)).Times(1); 219 EXPECT_CALL(*manager_, DoSignOut(source_metric, delete_metric)).Times(1);
217 manager_->SignOut(source_metric, delete_metric); 220 manager_->SignOut(source_metric, delete_metric);
218 } 221 }
219 222
220 TEST_F(ChromeSigninClientSignoutTest, SignOutWithoutForceSignin) { 223 TEST_F(ChromeSigninClientSignoutTest, SignOutWithoutForceSignin) {
221 prefs_->SetBoolean(prefs::kForceBrowserSignin, false); 224 prefs_->SetBoolean(prefs::kForceBrowserSignin, false);
222 CreateClient(browser()->profile()); 225 CreateClient(browser()->profile());
223 manager_.reset(new MockSigninManager(client_.get())); 226 manager_.reset(new MockSigninManager(client_.get()));
224 227
225 signin_metrics::ProfileSignout source_metric = 228 signin_metrics::ProfileSignout source_metric =
226 signin_metrics::ProfileSignout::SIGNOUT_TEST; 229 signin_metrics::ProfileSignout::SIGNOUT_TEST;
227 signin_metrics::SignoutDelete delete_metric = 230 signin_metrics::SignoutDelete delete_metric =
228 signin_metrics::SignoutDelete::IGNORE_METRIC; 231 signin_metrics::SignoutDelete::IGNORE_METRIC;
229 232
230 EXPECT_CALL(*client_, ShowUserManager(browser()->profile()->GetPath())) 233 EXPECT_CALL(*client_, ShowUserManager(browser()->profile()->GetPath()))
231 .Times(0); 234 .Times(0);
232 EXPECT_CALL(*client_, LockProfile(browser()->profile()->GetPath())).Times(0); 235 EXPECT_CALL(*client_, LockForceSigninProfile(browser()->profile()->GetPath()))
236 .Times(0);
233 EXPECT_CALL(*manager_, DoSignOut(source_metric, delete_metric)).Times(1); 237 EXPECT_CALL(*manager_, DoSignOut(source_metric, delete_metric)).Times(1);
234 manager_->SignOut(source_metric, delete_metric); 238 manager_->SignOut(source_metric, delete_metric);
235 } 239 }
236 240
237 TEST_F(ChromeSigninClientSignoutTest, SignOutGuestSession) { 241 TEST_F(ChromeSigninClientSignoutTest, SignOutGuestSession) {
238 TestingProfile::Builder builder; 242 TestingProfile::Builder builder;
239 builder.SetGuestSession(); 243 builder.SetGuestSession();
240 std::unique_ptr<TestingProfile> profile = builder.Build(); 244 std::unique_ptr<TestingProfile> profile = builder.Build();
241 245
242 CreateClient(profile.get()); 246 CreateClient(profile.get());
243 manager_.reset(new MockSigninManager(client_.get())); 247 manager_.reset(new MockSigninManager(client_.get()));
244 248
245 signin_metrics::ProfileSignout source_metric = 249 signin_metrics::ProfileSignout source_metric =
246 signin_metrics::ProfileSignout::SIGNOUT_TEST; 250 signin_metrics::ProfileSignout::SIGNOUT_TEST;
247 signin_metrics::SignoutDelete delete_metric = 251 signin_metrics::SignoutDelete delete_metric =
248 signin_metrics::SignoutDelete::IGNORE_METRIC; 252 signin_metrics::SignoutDelete::IGNORE_METRIC;
249 253
250 EXPECT_CALL(*client_, ShowUserManager(browser()->profile()->GetPath())) 254 EXPECT_CALL(*client_, ShowUserManager(browser()->profile()->GetPath()))
251 .Times(0); 255 .Times(0);
252 EXPECT_CALL(*client_, LockProfile(browser()->profile()->GetPath())).Times(0); 256 EXPECT_CALL(*client_, LockForceSigninProfile(browser()->profile()->GetPath()))
257 .Times(0);
253 EXPECT_CALL(*manager_, DoSignOut(source_metric, delete_metric)).Times(1); 258 EXPECT_CALL(*manager_, DoSignOut(source_metric, delete_metric)).Times(1);
254 manager_->SignOut(source_metric, delete_metric); 259 manager_->SignOut(source_metric, delete_metric);
255 } 260 }
256 261
257 #endif // !defined(OS_ANDROID) 262 #endif // !defined(OS_ANDROID)
258 #endif // !defined(OS_CHROMEOS) 263 #endif // !defined(OS_CHROMEOS)
OLDNEW
« no previous file with comments | « chrome/browser/signin/chrome_signin_client.cc ('k') | chrome/browser/ui/webui/signin/inline_login_handler_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698