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

Side by Side Diff: chrome/browser/password_manager/native_backend_libsecret_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) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2015 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 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
274 form_google_.submit_element = UTF8ToUTF16("submit"); 274 form_google_.submit_element = UTF8ToUTF16("submit");
275 form_google_.signon_realm = "http://www.google.com/"; 275 form_google_.signon_realm = "http://www.google.com/";
276 form_google_.type = PasswordForm::TYPE_GENERATED; 276 form_google_.type = PasswordForm::TYPE_GENERATED;
277 form_google_.date_created = base::Time::Now(); 277 form_google_.date_created = base::Time::Now();
278 form_google_.date_synced = base::Time::Now(); 278 form_google_.date_synced = base::Time::Now();
279 form_google_.display_name = UTF8ToUTF16("Joe Schmoe"); 279 form_google_.display_name = UTF8ToUTF16("Joe Schmoe");
280 form_google_.avatar_url = GURL("http://www.google.com/avatar"); 280 form_google_.avatar_url = GURL("http://www.google.com/avatar");
281 form_google_.federation_url = GURL("http://www.google.com/federation_url"); 281 form_google_.federation_url = GURL("http://www.google.com/federation_url");
282 form_google_.skip_zero_click = true; 282 form_google_.skip_zero_click = true;
283 form_google_.generation_upload_status = PasswordForm::POSITIVE_SIGNAL_SENT; 283 form_google_.generation_upload_status = PasswordForm::POSITIVE_SIGNAL_SENT;
284 form_google_.form_data.name = UTF8ToUTF16("form_name");
285 form_google_.form_data.user_submitted = true;
284 286
285 form_facebook_.origin = GURL("http://www.facebook.com/"); 287 form_facebook_.origin = GURL("http://www.facebook.com/");
286 form_facebook_.action = GURL("http://www.facebook.com/login"); 288 form_facebook_.action = GURL("http://www.facebook.com/login");
287 form_facebook_.username_element = UTF8ToUTF16("user"); 289 form_facebook_.username_element = UTF8ToUTF16("user");
288 form_facebook_.username_value = UTF8ToUTF16("a"); 290 form_facebook_.username_value = UTF8ToUTF16("a");
289 form_facebook_.password_element = UTF8ToUTF16("password"); 291 form_facebook_.password_element = UTF8ToUTF16("password");
290 form_facebook_.password_value = UTF8ToUTF16("b"); 292 form_facebook_.password_value = UTF8ToUTF16("b");
291 form_facebook_.submit_element = UTF8ToUTF16("submit"); 293 form_facebook_.submit_element = UTF8ToUTF16("submit");
292 form_facebook_.signon_realm = "http://www.facebook.com/"; 294 form_facebook_.signon_realm = "http://www.facebook.com/";
293 form_facebook_.date_created = base::Time::Now(); 295 form_facebook_.date_created = base::Time::Now();
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 EXPECT_TRUE(item_value) << " in attribute " << attribute; 351 EXPECT_TRUE(item_value) << " in attribute " << attribute;
350 if (item_value) { 352 if (item_value) {
351 EXPECT_EQ(value, static_cast<char*>(item_value)); 353 EXPECT_EQ(value, static_cast<char*>(item_value));
352 } 354 }
353 } 355 }
354 356
355 void CheckMockSecretItem(const MockSecretItem* item, 357 void CheckMockSecretItem(const MockSecretItem* item,
356 const PasswordForm& form, 358 const PasswordForm& form,
357 const std::string& app_string) { 359 const std::string& app_string) {
358 EXPECT_EQ(UTF16ToUTF8(form.password_value), item->value->password); 360 EXPECT_EQ(UTF16ToUTF8(form.password_value), item->value->password);
359 EXPECT_EQ(21u, g_hash_table_size(item->attributes)); 361 EXPECT_EQ(22u, g_hash_table_size(item->attributes));
360 CheckStringAttribute(item, "origin_url", form.origin.spec()); 362 CheckStringAttribute(item, "origin_url", form.origin.spec());
361 CheckStringAttribute(item, "action_url", form.action.spec()); 363 CheckStringAttribute(item, "action_url", form.action.spec());
362 CheckStringAttribute(item, "username_element", 364 CheckStringAttribute(item, "username_element",
363 UTF16ToUTF8(form.username_element)); 365 UTF16ToUTF8(form.username_element));
364 CheckStringAttribute(item, "username_value", 366 CheckStringAttribute(item, "username_value",
365 UTF16ToUTF8(form.username_value)); 367 UTF16ToUTF8(form.username_value));
366 CheckStringAttribute(item, "password_element", 368 CheckStringAttribute(item, "password_element",
367 UTF16ToUTF8(form.password_element)); 369 UTF16ToUTF8(form.password_element));
368 CheckStringAttribute(item, "submit_element", 370 CheckStringAttribute(item, "submit_element",
369 UTF16ToUTF8(form.submit_element)); 371 UTF16ToUTF8(form.submit_element));
370 CheckStringAttribute(item, "signon_realm", form.signon_realm); 372 CheckStringAttribute(item, "signon_realm", form.signon_realm);
371 CheckUint32Attribute(item, "ssl_valid", form.ssl_valid); 373 CheckUint32Attribute(item, "ssl_valid", form.ssl_valid);
372 CheckUint32Attribute(item, "preferred", form.preferred); 374 CheckUint32Attribute(item, "preferred", form.preferred);
373 // We don't check the date created. It varies. 375 // We don't check the date created. It varies.
374 CheckUint32Attribute(item, "blacklisted_by_user", form.blacklisted_by_user); 376 CheckUint32Attribute(item, "blacklisted_by_user", form.blacklisted_by_user);
375 CheckUint32Attribute(item, "type", form.type); 377 CheckUint32Attribute(item, "type", form.type);
376 CheckUint32Attribute(item, "times_used", form.times_used); 378 CheckUint32Attribute(item, "times_used", form.times_used);
377 CheckUint32Attribute(item, "scheme", form.scheme); 379 CheckUint32Attribute(item, "scheme", form.scheme);
378 CheckStringAttribute( 380 CheckStringAttribute(
379 item, "date_synced", 381 item, "date_synced",
380 base::Int64ToString(form.date_synced.ToInternalValue())); 382 base::Int64ToString(form.date_synced.ToInternalValue()));
381 CheckStringAttribute(item, "display_name", UTF16ToUTF8(form.display_name)); 383 CheckStringAttribute(item, "display_name", UTF16ToUTF8(form.display_name));
382 CheckStringAttribute(item, "avatar_url", form.avatar_url.spec()); 384 CheckStringAttribute(item, "avatar_url", form.avatar_url.spec());
383 CheckStringAttribute(item, "federation_url", form.federation_url.spec()); 385 CheckStringAttribute(item, "federation_url", form.federation_url.spec());
384 CheckUint32Attribute(item, "skip_zero_click", form.skip_zero_click); 386 CheckUint32Attribute(item, "skip_zero_click", form.skip_zero_click);
385 CheckUint32Attribute(item, "generation_upload_status", 387 CheckUint32Attribute(item, "generation_upload_status",
386 form.generation_upload_status); 388 form.generation_upload_status);
387 CheckStringAttribute(item, "application", app_string); 389 CheckStringAttribute(item, "application", app_string);
390 autofill::FormData actual;
391 DeserializeFormDataFromBase64String(
392 static_cast<char*>(g_hash_table_lookup(item->attributes, "form_data")),
393 &actual);
394 EXPECT_TRUE(form.form_data.SameFormAs(actual));
388 } 395 }
389 396
390 // Saves |credentials| and then gets logins matching |url| and |scheme|. 397 // Saves |credentials| and then gets logins matching |url| and |scheme|.
391 // Returns true when something is found, and in such case copies the result to 398 // Returns true when something is found, and in such case copies the result to
392 // |result| when |result| is not nullptr. (Note that there can be max. 1 399 // |result| when |result| is not nullptr. (Note that there can be max. 1
393 // result derived from |credentials|.) 400 // result derived from |credentials|.)
394 bool CheckCredentialAvailability(const PasswordForm& credentials, 401 bool CheckCredentialAvailability(const PasswordForm& credentials,
395 const GURL& url, 402 const GURL& url,
396 const PasswordForm::Scheme& scheme, 403 const PasswordForm::Scheme& scheme,
397 PasswordForm* result) { 404 PasswordForm* result) {
(...skipping 456 matching lines...) Expand 10 before | Expand all | Expand 10 after
854 861
855 ScopedVector<autofill::PasswordForm> form_list; 862 ScopedVector<autofill::PasswordForm> form_list;
856 backend.GetAutofillableLogins(&form_list); 863 backend.GetAutofillableLogins(&form_list);
857 864
858 EXPECT_EQ(1u, form_list.size()); 865 EXPECT_EQ(1u, form_list.size());
859 EXPECT_EQ(GURL(""), form_list[0]->avatar_url); 866 EXPECT_EQ(GURL(""), form_list[0]->avatar_url);
860 EXPECT_FALSE(form_list[0]->ssl_valid); 867 EXPECT_FALSE(form_list[0]->ssl_valid);
861 } 868 }
862 869
863 // TODO(mdm): add more basic tests here at some point. 870 // TODO(mdm): add more basic tests here at some point.
OLDNEW
« no previous file with comments | « chrome/browser/password_manager/native_backend_libsecret.cc ('k') | components/autofill/core/common/form_data.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698