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

Side by Side Diff: chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc

Issue 848723002: Credential Manager API: Showing both local and federated logins. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/prefs/pref_service.h" 6 #include "base/prefs/pref_service.h"
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "base/time/time.h" 8 #include "base/time/time.h"
9 #include "chrome/browser/ui/passwords/manage_passwords_bubble.h" 9 #include "chrome/browser/ui/passwords/manage_passwords_bubble.h"
10 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h" 10 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h"
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 NULL, &client, driver.AsWeakPtr(), test_form(), false)); 315 NULL, &client, driver.AsWeakPtr(), test_form(), false));
316 316
317 controller()->OnAutomaticPasswordSave(test_form_manager.Pass()); 317 controller()->OnAutomaticPasswordSave(test_form_manager.Pass());
318 EXPECT_EQ(password_manager::ui::CONFIRMATION_STATE, controller()->state()); 318 EXPECT_EQ(password_manager::ui::CONFIRMATION_STATE, controller()->state());
319 319
320 ManagePasswordsIconMock mock; 320 ManagePasswordsIconMock mock;
321 controller()->UpdateIconAndBubbleState(&mock); 321 controller()->UpdateIconAndBubbleState(&mock);
322 EXPECT_EQ(password_manager::ui::MANAGE_STATE, mock.state()); 322 EXPECT_EQ(password_manager::ui::MANAGE_STATE, mock.state());
323 } 323 }
324 324
325 TEST_F(ManagePasswordsUIControllerTest, ChooseCredential) { 325 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialLocal) {
326 ScopedVector<autofill::PasswordForm> local_credentials; 326 ScopedVector<autofill::PasswordForm> local_credentials;
327 local_credentials.push_back(new autofill::PasswordForm(test_form())); 327 local_credentials.push_back(new autofill::PasswordForm(test_form()));
328 ScopedVector<autofill::PasswordForm> federated_credentials; 328 ScopedVector<autofill::PasswordForm> federated_credentials;
329 EXPECT_TRUE(controller()->OnChooseCredentials( 329 EXPECT_TRUE(controller()->OnChooseCredentials(
330 local_credentials.Pass(), 330 local_credentials.Pass(),
331 federated_credentials.Pass(), 331 federated_credentials.Pass(),
332 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, 332 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback,
333 base::Unretained(this)))); 333 base::Unretained(this))));
334 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_AND_BUBBLE_STATE, 334 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_AND_BUBBLE_STATE,
335 controller()->state()); 335 controller()->state());
336 EXPECT_FALSE(controller()->PasswordPendingUserDecision()); 336 EXPECT_FALSE(controller()->PasswordPendingUserDecision());
337 EXPECT_EQ(test_form().origin, controller()->origin()); 337 EXPECT_EQ(test_form().origin, controller()->origin());
338 EXPECT_EQ(autofill::ConstPasswordFormMap(), controller()->best_matches()); 338 EXPECT_EQ(autofill::ConstPasswordFormMap(), controller()->best_matches());
339 339
340 ManagePasswordsIconMock mock; 340 ManagePasswordsIconMock mock;
341 controller()->UpdateIconAndBubbleState(&mock); 341 controller()->UpdateIconAndBubbleState(&mock);
342 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, mock.state()); 342 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, mock.state());
343 343
344 controller()->ManagePasswordsUIController::ChooseCredential(true, 344 controller()->ManagePasswordsUIController::ChooseCredential(
345 test_form()); 345 test_form(), password_manager::CredentialType::CREDENTIAL_TYPE_LOCAL);
346 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); 346 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state());
347 ASSERT_TRUE(credential_info()); 347 ASSERT_TRUE(credential_info());
348 EXPECT_EQ(test_form().username_value, credential_info()->id); 348 EXPECT_EQ(test_form().username_value, credential_info()->id);
349 EXPECT_EQ(test_form().password_value, credential_info()->password); 349 EXPECT_EQ(test_form().password_value, credential_info()->password);
350 EXPECT_TRUE(credential_info()->federation.is_empty());
350 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_LOCAL, 351 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_LOCAL,
351 credential_info()->type); 352 credential_info()->type);
352 } 353 }
353 354
355 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialFederated) {
356 ScopedVector<autofill::PasswordForm> local_credentials;
357 local_credentials.push_back(new autofill::PasswordForm(test_form()));
vasilii 2015/01/23 15:24:18 That's strange that you add test_form() here as a
melandory 2015/01/23 15:32:01 Fixed.
358 ScopedVector<autofill::PasswordForm> federated_credentials;
359 EXPECT_TRUE(controller()->OnChooseCredentials(
360 local_credentials.Pass(), federated_credentials.Pass(),
361 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback,
362 base::Unretained(this))));
363 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_AND_BUBBLE_STATE,
364 controller()->state());
365 EXPECT_FALSE(controller()->PasswordPendingUserDecision());
366 EXPECT_EQ(test_form().origin, controller()->origin());
367 EXPECT_EQ(autofill::ConstPasswordFormMap(), controller()->best_matches());
368
369 ManagePasswordsIconMock mock;
370 controller()->UpdateIconAndBubbleState(&mock);
371 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, mock.state());
372
373 controller()->ManagePasswordsUIController::ChooseCredential(
374 test_form(), password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED);
375 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state());
376 ASSERT_TRUE(credential_info());
377 EXPECT_EQ(test_form().username_value, credential_info()->id);
378 EXPECT_TRUE(credential_info()->password.empty());
379 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_FEDERATED,
380 credential_info()->type);
381 }
382
354 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialCancel) { 383 TEST_F(ManagePasswordsUIControllerTest, ChooseCredentialCancel) {
355 ScopedVector<autofill::PasswordForm> local_credentials; 384 ScopedVector<autofill::PasswordForm> local_credentials;
356 local_credentials.push_back(new autofill::PasswordForm(test_form())); 385 local_credentials.push_back(new autofill::PasswordForm(test_form()));
357 ScopedVector<autofill::PasswordForm> federated_credentials; 386 ScopedVector<autofill::PasswordForm> federated_credentials;
358 EXPECT_TRUE(controller()->OnChooseCredentials( 387 EXPECT_TRUE(controller()->OnChooseCredentials(
359 local_credentials.Pass(), 388 local_credentials.Pass(),
360 federated_credentials.Pass(), 389 federated_credentials.Pass(),
361 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback, 390 base::Bind(&ManagePasswordsUIControllerTest::CredentialCallback,
362 base::Unretained(this)))); 391 base::Unretained(this))));
363 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_AND_BUBBLE_STATE, 392 EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_AND_BUBBLE_STATE,
364 controller()->state()); 393 controller()->state());
365 394
366 controller()->ManagePasswordsUIController::ChooseCredential(false, 395 controller()->ManagePasswordsUIController::ChooseCredential(
367 test_form()); 396 test_form(), password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY);
368 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); 397 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state());
369 ASSERT_TRUE(credential_info()); 398 ASSERT_TRUE(credential_info());
399 EXPECT_TRUE(credential_info()->federation.is_empty());
400 EXPECT_TRUE(credential_info()->password.empty());
370 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY, 401 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY,
371 credential_info()->type); 402 credential_info()->type);
372 } 403 }
373 404
374 TEST_F(ManagePasswordsUIControllerTest, InactiveOnPSLMatched) { 405 TEST_F(ManagePasswordsUIControllerTest, InactiveOnPSLMatched) {
375 base::string16 kTestUsername = base::ASCIIToUTF16("test_username"); 406 base::string16 kTestUsername = base::ASCIIToUTF16("test_username");
376 autofill::PasswordFormMap map; 407 autofill::PasswordFormMap map;
377 autofill::PasswordForm psl_matched_test_form = test_form(); 408 autofill::PasswordForm psl_matched_test_form = test_form();
378 psl_matched_test_form.original_signon_realm = "http://pslmatched.example.com"; 409 psl_matched_test_form.original_signon_realm = "http://pslmatched.example.com";
379 map[kTestUsername] = &psl_matched_test_form; 410 map[kTestUsername] = &psl_matched_test_form;
380 controller()->OnPasswordAutofilled(map); 411 controller()->OnPasswordAutofilled(map);
381 412
382 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); 413 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state());
383 } 414 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698