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

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

Issue 980583002: Serialize form_data in Gnome keyring password store service. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Style fix Created 5 years, 9 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 (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/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "base/strings/string_util.h" 10 #include "base/strings/string_util.h"
(...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after
352 form_google_.submit_element = UTF8ToUTF16("submit"); 352 form_google_.submit_element = UTF8ToUTF16("submit");
353 form_google_.signon_realm = "http://www.google.com/"; 353 form_google_.signon_realm = "http://www.google.com/";
354 form_google_.type = PasswordForm::TYPE_GENERATED; 354 form_google_.type = PasswordForm::TYPE_GENERATED;
355 form_google_.date_created = base::Time::Now(); 355 form_google_.date_created = base::Time::Now();
356 form_google_.date_synced = base::Time::Now(); 356 form_google_.date_synced = base::Time::Now();
357 form_google_.display_name = UTF8ToUTF16("Joe Schmoe"); 357 form_google_.display_name = UTF8ToUTF16("Joe Schmoe");
358 form_google_.avatar_url = GURL("http://www.google.com/avatar"); 358 form_google_.avatar_url = GURL("http://www.google.com/avatar");
359 form_google_.federation_url = GURL("http://www.google.com/federation_url"); 359 form_google_.federation_url = GURL("http://www.google.com/federation_url");
360 form_google_.skip_zero_click = true; 360 form_google_.skip_zero_click = true;
361 form_google_.generation_upload_status = PasswordForm::POSITIVE_SIGNAL_SENT; 361 form_google_.generation_upload_status = PasswordForm::POSITIVE_SIGNAL_SENT;
362 form_google_.form_data.name = UTF8ToUTF16("form_name");
363 form_google_.form_data.user_submitted = true;
362 364
363 form_facebook_.origin = GURL("http://www.facebook.com/"); 365 form_facebook_.origin = GURL("http://www.facebook.com/");
364 form_facebook_.action = GURL("http://www.facebook.com/login"); 366 form_facebook_.action = GURL("http://www.facebook.com/login");
365 form_facebook_.username_element = UTF8ToUTF16("user"); 367 form_facebook_.username_element = UTF8ToUTF16("user");
366 form_facebook_.username_value = UTF8ToUTF16("a"); 368 form_facebook_.username_value = UTF8ToUTF16("a");
367 form_facebook_.password_element = UTF8ToUTF16("password"); 369 form_facebook_.password_element = UTF8ToUTF16("password");
368 form_facebook_.password_value = UTF8ToUTF16("b"); 370 form_facebook_.password_value = UTF8ToUTF16("b");
369 form_facebook_.submit_element = UTF8ToUTF16("submit"); 371 form_facebook_.submit_element = UTF8ToUTF16("submit");
370 form_facebook_.signon_realm = "http://www.facebook.com/"; 372 form_facebook_.signon_realm = "http://www.facebook.com/";
371 form_facebook_.date_created = base::Time::Now(); 373 form_facebook_.date_created = base::Time::Now();
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
441 } 443 }
442 } 444 }
443 445
444 void CheckMockKeyringItem(const MockKeyringItem* item, 446 void CheckMockKeyringItem(const MockKeyringItem* item,
445 const PasswordForm& form, 447 const PasswordForm& form,
446 const std::string& app_string) { 448 const std::string& app_string) {
447 // We always add items to the login keyring. 449 // We always add items to the login keyring.
448 EXPECT_EQ("login", item->keyring); 450 EXPECT_EQ("login", item->keyring);
449 EXPECT_EQ(form.origin.spec(), item->display_name); 451 EXPECT_EQ(form.origin.spec(), item->display_name);
450 EXPECT_EQ(UTF16ToUTF8(form.password_value), item->password); 452 EXPECT_EQ(UTF16ToUTF8(form.password_value), item->password);
451 EXPECT_EQ(21u, item->attributes.size()); 453 EXPECT_EQ(22u, item->attributes.size());
452 CheckStringAttribute(item, "origin_url", form.origin.spec()); 454 CheckStringAttribute(item, "origin_url", form.origin.spec());
453 CheckStringAttribute(item, "action_url", form.action.spec()); 455 CheckStringAttribute(item, "action_url", form.action.spec());
454 CheckStringAttribute(item, "username_element", 456 CheckStringAttribute(item, "username_element",
455 UTF16ToUTF8(form.username_element)); 457 UTF16ToUTF8(form.username_element));
456 CheckStringAttribute(item, "username_value", 458 CheckStringAttribute(item, "username_value",
457 UTF16ToUTF8(form.username_value)); 459 UTF16ToUTF8(form.username_value));
458 CheckStringAttribute(item, "password_element", 460 CheckStringAttribute(item, "password_element",
459 UTF16ToUTF8(form.password_element)); 461 UTF16ToUTF8(form.password_element));
460 CheckStringAttribute(item, "submit_element", 462 CheckStringAttribute(item, "submit_element",
461 UTF16ToUTF8(form.submit_element)); 463 UTF16ToUTF8(form.submit_element));
462 CheckStringAttribute(item, "signon_realm", form.signon_realm); 464 CheckStringAttribute(item, "signon_realm", form.signon_realm);
463 CheckUint32Attribute(item, "ssl_valid", form.ssl_valid); 465 CheckUint32Attribute(item, "ssl_valid", form.ssl_valid);
464 CheckUint32Attribute(item, "preferred", form.preferred); 466 CheckUint32Attribute(item, "preferred", form.preferred);
465 // We don't check the date created. It varies. 467 // We don't check the date created. It varies.
466 CheckUint32Attribute(item, "blacklisted_by_user", form.blacklisted_by_user); 468 CheckUint32Attribute(item, "blacklisted_by_user", form.blacklisted_by_user);
467 CheckUint32Attribute(item, "type", form.type); 469 CheckUint32Attribute(item, "type", form.type);
468 CheckUint32Attribute(item, "times_used", form.times_used); 470 CheckUint32Attribute(item, "times_used", form.times_used);
469 CheckUint32Attribute(item, "scheme", form.scheme); 471 CheckUint32Attribute(item, "scheme", form.scheme);
470 CheckStringAttribute(item, "date_synced", base::Int64ToString( 472 CheckStringAttribute(item, "date_synced", base::Int64ToString(
471 form.date_synced.ToInternalValue())); 473 form.date_synced.ToInternalValue()));
472 CheckStringAttribute(item, "display_name", UTF16ToUTF8(form.display_name)); 474 CheckStringAttribute(item, "display_name", UTF16ToUTF8(form.display_name));
473 CheckStringAttribute(item, "avatar_url", form.avatar_url.spec()); 475 CheckStringAttribute(item, "avatar_url", form.avatar_url.spec());
474 CheckStringAttribute(item, "federation_url", form.federation_url.spec()); 476 CheckStringAttribute(item, "federation_url", form.federation_url.spec());
475 CheckUint32Attribute(item, "skip_zero_click", form.skip_zero_click); 477 CheckUint32Attribute(item, "skip_zero_click", form.skip_zero_click);
476 CheckUint32Attribute(item, "generation_upload_status", 478 CheckUint32Attribute(item, "generation_upload_status",
477 form.generation_upload_status); 479 form.generation_upload_status);
478 CheckStringAttribute(item, "application", app_string); 480 CheckStringAttribute(item, "application", app_string);
481 autofill::FormData actual;
482 DeserializeFormDataFromBase64String(
483 item->attributes.at("form_data").value_string, &actual);
484 EXPECT_TRUE(form.form_data.SameFormAs(actual));
479 } 485 }
480 486
481 // Saves |credentials| and then gets logins matching |url| and |scheme|. 487 // Saves |credentials| and then gets logins matching |url| and |scheme|.
482 // Returns true when something is found, and in such case copies the result to 488 // Returns true when something is found, and in such case copies the result to
483 // |result| when |result| is not NULL. (Note that there can be max. 1 result, 489 // |result| when |result| is not NULL. (Note that there can be max. 1 result,
484 // derived from |credentials|.) 490 // derived from |credentials|.)
485 bool CheckCredentialAvailability(const PasswordForm& credentials, 491 bool CheckCredentialAvailability(const PasswordForm& credentials,
486 const GURL& url, 492 const GURL& url,
487 const PasswordForm::Scheme& scheme, 493 const PasswordForm::Scheme& scheme,
488 PasswordForm* result) { 494 PasswordForm* result) {
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
765 if (mock_keyring_items.size() > 0) 771 if (mock_keyring_items.size() > 0)
766 CheckMockKeyringItem(&mock_keyring_items[0], form_google_, "chrome-42"); 772 CheckMockKeyringItem(&mock_keyring_items[0], form_google_, "chrome-42");
767 } 773 }
768 774
769 TEST_F(NativeBackendGnomeTest, BasicListLogins) { 775 TEST_F(NativeBackendGnomeTest, BasicListLogins) {
770 NativeBackendGnome backend(42); 776 NativeBackendGnome backend(42);
771 backend.Init(); 777 backend.Init();
772 778
773 BrowserThread::PostTask( 779 BrowserThread::PostTask(
774 BrowserThread::DB, FROM_HERE, 780 BrowserThread::DB, FROM_HERE,
775 base::Bind(base::IgnoreResult( &NativeBackendGnome::AddLogin), 781 base::Bind(base::IgnoreResult(&NativeBackendGnome::AddLogin),
776 base::Unretained(&backend), form_google_)); 782 base::Unretained(&backend), form_google_));
777 783
778 ScopedVector<autofill::PasswordForm> form_list; 784 ScopedVector<autofill::PasswordForm> form_list;
779 BrowserThread::PostTask( 785 BrowserThread::PostTask(
780 BrowserThread::DB, FROM_HERE, 786 BrowserThread::DB, FROM_HERE,
781 base::Bind( 787 base::Bind(
782 base::IgnoreResult(&NativeBackendGnome::GetAutofillableLogins), 788 base::IgnoreResult(&NativeBackendGnome::GetAutofillableLogins),
783 base::Unretained(&backend), &form_list)); 789 base::Unretained(&backend), &form_list));
784 790
785 RunBothThreads(); 791 RunBothThreads();
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after
1099 1105
1100 TEST_F(NativeBackendGnomeTest, RemoveLoginsCreatedBetween) { 1106 TEST_F(NativeBackendGnomeTest, RemoveLoginsCreatedBetween) {
1101 CheckRemoveLoginsBetween(CREATED); 1107 CheckRemoveLoginsBetween(CREATED);
1102 } 1108 }
1103 1109
1104 TEST_F(NativeBackendGnomeTest, RemoveLoginsSyncedBetween) { 1110 TEST_F(NativeBackendGnomeTest, RemoveLoginsSyncedBetween) {
1105 CheckRemoveLoginsBetween(SYNCED); 1111 CheckRemoveLoginsBetween(SYNCED);
1106 } 1112 }
1107 1113
1108 // TODO(mdm): add more basic tests here at some point. 1114 // 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_libsecret.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698