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

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

Powered by Google App Engine
This is Rietveld 408576698