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

Side by Side Diff: chrome/browser/sync/signin_manager_unittest.cc

Issue 8698001: sync: change semantics (and name) of SigninManager::GetUsername (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: first Created 9 years 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 (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/sync/signin_manager.h" 5 #include "chrome/browser/sync/signin_manager.h"
6 6
7 #include "base/compiler_specific.h" 7 #include "base/compiler_specific.h"
8 #include "base/test/signaling_task.h" 8 #include "base/test/signaling_task.h"
9 #include "chrome/browser/net/gaia/token_service.h" 9 #include "chrome/browser/net/gaia/token_service.h"
10 #include "chrome/browser/net/gaia/token_service_unittest.h" 10 #include "chrome/browser/net/gaia/token_service_unittest.h"
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 TestNotificationTracker google_login_success_; 91 TestNotificationTracker google_login_success_;
92 TestNotificationTracker google_login_failure_; 92 TestNotificationTracker google_login_failure_;
93 bool originally_using_oauth_; 93 bool originally_using_oauth_;
94 }; 94 };
95 95
96 // NOTE: ClientLogin's "StartSignin" is called after collecting credentials 96 // NOTE: ClientLogin's "StartSignin" is called after collecting credentials
97 // from the user. See also SigninManagerTest::SignInOAuth. 97 // from the user. See also SigninManagerTest::SignInOAuth.
98 TEST_F(SigninManagerTest, SignInClientLogin) { 98 TEST_F(SigninManagerTest, SignInClientLogin) {
99 browser_sync::SetIsUsingOAuthForTest(false); 99 browser_sync::SetIsUsingOAuthForTest(false);
100 manager_->Initialize(profile_.get()); 100 manager_->Initialize(profile_.get());
101 EXPECT_TRUE(manager_->GetUsername().empty()); 101 EXPECT_TRUE(manager_->GetAuthenticatedUsername().empty());
102 102
103 manager_->StartSignIn("username", "password", "", ""); 103 manager_->StartSignIn("username", "password", "", "");
104 EXPECT_FALSE(manager_->GetUsername().empty()); 104 EXPECT_TRUE(manager_->GetAuthenticatedUsername().empty());
105 105
106 SimulateValidResponseClientLogin(); 106 SimulateValidResponseClientLogin();
107 EXPECT_FALSE(manager_->GetAuthenticatedUsername().empty());
107 108
108 // Should go into token service and stop. 109 // Should go into token service and stop.
109 EXPECT_EQ(1U, google_login_success_.size()); 110 EXPECT_EQ(1U, google_login_success_.size());
110 EXPECT_EQ(0U, google_login_failure_.size()); 111 EXPECT_EQ(0U, google_login_failure_.size());
111 112
112 // Should persist across resets. 113 // Should persist across resets.
113 manager_.reset(new SigninManager()); 114 manager_.reset(new SigninManager());
114 manager_->Initialize(profile_.get()); 115 manager_->Initialize(profile_.get());
115 EXPECT_EQ("user@gmail.com", manager_->GetUsername()); 116 EXPECT_EQ("user@gmail.com", manager_->GetAuthenticatedUsername());
116 } 117 }
117 118
118 TEST_F(SigninManagerTest, ClearInMemoryData) { 119 TEST_F(SigninManagerTest, ClearTransientSigninData) {
119 browser_sync::SetIsUsingOAuthForTest(false); 120 browser_sync::SetIsUsingOAuthForTest(false);
120 manager_->Initialize(profile_.get()); 121 manager_->Initialize(profile_.get());
121 EXPECT_TRUE(manager_->GetUsername().empty()); 122 EXPECT_TRUE(manager_->GetAuthenticatedUsername().empty());
122 123
123 manager_->StartSignIn("username", "password", "", ""); 124 manager_->StartSignIn("username", "password", "", "");
124 EXPECT_FALSE(manager_->GetUsername().empty()); 125 EXPECT_TRUE(manager_->GetAuthenticatedUsername().empty());
125 126
126 SimulateValidResponseClientLogin(); 127 SimulateValidResponseClientLogin();
127 128
128 // Should go into token service and stop. 129 // Should go into token service and stop.
129 EXPECT_EQ(1U, google_login_success_.size()); 130 EXPECT_EQ(1U, google_login_success_.size());
130 EXPECT_EQ(0U, google_login_failure_.size()); 131 EXPECT_EQ(0U, google_login_failure_.size());
131 132
132 EXPECT_EQ("user@gmail.com", manager_->GetUsername()); 133 EXPECT_EQ("user@gmail.com", manager_->GetAuthenticatedUsername());
133 134
134 // Now clear the in memory data. 135 // Now clear the in memory data.
135 manager_->ClearInMemoryData(); 136 manager_->ClearTransientSigninData();
136 EXPECT_TRUE(manager_->GetUsername().empty()); 137 EXPECT_TRUE(manager_->last_result_.data.empty());
138 EXPECT_FALSE(manager_->GetAuthenticatedUsername().empty());
137 139
138 // Ensure preferences are not modified. 140 // Ensure preferences are not modified.
139 EXPECT_FALSE( 141 EXPECT_FALSE(
140 profile_->GetPrefs()->GetString(prefs::kGoogleServicesUsername).empty()); 142 profile_->GetPrefs()->GetString(prefs::kGoogleServicesUsername).empty());
141 143
142 // On reset it should be regenerated. 144 // On reset it should be regenerated.
143 manager_.reset(new SigninManager()); 145 manager_.reset(new SigninManager());
144 manager_->Initialize(profile_.get()); 146 manager_->Initialize(profile_.get());
145 147
146 // Now make sure we have the right user name. 148 // Now make sure we have the right user name.
147 EXPECT_EQ("user@gmail.com", manager_->GetUsername()); 149 EXPECT_EQ("user@gmail.com", manager_->GetAuthenticatedUsername());
148 } 150 }
149 151
150
151 // NOTE: OAuth's "StartOAuthSignIn" is called before collecting credentials 152 // NOTE: OAuth's "StartOAuthSignIn" is called before collecting credentials
152 // from the user. See also SigninManagerTest::SignInClientLogin. 153 // from the user. See also SigninManagerTest::SignInClientLogin.
153 TEST_F(SigninManagerTest, SignInOAuth) { 154 TEST_F(SigninManagerTest, SignInOAuth) {
154 browser_sync::SetIsUsingOAuthForTest(true); 155 browser_sync::SetIsUsingOAuthForTest(true);
155 manager_->Initialize(profile_.get()); 156 manager_->Initialize(profile_.get());
156 EXPECT_TRUE(manager_->GetUsername().empty()); 157 EXPECT_TRUE(manager_->GetAuthenticatedUsername().empty());
157 158
158 SimulateValidSigninOAuth(); 159 SimulateValidSigninOAuth();
159 EXPECT_FALSE(manager_->GetUsername().empty()); 160 EXPECT_FALSE(manager_->GetAuthenticatedUsername().empty());
160 161
161 // Should go into token service and stop. 162 // Should go into token service and stop.
162 EXPECT_EQ(1U, google_login_success_.size()); 163 EXPECT_EQ(1U, google_login_success_.size());
163 EXPECT_EQ(0U, google_login_failure_.size()); 164 EXPECT_EQ(0U, google_login_failure_.size());
164 165
165 // Should persist across resets. 166 // Should persist across resets.
166 manager_.reset(new SigninManager()); 167 manager_.reset(new SigninManager());
167 manager_->Initialize(profile_.get()); 168 manager_->Initialize(profile_.get());
168 EXPECT_EQ("user-xZIuqTKu@gmail.com", manager_->GetUsername()); 169 EXPECT_EQ("user-xZIuqTKu@gmail.com", manager_->GetAuthenticatedUsername());
169 } 170 }
170 171
171 TEST_F(SigninManagerTest, SignOutClientLogin) { 172 TEST_F(SigninManagerTest, SignOutClientLogin) {
172 browser_sync::SetIsUsingOAuthForTest(false); 173 browser_sync::SetIsUsingOAuthForTest(false);
173 manager_->Initialize(profile_.get()); 174 manager_->Initialize(profile_.get());
174 manager_->StartSignIn("username", "password", "", ""); 175 manager_->StartSignIn("username", "password", "", "");
175 SimulateValidResponseClientLogin(); 176 SimulateValidResponseClientLogin();
176 manager_->OnClientLoginSuccess(credentials_); 177 manager_->OnClientLoginSuccess(credentials_);
177 178
178 EXPECT_EQ("user@gmail.com", manager_->GetUsername()); 179 EXPECT_EQ("user@gmail.com", manager_->GetAuthenticatedUsername());
179 manager_->SignOut(); 180 manager_->SignOut();
180 EXPECT_TRUE(manager_->GetUsername().empty()); 181 EXPECT_TRUE(manager_->GetAuthenticatedUsername().empty());
181 // Should not be persisted anymore 182 // Should not be persisted anymore
182 manager_.reset(new SigninManager()); 183 manager_.reset(new SigninManager());
183 manager_->Initialize(profile_.get()); 184 manager_->Initialize(profile_.get());
184 EXPECT_TRUE(manager_->GetUsername().empty()); 185 EXPECT_TRUE(manager_->GetAuthenticatedUsername().empty());
185 } 186 }
186 187
187 TEST_F(SigninManagerTest, SignOutOAuth) { 188 TEST_F(SigninManagerTest, SignOutOAuth) {
188 browser_sync::SetIsUsingOAuthForTest(true); 189 browser_sync::SetIsUsingOAuthForTest(true);
189 manager_->Initialize(profile_.get()); 190 manager_->Initialize(profile_.get());
190 191
191 SimulateValidSigninOAuth(); 192 SimulateValidSigninOAuth();
192 EXPECT_FALSE(manager_->GetUsername().empty()); 193 EXPECT_FALSE(manager_->GetAuthenticatedUsername().empty());
193 194
194 EXPECT_EQ("user-xZIuqTKu@gmail.com", manager_->GetUsername()); 195 EXPECT_EQ("user-xZIuqTKu@gmail.com", manager_->GetAuthenticatedUsername());
195 manager_->SignOut(); 196 manager_->SignOut();
196 EXPECT_TRUE(manager_->GetUsername().empty()); 197 EXPECT_TRUE(manager_->GetAuthenticatedUsername().empty());
197 198
198 // Should not be persisted anymore 199 // Should not be persisted anymore
199 manager_.reset(new SigninManager()); 200 manager_.reset(new SigninManager());
200 manager_->Initialize(profile_.get()); 201 manager_->Initialize(profile_.get());
201 EXPECT_TRUE(manager_->GetUsername().empty()); 202 EXPECT_TRUE(manager_->GetAuthenticatedUsername().empty());
202 } 203 }
203 204
204 TEST_F(SigninManagerTest, SignInFailureClientLogin) { 205 TEST_F(SigninManagerTest, SignInFailureClientLogin) {
205 browser_sync::SetIsUsingOAuthForTest(false); 206 browser_sync::SetIsUsingOAuthForTest(false);
206 manager_->Initialize(profile_.get()); 207 manager_->Initialize(profile_.get());
207 manager_->StartSignIn("username", "password", "", ""); 208 manager_->StartSignIn("username", "password", "", "");
208 GoogleServiceAuthError error(GoogleServiceAuthError::REQUEST_CANCELED); 209 GoogleServiceAuthError error(GoogleServiceAuthError::REQUEST_CANCELED);
209 manager_->OnClientLoginFailure(error); 210 manager_->OnClientLoginFailure(error);
210 211
211 EXPECT_EQ(0U, google_login_success_.size()); 212 EXPECT_EQ(0U, google_login_success_.size());
212 EXPECT_EQ(1U, google_login_failure_.size()); 213 EXPECT_EQ(1U, google_login_failure_.size());
213 214
214 EXPECT_TRUE(manager_->GetUsername().empty()); 215 EXPECT_TRUE(manager_->GetAuthenticatedUsername().empty());
215 216
216 // Should not be persisted 217 // Should not be persisted
217 manager_.reset(new SigninManager()); 218 manager_.reset(new SigninManager());
218 manager_->Initialize(profile_.get()); 219 manager_->Initialize(profile_.get());
219 EXPECT_TRUE(manager_->GetUsername().empty()); 220 EXPECT_TRUE(manager_->GetAuthenticatedUsername().empty());
220 } 221 }
221 222
222 TEST_F(SigninManagerTest, ProvideSecondFactorSuccess) { 223 TEST_F(SigninManagerTest, ProvideSecondFactorSuccess) {
223 browser_sync::SetIsUsingOAuthForTest(false); 224 browser_sync::SetIsUsingOAuthForTest(false);
224 manager_->Initialize(profile_.get()); 225 manager_->Initialize(profile_.get());
225 manager_->StartSignIn("username", "password", "", ""); 226 manager_->StartSignIn("username", "password", "", "");
226 GoogleServiceAuthError error(GoogleServiceAuthError::TWO_FACTOR); 227 GoogleServiceAuthError error(GoogleServiceAuthError::TWO_FACTOR);
227 manager_->OnClientLoginFailure(error); 228 manager_->OnClientLoginFailure(error);
228 229
229 EXPECT_EQ(0U, google_login_success_.size()); 230 EXPECT_EQ(0U, google_login_success_.size());
230 EXPECT_EQ(1U, google_login_failure_.size()); 231 EXPECT_EQ(1U, google_login_failure_.size());
231 232
232 EXPECT_FALSE(manager_->GetUsername().empty()); 233 EXPECT_TRUE(manager_->GetAuthenticatedUsername().empty());
234 EXPECT_FALSE(manager_->possibly_invalid_username_.empty());
233 235
234 manager_->ProvideSecondFactorAccessCode("access"); 236 manager_->ProvideSecondFactorAccessCode("access");
235 SimulateValidResponseClientLogin(); 237 SimulateValidResponseClientLogin();
236 238
237 EXPECT_EQ(1U, google_login_success_.size()); 239 EXPECT_EQ(1U, google_login_success_.size());
238 EXPECT_EQ(1U, google_login_failure_.size()); 240 EXPECT_EQ(1U, google_login_failure_.size());
239 } 241 }
240 242
241 TEST_F(SigninManagerTest, ProvideSecondFactorFailure) { 243 TEST_F(SigninManagerTest, ProvideSecondFactorFailure) {
242 browser_sync::SetIsUsingOAuthForTest(false); 244 browser_sync::SetIsUsingOAuthForTest(false);
243 manager_->Initialize(profile_.get()); 245 manager_->Initialize(profile_.get());
244 manager_->StartSignIn("username", "password", "", ""); 246 manager_->StartSignIn("username", "password", "", "");
245 GoogleServiceAuthError error1(GoogleServiceAuthError::TWO_FACTOR); 247 GoogleServiceAuthError error1(GoogleServiceAuthError::TWO_FACTOR);
246 manager_->OnClientLoginFailure(error1); 248 manager_->OnClientLoginFailure(error1);
247 249
248 EXPECT_EQ(0U, google_login_success_.size()); 250 EXPECT_EQ(0U, google_login_success_.size());
249 EXPECT_EQ(1U, google_login_failure_.size()); 251 EXPECT_EQ(1U, google_login_failure_.size());
250 252
251 EXPECT_FALSE(manager_->GetUsername().empty()); 253 EXPECT_TRUE(manager_->GetAuthenticatedUsername().empty());
254 EXPECT_FALSE(manager_->possibly_invalid_username_.empty());
252 255
253 manager_->ProvideSecondFactorAccessCode("badaccess"); 256 manager_->ProvideSecondFactorAccessCode("badaccess");
254 GoogleServiceAuthError error2( 257 GoogleServiceAuthError error2(
255 GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS); 258 GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS);
256 manager_->OnClientLoginFailure(error2); 259 manager_->OnClientLoginFailure(error2);
257 260
258 EXPECT_EQ(0U, google_login_success_.size()); 261 EXPECT_EQ(0U, google_login_success_.size());
259 EXPECT_EQ(2U, google_login_failure_.size()); 262 EXPECT_EQ(2U, google_login_failure_.size());
260 EXPECT_FALSE(manager_->GetUsername().empty()); 263 EXPECT_TRUE(manager_->GetAuthenticatedUsername().empty());
261 264
262 manager_->ProvideSecondFactorAccessCode("badaccess"); 265 manager_->ProvideSecondFactorAccessCode("badaccess");
263 GoogleServiceAuthError error3(GoogleServiceAuthError::CONNECTION_FAILED); 266 GoogleServiceAuthError error3(GoogleServiceAuthError::CONNECTION_FAILED);
264 manager_->OnClientLoginFailure(error3); 267 manager_->OnClientLoginFailure(error3);
265 268
266 EXPECT_EQ(0U, google_login_success_.size()); 269 EXPECT_EQ(0U, google_login_success_.size());
267 EXPECT_EQ(3U, google_login_failure_.size()); 270 EXPECT_EQ(3U, google_login_failure_.size());
268 EXPECT_TRUE(manager_->GetUsername().empty()); 271 EXPECT_TRUE(manager_->GetAuthenticatedUsername().empty());
269 } 272 }
270 273
271 TEST_F(SigninManagerTest, SignOutMidConnect) { 274 TEST_F(SigninManagerTest, SignOutMidConnect) {
272 browser_sync::SetIsUsingOAuthForTest(false); 275 browser_sync::SetIsUsingOAuthForTest(false);
273 manager_->Initialize(profile_.get()); 276 manager_->Initialize(profile_.get());
274 manager_->StartSignIn("username", "password", "", ""); 277 manager_->StartSignIn("username", "password", "", "");
275 manager_->SignOut(); 278 manager_->SignOut();
276 EXPECT_EQ(0U, google_login_success_.size()); 279 EXPECT_EQ(0U, google_login_success_.size());
277 EXPECT_EQ(0U, google_login_failure_.size()); 280 EXPECT_EQ(0U, google_login_failure_.size());
278 281
279 EXPECT_TRUE(manager_->GetUsername().empty()); 282 EXPECT_TRUE(manager_->GetAuthenticatedUsername().empty());
280 } 283 }
281 284
282 TEST_F(SigninManagerTest, SignOutOnUserInfoSucessRaceTest) { 285 TEST_F(SigninManagerTest, SignOutOnUserInfoSucessRaceTest) {
283 browser_sync::SetIsUsingOAuthForTest(true); 286 browser_sync::SetIsUsingOAuthForTest(true);
284 manager_->Initialize(profile_.get()); 287 manager_->Initialize(profile_.get());
285 EXPECT_TRUE(manager_->GetUsername().empty()); 288 EXPECT_TRUE(manager_->GetAuthenticatedUsername().empty());
286 289
287 SimulateSigninStartOAuth(); 290 SimulateSigninStartOAuth();
288 manager_->SignOut(); 291 manager_->SignOut();
289 SimulateOAuthUserInfoSuccess(); 292 SimulateOAuthUserInfoSuccess();
290 EXPECT_TRUE(manager_->GetUsername().empty()); 293 EXPECT_TRUE(manager_->GetAuthenticatedUsername().empty());
291 } 294 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698