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

Side by Side Diff: chrome/browser/password_manager/native_backend_gnome_x_unittest.cc

Issue 459103005: Introduce new PasswordForm attributes for Credential Management API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Mike's comment Created 6 years, 4 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <stdarg.h> 5 #include <stdarg.h>
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/prefs/pref_service.h" 8 #include "base/prefs/pref_service.h"
9 #include "base/stl_util.h" 9 #include "base/stl_util.h"
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 EXPECT_EQ(expected.signon_realm, actual.signon_realm); 299 EXPECT_EQ(expected.signon_realm, actual.signon_realm);
300 EXPECT_EQ(expected.ssl_valid, actual.ssl_valid); 300 EXPECT_EQ(expected.ssl_valid, actual.ssl_valid);
301 EXPECT_EQ(expected.preferred, actual.preferred); 301 EXPECT_EQ(expected.preferred, actual.preferred);
302 // We don't check the date created. It varies due to bug in the 302 // We don't check the date created. It varies due to bug in the
303 // serialization. Integer seconds are saved instead of microseconds. 303 // serialization. Integer seconds are saved instead of microseconds.
304 EXPECT_EQ(expected.blacklisted_by_user, actual.blacklisted_by_user); 304 EXPECT_EQ(expected.blacklisted_by_user, actual.blacklisted_by_user);
305 EXPECT_EQ(expected.type, actual.type); 305 EXPECT_EQ(expected.type, actual.type);
306 EXPECT_EQ(expected.times_used, actual.times_used); 306 EXPECT_EQ(expected.times_used, actual.times_used);
307 EXPECT_EQ(expected.scheme, actual.scheme); 307 EXPECT_EQ(expected.scheme, actual.scheme);
308 EXPECT_EQ(expected.date_synced, actual.date_synced); 308 EXPECT_EQ(expected.date_synced, actual.date_synced);
309 EXPECT_EQ(expected.display_name, actual.display_name);
310 EXPECT_EQ(expected.avatar_url, actual.avatar_url);
311 EXPECT_EQ(expected.federation_url, actual.federation_url);
312 EXPECT_EQ(expected.is_zero_click, actual.is_zero_click);
309 } 313 }
310 } 314 }
311 315
312 void CheckPasswordChangesWithResult(const PasswordStoreChangeList* expected, 316 void CheckPasswordChangesWithResult(const PasswordStoreChangeList* expected,
313 const PasswordStoreChangeList* actual, 317 const PasswordStoreChangeList* actual,
314 bool result) { 318 bool result) {
315 EXPECT_TRUE(result); 319 EXPECT_TRUE(result);
316 CheckPasswordChanges(*expected, *actual); 320 CheckPasswordChanges(*expected, *actual);
317 } 321 }
318 322
(...skipping 24 matching lines...) Expand all
343 form_google_.action = GURL("http://www.google.com/login"); 347 form_google_.action = GURL("http://www.google.com/login");
344 form_google_.username_element = UTF8ToUTF16("user"); 348 form_google_.username_element = UTF8ToUTF16("user");
345 form_google_.username_value = UTF8ToUTF16("joeschmoe"); 349 form_google_.username_value = UTF8ToUTF16("joeschmoe");
346 form_google_.password_element = UTF8ToUTF16("pass"); 350 form_google_.password_element = UTF8ToUTF16("pass");
347 form_google_.password_value = UTF8ToUTF16("seekrit"); 351 form_google_.password_value = UTF8ToUTF16("seekrit");
348 form_google_.submit_element = UTF8ToUTF16("submit"); 352 form_google_.submit_element = UTF8ToUTF16("submit");
349 form_google_.signon_realm = "http://www.google.com/"; 353 form_google_.signon_realm = "http://www.google.com/";
350 form_google_.type = PasswordForm::TYPE_GENERATED; 354 form_google_.type = PasswordForm::TYPE_GENERATED;
351 form_google_.date_created = base::Time::Now(); 355 form_google_.date_created = base::Time::Now();
352 form_google_.date_synced = base::Time::Now(); 356 form_google_.date_synced = base::Time::Now();
357 form_google_.display_name = UTF8ToUTF16("Joe Schmoe");
358 form_google_.avatar_url = GURL("http://www.google.com/avatar");
359 form_google_.federation_url = GURL("http://www.google.com/federation_url");
360 form_google_.is_zero_click = true;
353 361
354 form_facebook_.origin = GURL("http://www.facebook.com/"); 362 form_facebook_.origin = GURL("http://www.facebook.com/");
355 form_facebook_.action = GURL("http://www.facebook.com/login"); 363 form_facebook_.action = GURL("http://www.facebook.com/login");
356 form_facebook_.username_element = UTF8ToUTF16("user"); 364 form_facebook_.username_element = UTF8ToUTF16("user");
357 form_facebook_.username_value = UTF8ToUTF16("a"); 365 form_facebook_.username_value = UTF8ToUTF16("a");
358 form_facebook_.password_element = UTF8ToUTF16("password"); 366 form_facebook_.password_element = UTF8ToUTF16("password");
359 form_facebook_.password_value = UTF8ToUTF16("b"); 367 form_facebook_.password_value = UTF8ToUTF16("b");
360 form_facebook_.submit_element = UTF8ToUTF16("submit"); 368 form_facebook_.submit_element = UTF8ToUTF16("submit");
361 form_facebook_.signon_realm = "http://www.facebook.com/"; 369 form_facebook_.signon_realm = "http://www.facebook.com/";
362 form_facebook_.date_created = base::Time::Now(); 370 form_facebook_.date_created = base::Time::Now();
363 form_facebook_.date_synced = base::Time::Now(); 371 form_facebook_.date_synced = base::Time::Now();
372 form_facebook_.display_name = UTF8ToUTF16("Joe Schmoe");
373 form_facebook_.avatar_url = GURL("http://www.facebook.com/avatar");
374 form_facebook_.federation_url = GURL("http://www.facebook.com/federation");
375 form_facebook_.is_zero_click = true;
364 376
365 form_isc_.origin = GURL("http://www.isc.org/"); 377 form_isc_.origin = GURL("http://www.isc.org/");
366 form_isc_.action = GURL("http://www.isc.org/auth"); 378 form_isc_.action = GURL("http://www.isc.org/auth");
367 form_isc_.username_element = UTF8ToUTF16("id"); 379 form_isc_.username_element = UTF8ToUTF16("id");
368 form_isc_.username_value = UTF8ToUTF16("janedoe"); 380 form_isc_.username_value = UTF8ToUTF16("janedoe");
369 form_isc_.password_element = UTF8ToUTF16("passwd"); 381 form_isc_.password_element = UTF8ToUTF16("passwd");
370 form_isc_.password_value = UTF8ToUTF16("ihazabukkit"); 382 form_isc_.password_value = UTF8ToUTF16("ihazabukkit");
371 form_isc_.submit_element = UTF8ToUTF16("login"); 383 form_isc_.submit_element = UTF8ToUTF16("login");
372 form_isc_.signon_realm = "http://www.isc.org/"; 384 form_isc_.signon_realm = "http://www.isc.org/";
373 form_isc_.date_created = base::Time::Now(); 385 form_isc_.date_created = base::Time::Now();
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 } 439 }
428 } 440 }
429 441
430 void CheckMockKeyringItem(const MockKeyringItem* item, 442 void CheckMockKeyringItem(const MockKeyringItem* item,
431 const PasswordForm& form, 443 const PasswordForm& form,
432 const std::string& app_string) { 444 const std::string& app_string) {
433 // We always add items to the login keyring. 445 // We always add items to the login keyring.
434 EXPECT_EQ("login", item->keyring); 446 EXPECT_EQ("login", item->keyring);
435 EXPECT_EQ(form.origin.spec(), item->display_name); 447 EXPECT_EQ(form.origin.spec(), item->display_name);
436 EXPECT_EQ(UTF16ToUTF8(form.password_value), item->password); 448 EXPECT_EQ(UTF16ToUTF8(form.password_value), item->password);
437 EXPECT_EQ(16u, item->attributes.size()); 449 EXPECT_EQ(20u, item->attributes.size());
438 CheckStringAttribute(item, "origin_url", form.origin.spec()); 450 CheckStringAttribute(item, "origin_url", form.origin.spec());
439 CheckStringAttribute(item, "action_url", form.action.spec()); 451 CheckStringAttribute(item, "action_url", form.action.spec());
440 CheckStringAttribute(item, "username_element", 452 CheckStringAttribute(item, "username_element",
441 UTF16ToUTF8(form.username_element)); 453 UTF16ToUTF8(form.username_element));
442 CheckStringAttribute(item, "username_value", 454 CheckStringAttribute(item, "username_value",
443 UTF16ToUTF8(form.username_value)); 455 UTF16ToUTF8(form.username_value));
444 CheckStringAttribute(item, "password_element", 456 CheckStringAttribute(item, "password_element",
445 UTF16ToUTF8(form.password_element)); 457 UTF16ToUTF8(form.password_element));
446 CheckStringAttribute(item, "submit_element", 458 CheckStringAttribute(item, "submit_element",
447 UTF16ToUTF8(form.submit_element)); 459 UTF16ToUTF8(form.submit_element));
448 CheckStringAttribute(item, "signon_realm", form.signon_realm); 460 CheckStringAttribute(item, "signon_realm", form.signon_realm);
449 CheckUint32Attribute(item, "ssl_valid", form.ssl_valid); 461 CheckUint32Attribute(item, "ssl_valid", form.ssl_valid);
450 CheckUint32Attribute(item, "preferred", form.preferred); 462 CheckUint32Attribute(item, "preferred", form.preferred);
451 // We don't check the date created. It varies. 463 // We don't check the date created. It varies.
452 CheckUint32Attribute(item, "blacklisted_by_user", form.blacklisted_by_user); 464 CheckUint32Attribute(item, "blacklisted_by_user", form.blacklisted_by_user);
453 CheckUint32Attribute(item, "type", form.type); 465 CheckUint32Attribute(item, "type", form.type);
454 CheckUint32Attribute(item, "times_used", form.times_used); 466 CheckUint32Attribute(item, "times_used", form.times_used);
455 CheckUint32Attribute(item, "scheme", form.scheme); 467 CheckUint32Attribute(item, "scheme", form.scheme);
456 CheckStringAttribute(item, "application", app_string);
457 CheckStringAttribute(item, "date_synced", base::Int64ToString( 468 CheckStringAttribute(item, "date_synced", base::Int64ToString(
458 form.date_synced.ToInternalValue())); 469 form.date_synced.ToInternalValue()));
470 CheckStringAttribute(item, "display_name", UTF16ToUTF8(form.display_name));
471 CheckStringAttribute(item, "avatar_url", form.avatar_url.spec());
472 CheckStringAttribute(item, "federation_url", form.federation_url.spec());
473 CheckUint32Attribute(item, "is_zero_click", form.is_zero_click);
474 CheckStringAttribute(item, "application", app_string);
459 } 475 }
460 476
461 // Saves |credentials| and then gets logins matching |url| and |scheme|. 477 // Saves |credentials| and then gets logins matching |url| and |scheme|.
462 // Returns true when something is found, and in such case copies the result to 478 // Returns true when something is found, and in such case copies the result to
463 // |result| when |result| is not NULL. (Note that there can be max. 1 result, 479 // |result| when |result| is not NULL. (Note that there can be max. 1 result,
464 // derived from |credentials|.) 480 // derived from |credentials|.)
465 bool CheckCredentialAvailability(const PasswordForm& credentials, 481 bool CheckCredentialAvailability(const PasswordForm& credentials,
466 const GURL& url, 482 const GURL& url,
467 const PasswordForm::Scheme& scheme, 483 const PasswordForm::Scheme& scheme,
468 PasswordForm* result) { 484 PasswordForm* result) {
(...skipping 569 matching lines...) Expand 10 before | Expand all | Expand 10 after
1038 1054
1039 TEST_F(NativeBackendGnomeTest, RemoveLoginsCreatedBetween) { 1055 TEST_F(NativeBackendGnomeTest, RemoveLoginsCreatedBetween) {
1040 CheckRemoveLoginsBetween(CREATED); 1056 CheckRemoveLoginsBetween(CREATED);
1041 } 1057 }
1042 1058
1043 TEST_F(NativeBackendGnomeTest, RemoveLoginsSyncedBetween) { 1059 TEST_F(NativeBackendGnomeTest, RemoveLoginsSyncedBetween) {
1044 CheckRemoveLoginsBetween(SYNCED); 1060 CheckRemoveLoginsBetween(SYNCED);
1045 } 1061 }
1046 1062
1047 // TODO(mdm): add more basic tests here at some point. 1063 // TODO(mdm): add more basic tests here at some point.
OLDNEW
« no previous file with comments | « chrome/browser/password_manager/native_backend_gnome_x.cc ('k') | chrome/browser/password_manager/native_backend_kwallet_x.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698