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

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

Issue 895653002: Serialize date_created in PasswordStoreX properly (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 10 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 <algorithm> 5 #include <algorithm>
6 #include <map> 6 #include <map>
7 #include <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 protected: 150 protected:
151 NativeBackendKWalletTestBase() { 151 NativeBackendKWalletTestBase() {
152 old_form_google_.origin = GURL("http://www.google.com/"); 152 old_form_google_.origin = GURL("http://www.google.com/");
153 old_form_google_.action = GURL("http://www.google.com/login"); 153 old_form_google_.action = GURL("http://www.google.com/login");
154 old_form_google_.username_element = UTF8ToUTF16("user"); 154 old_form_google_.username_element = UTF8ToUTF16("user");
155 old_form_google_.username_value = UTF8ToUTF16("joeschmoe"); 155 old_form_google_.username_value = UTF8ToUTF16("joeschmoe");
156 old_form_google_.password_element = UTF8ToUTF16("pass"); 156 old_form_google_.password_element = UTF8ToUTF16("pass");
157 old_form_google_.password_value = UTF8ToUTF16("seekrit"); 157 old_form_google_.password_value = UTF8ToUTF16("seekrit");
158 old_form_google_.submit_element = UTF8ToUTF16("submit"); 158 old_form_google_.submit_element = UTF8ToUTF16("submit");
159 old_form_google_.signon_realm = "Google"; 159 old_form_google_.signon_realm = "Google";
160 old_form_google_.date_created = base::Time::Now();
160 161
161 form_google_ = old_form_google_; 162 form_google_ = old_form_google_;
162 form_google_.times_used = 3; 163 form_google_.times_used = 3;
163 form_google_.type = PasswordForm::TYPE_GENERATED; 164 form_google_.type = PasswordForm::TYPE_GENERATED;
164 form_google_.form_data.name = UTF8ToUTF16("form_name"); 165 form_google_.form_data.name = UTF8ToUTF16("form_name");
165 form_google_.form_data.user_submitted = true; 166 form_google_.form_data.user_submitted = true;
166 form_google_.date_synced = base::Time::Now(); 167 form_google_.date_synced = base::Time::Now();
168 form_google_.date_created = old_form_google_.date_created;
167 form_google_.display_name = UTF8ToUTF16("Joe Schmoe"); 169 form_google_.display_name = UTF8ToUTF16("Joe Schmoe");
168 form_google_.avatar_url = GURL("http://www.google.com/avatar"); 170 form_google_.avatar_url = GURL("http://www.google.com/avatar");
169 form_google_.federation_url = GURL("http://www.google.com/federation_url"); 171 form_google_.federation_url = GURL("http://www.google.com/federation_url");
170 form_google_.skip_zero_click = true; 172 form_google_.skip_zero_click = true;
171 173
172 form_isc_.origin = GURL("http://www.isc.org/"); 174 form_isc_.origin = GURL("http://www.isc.org/");
173 form_isc_.action = GURL("http://www.isc.org/auth"); 175 form_isc_.action = GURL("http://www.isc.org/auth");
174 form_isc_.username_element = UTF8ToUTF16("id"); 176 form_isc_.username_element = UTF8ToUTF16("id");
175 form_isc_.username_value = UTF8ToUTF16("janedoe"); 177 form_isc_.username_value = UTF8ToUTF16("janedoe");
176 form_isc_.password_element = UTF8ToUTF16("passwd"); 178 form_isc_.password_element = UTF8ToUTF16("passwd");
177 form_isc_.password_value = UTF8ToUTF16("ihazabukkit"); 179 form_isc_.password_value = UTF8ToUTF16("ihazabukkit");
178 form_isc_.submit_element = UTF8ToUTF16("login"); 180 form_isc_.submit_element = UTF8ToUTF16("login");
179 form_isc_.signon_realm = "ISC"; 181 form_isc_.signon_realm = "ISC";
180 form_isc_.date_synced = base::Time::Now(); 182 form_isc_.date_synced = base::Time::Now();
183 form_isc_.date_created = base::Time::Now();
181 } 184 }
182 185
183 static void CheckPasswordForm(const PasswordForm& expected, 186 static void CheckPasswordForm(const PasswordForm& expected,
184 const PasswordForm& actual); 187 const PasswordForm& actual,
188 bool check_date_created);
185 static void CheckPasswordChanges(const PasswordStoreChangeList& expected, 189 static void CheckPasswordChanges(const PasswordStoreChangeList& expected,
186 const PasswordStoreChangeList& actual); 190 const PasswordStoreChangeList& actual);
187 static void CheckPasswordChangesWithResult( 191 static void CheckPasswordChangesWithResult(
188 const PasswordStoreChangeList* expected, 192 const PasswordStoreChangeList* expected,
189 const PasswordStoreChangeList* actual, 193 const PasswordStoreChangeList* actual,
190 bool result); 194 bool result);
191 195
192 PasswordForm old_form_google_; 196 PasswordForm old_form_google_;
193 PasswordForm form_google_; 197 PasswordForm form_google_;
194 PasswordForm form_isc_; 198 PasswordForm form_isc_;
195 }; 199 };
196 200
197 // static 201 // static
198 void NativeBackendKWalletTestBase::CheckPasswordForm( 202 void NativeBackendKWalletTestBase::CheckPasswordForm(
199 const PasswordForm& expected, const PasswordForm& actual) { 203 const PasswordForm& expected,
204 const PasswordForm& actual,
205 bool check_date_created) {
200 EXPECT_EQ(expected.origin, actual.origin); 206 EXPECT_EQ(expected.origin, actual.origin);
201 EXPECT_EQ(expected.password_value, actual.password_value); 207 EXPECT_EQ(expected.password_value, actual.password_value);
202 EXPECT_EQ(expected.action, actual.action); 208 EXPECT_EQ(expected.action, actual.action);
203 EXPECT_EQ(expected.username_element, actual.username_element); 209 EXPECT_EQ(expected.username_element, actual.username_element);
204 EXPECT_EQ(expected.username_value, actual.username_value); 210 EXPECT_EQ(expected.username_value, actual.username_value);
205 EXPECT_EQ(expected.password_element, actual.password_element); 211 EXPECT_EQ(expected.password_element, actual.password_element);
206 EXPECT_EQ(expected.submit_element, actual.submit_element); 212 EXPECT_EQ(expected.submit_element, actual.submit_element);
207 EXPECT_EQ(expected.signon_realm, actual.signon_realm); 213 EXPECT_EQ(expected.signon_realm, actual.signon_realm);
208 EXPECT_EQ(expected.ssl_valid, actual.ssl_valid); 214 EXPECT_EQ(expected.ssl_valid, actual.ssl_valid);
209 EXPECT_EQ(expected.preferred, actual.preferred); 215 EXPECT_EQ(expected.preferred, actual.preferred);
210 // We don't check the date created. It varies. 216 if (check_date_created) {
217 EXPECT_EQ(expected.date_created, actual.date_created);
218 }
211 EXPECT_EQ(expected.blacklisted_by_user, actual.blacklisted_by_user); 219 EXPECT_EQ(expected.blacklisted_by_user, actual.blacklisted_by_user);
212 EXPECT_EQ(expected.type, actual.type); 220 EXPECT_EQ(expected.type, actual.type);
213 EXPECT_EQ(expected.times_used, actual.times_used); 221 EXPECT_EQ(expected.times_used, actual.times_used);
214 EXPECT_EQ(expected.scheme, actual.scheme); 222 EXPECT_EQ(expected.scheme, actual.scheme);
215 EXPECT_EQ(expected.date_synced, actual.date_synced); 223 EXPECT_EQ(expected.date_synced, actual.date_synced);
216 EXPECT_EQ(expected.display_name, actual.display_name); 224 EXPECT_EQ(expected.display_name, actual.display_name);
217 EXPECT_EQ(expected.avatar_url, actual.avatar_url); 225 EXPECT_EQ(expected.avatar_url, actual.avatar_url);
218 EXPECT_EQ(expected.federation_url, actual.federation_url); 226 EXPECT_EQ(expected.federation_url, actual.federation_url);
219 EXPECT_EQ(expected.skip_zero_click, actual.skip_zero_click); 227 EXPECT_EQ(expected.skip_zero_click, actual.skip_zero_click);
220 } 228 }
221 229
222 // static 230 // static
223 void NativeBackendKWalletTestBase::CheckPasswordChanges( 231 void NativeBackendKWalletTestBase::CheckPasswordChanges(
224 const PasswordStoreChangeList& expected, 232 const PasswordStoreChangeList& expected,
225 const PasswordStoreChangeList& actual) { 233 const PasswordStoreChangeList& actual) {
226 ASSERT_EQ(expected.size(), actual.size()); 234 ASSERT_EQ(expected.size(), actual.size());
227 for (size_t i = 0; i < expected.size(); ++i) { 235 for (size_t i = 0; i < expected.size(); ++i) {
228 EXPECT_EQ(expected[i].type(), actual[i].type()); 236 EXPECT_EQ(expected[i].type(), actual[i].type());
229 CheckPasswordForm(expected[i].form(), actual[i].form()); 237 CheckPasswordForm(expected[i].form(), actual[i].form(), true);
230 } 238 }
231 } 239 }
232 240
233 // static 241 // static
234 void NativeBackendKWalletTestBase::CheckPasswordChangesWithResult( 242 void NativeBackendKWalletTestBase::CheckPasswordChangesWithResult(
235 const PasswordStoreChangeList* expected, 243 const PasswordStoreChangeList* expected,
236 const PasswordStoreChangeList* actual, 244 const PasswordStoreChangeList* actual,
237 bool result) { 245 bool result) {
238 EXPECT_TRUE(result); 246 EXPECT_TRUE(result);
239 CheckPasswordChanges(*expected, *actual); 247 CheckPasswordChanges(*expected, *actual);
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
358 NativeBackendKWalletStub backend(42); 366 NativeBackendKWalletStub backend(42);
359 EXPECT_TRUE(backend.InitWithBus(mock_session_bus_)); 367 EXPECT_TRUE(backend.InitWithBus(mock_session_bus_));
360 368
361 form_google_.date_synced = base::Time(); 369 form_google_.date_synced = base::Time();
362 form_isc_.date_synced = base::Time(); 370 form_isc_.date_synced = base::Time();
363 form_google_.date_created = base::Time(); 371 form_google_.date_created = base::Time();
364 form_isc_.date_created = base::Time(); 372 form_isc_.date_created = base::Time();
365 base::Time now = base::Time::Now(); 373 base::Time now = base::Time::Now();
366 base::Time next_day = now + base::TimeDelta::FromDays(1); 374 base::Time next_day = now + base::TimeDelta::FromDays(1);
367 if (date_to_test == CREATED) { 375 if (date_to_test == CREATED) {
368 // crbug/374132. Remove the next line once it's fixed.
369 next_day = base::Time::FromTimeT(next_day.ToTimeT());
370 form_google_.date_created = now; 376 form_google_.date_created = now;
371 form_isc_.date_created = next_day; 377 form_isc_.date_created = next_day;
372 } else { 378 } else {
373 form_google_.date_synced = now; 379 form_google_.date_synced = now;
374 form_isc_.date_synced = next_day; 380 form_isc_.date_synced = next_day;
375 } 381 }
376 382
377 BrowserThread::PostTask( 383 BrowserThread::PostTask(
378 BrowserThread::DB, 384 BrowserThread::DB,
379 FROM_HERE, 385 FROM_HERE,
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
597 for (size_t i = 0; i < entries.size() && i < sorted_expected.size(); ++i) { 603 for (size_t i = 0; i < entries.size() && i < sorted_expected.size(); ++i) {
598 EXPECT_EQ(sorted_expected[i].first, entries[i]); 604 EXPECT_EQ(sorted_expected[i].first, entries[i]);
599 TestKWallet::Blob value; 605 TestKWallet::Blob value;
600 EXPECT_TRUE(wallet_.readEntry(folder, entries[i], &value)); 606 EXPECT_TRUE(wallet_.readEntry(folder, entries[i], &value));
601 Pickle pickle(reinterpret_cast<const char*>(value.data()), value.size()); 607 Pickle pickle(reinterpret_cast<const char*>(value.data()), value.size());
602 ScopedVector<autofill::PasswordForm> forms; 608 ScopedVector<autofill::PasswordForm> forms;
603 NativeBackendKWalletStub::DeserializeValue(entries[i], pickle, &forms); 609 NativeBackendKWalletStub::DeserializeValue(entries[i], pickle, &forms);
604 const std::vector<const PasswordForm*>& expect = sorted_expected[i].second; 610 const std::vector<const PasswordForm*>& expect = sorted_expected[i].second;
605 EXPECT_EQ(expect.size(), forms.size()); 611 EXPECT_EQ(expect.size(), forms.size());
606 for (size_t j = 0; j < forms.size() && j < expect.size(); ++j) 612 for (size_t j = 0; j < forms.size() && j < expect.size(); ++j)
607 CheckPasswordForm(*expect[j], *forms[j]); 613 CheckPasswordForm(*expect[j], *forms[j], true);
608 } 614 }
609 } 615 }
610 616
611 TEST_F(NativeBackendKWalletTest, NotEnabled) { 617 TEST_F(NativeBackendKWalletTest, NotEnabled) {
612 NativeBackendKWalletStub kwallet(42); 618 NativeBackendKWalletStub kwallet(42);
613 kwallet_enabled_ = false; 619 kwallet_enabled_ = false;
614 EXPECT_FALSE(kwallet.InitWithBus(mock_session_bus_)); 620 EXPECT_FALSE(kwallet.InitWithBus(mock_session_bus_));
615 EXPECT_FALSE(klauncher_contacted_); 621 EXPECT_FALSE(klauncher_contacted_);
616 } 622 }
617 623
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
916 922
917 TEST_F(NativeBackendKWalletTest, RemoveLoginsSyncedBetween) { 923 TEST_F(NativeBackendKWalletTest, RemoveLoginsSyncedBetween) {
918 TestRemoveLoginsBetween(SYNCED); 924 TestRemoveLoginsBetween(SYNCED);
919 } 925 }
920 926
921 // TODO(mdm): add more basic tests here at some point. 927 // TODO(mdm): add more basic tests here at some point.
922 // (For example tests for storing >1 password per realm pickle.) 928 // (For example tests for storing >1 password per realm pickle.)
923 929
924 class NativeBackendKWalletPickleTest : public NativeBackendKWalletTestBase { 930 class NativeBackendKWalletPickleTest : public NativeBackendKWalletTestBase {
925 protected: 931 protected:
932 void CreateVersion5Pickle(const PasswordForm& form, Pickle* pickle);
926 void CreateVersion3Pickle(const PasswordForm& form, Pickle* pickle); 933 void CreateVersion3Pickle(const PasswordForm& form, Pickle* pickle);
927 void CreateVersion2Pickle(const PasswordForm& form, Pickle* pickle); 934 void CreateVersion2Pickle(const PasswordForm& form, Pickle* pickle);
928 void CreateVersion1Pickle(const PasswordForm& form, Pickle* pickle); 935 void CreateVersion1Pickle(const PasswordForm& form, Pickle* pickle);
929 void CreateVersion0Pickle(bool size_32, 936 void CreateVersion0Pickle(bool size_32,
930 const PasswordForm& form, 937 const PasswordForm& form,
931 Pickle* pickle); 938 Pickle* pickle);
939 void CheckVersion5Pickle();
932 void CheckVersion3Pickle(); 940 void CheckVersion3Pickle();
933 void CheckVersion2Pickle(); 941 void CheckVersion2Pickle();
934 void CheckVersion1Pickle(); 942 void CheckVersion1Pickle();
935 void CheckVersion0Pickle(bool size_32, PasswordForm::Scheme scheme); 943 void CheckVersion0Pickle(bool size_32, PasswordForm::Scheme scheme);
936 944
937 private: 945 private:
938 void CreatePickle(bool size_32, const PasswordForm& form, Pickle* pickle); 946 // Creates a Pickle from |form|. If |size_32| is true, stores the number of
947 // forms in the pickle as a 32bit uint, otherwise as 64 bit size_t. The latter
948 // should be the case for versions > 0. If |date_created_internal| is true,
949 // stores |date_created| as base::Time's internal value, otherwise as time_t.
950 void CreatePickle(bool size_32,
951 bool date_created_internal,
952 const PasswordForm& form,
953 Pickle* pickle);
939 }; 954 };
940 955
956 void NativeBackendKWalletPickleTest::CreateVersion5Pickle(
957 const PasswordForm& form,
958 Pickle* pickle) {
959 pickle->WriteInt(5);
960 CreatePickle(false, true, form, pickle);
961 pickle->WriteInt(form.type);
962 pickle->WriteInt(form.times_used);
963 autofill::SerializeFormData(form.form_data, pickle);
964 pickle->WriteInt64(form.date_synced.ToInternalValue());
965 pickle->WriteString16(form.display_name);
966 pickle->WriteString(form.avatar_url.spec());
967 pickle->WriteString(form.federation_url.spec());
968 pickle->WriteBool(form.skip_zero_click);
969 }
970
941 void NativeBackendKWalletPickleTest::CreateVersion3Pickle( 971 void NativeBackendKWalletPickleTest::CreateVersion3Pickle(
942 const PasswordForm& form, Pickle* pickle) { 972 const PasswordForm& form, Pickle* pickle) {
943 pickle->WriteInt(3); 973 pickle->WriteInt(3);
944 CreatePickle(false, form, pickle); 974 CreatePickle(false, false, form, pickle);
945 pickle->WriteInt(form.type); 975 pickle->WriteInt(form.type);
946 pickle->WriteInt(form.times_used); 976 pickle->WriteInt(form.times_used);
947 autofill::SerializeFormData(form.form_data, pickle); 977 autofill::SerializeFormData(form.form_data, pickle);
948 pickle->WriteInt64(form.date_synced.ToInternalValue()); 978 pickle->WriteInt64(form.date_synced.ToInternalValue());
949 } 979 }
950 980
951 void NativeBackendKWalletPickleTest::CreateVersion2Pickle( 981 void NativeBackendKWalletPickleTest::CreateVersion2Pickle(
952 const PasswordForm& form, Pickle* pickle) { 982 const PasswordForm& form, Pickle* pickle) {
953 pickle->WriteInt(2); 983 pickle->WriteInt(2);
954 CreatePickle(false, form, pickle); 984 CreatePickle(false, false, form, pickle);
955 pickle->WriteInt(form.type); 985 pickle->WriteInt(form.type);
956 pickle->WriteInt(form.times_used); 986 pickle->WriteInt(form.times_used);
957 autofill::SerializeFormData(form.form_data, pickle); 987 autofill::SerializeFormData(form.form_data, pickle);
958 } 988 }
959 989
960 void NativeBackendKWalletPickleTest::CreateVersion1Pickle( 990 void NativeBackendKWalletPickleTest::CreateVersion1Pickle(
961 const PasswordForm& form, Pickle* pickle) { 991 const PasswordForm& form, Pickle* pickle) {
962 pickle->WriteInt(1); 992 pickle->WriteInt(1);
963 CreatePickle(false, form, pickle); 993 CreatePickle(false, false, form, pickle);
964 } 994 }
965 995
966 void NativeBackendKWalletPickleTest::CreateVersion0Pickle( 996 void NativeBackendKWalletPickleTest::CreateVersion0Pickle(
967 bool size_32, const PasswordForm& form, Pickle* pickle) { 997 bool size_32, const PasswordForm& form, Pickle* pickle) {
968 pickle->WriteInt(0); 998 pickle->WriteInt(0);
969 CreatePickle(size_32, form, pickle); 999 CreatePickle(size_32, false, form, pickle);
970 } 1000 }
971 1001
972 void NativeBackendKWalletPickleTest::CreatePickle( 1002 void NativeBackendKWalletPickleTest::CreatePickle(bool size_32,
973 bool size_32, const PasswordForm& form, Pickle* pickle) { 1003 bool date_created_internal,
1004 const PasswordForm& form,
1005 Pickle* pickle) {
974 if (size_32) 1006 if (size_32)
975 pickle->WriteUInt32(1); // Size of form list. 32 bits. 1007 pickle->WriteUInt32(1); // Size of form list. 32 bits.
976 else 1008 else
977 pickle->WriteSizeT(1); // Size of form list. 64 bits. 1009 pickle->WriteSizeT(1); // Size of form list. 64 bits.
978 pickle->WriteInt(form.scheme); 1010 pickle->WriteInt(form.scheme);
979 pickle->WriteString(form.origin.spec()); 1011 pickle->WriteString(form.origin.spec());
980 pickle->WriteString(form.action.spec()); 1012 pickle->WriteString(form.action.spec());
981 pickle->WriteString16(form.username_element); 1013 pickle->WriteString16(form.username_element);
982 pickle->WriteString16(form.username_value); 1014 pickle->WriteString16(form.username_value);
983 pickle->WriteString16(form.password_element); 1015 pickle->WriteString16(form.password_element);
984 pickle->WriteString16(form.password_value); 1016 pickle->WriteString16(form.password_value);
985 pickle->WriteString16(form.submit_element); 1017 pickle->WriteString16(form.submit_element);
986 pickle->WriteBool(form.ssl_valid); 1018 pickle->WriteBool(form.ssl_valid);
987 pickle->WriteBool(form.preferred); 1019 pickle->WriteBool(form.preferred);
988 pickle->WriteBool(form.blacklisted_by_user); 1020 pickle->WriteBool(form.blacklisted_by_user);
989 pickle->WriteInt64(form.date_created.ToTimeT()); 1021 if (date_created_internal)
1022 pickle->WriteInt64(form.date_created.ToInternalValue());
1023 else
1024 pickle->WriteInt64(form.date_created.ToTimeT());
1025 }
1026
1027 void NativeBackendKWalletPickleTest::CheckVersion5Pickle() {
1028 Pickle pickle;
1029 PasswordForm form = form_google_;
1030 CreateVersion5Pickle(form, &pickle);
1031
1032 ScopedVector<PasswordForm> form_list;
1033 NativeBackendKWalletStub::DeserializeValue(form.signon_realm, pickle,
1034 &form_list);
1035
1036 EXPECT_EQ(1u, form_list.size());
1037 if (form_list.size() > 0)
1038 CheckPasswordForm(form, *form_list[0], true);
990 } 1039 }
991 1040
992 void NativeBackendKWalletPickleTest::CheckVersion3Pickle() { 1041 void NativeBackendKWalletPickleTest::CheckVersion3Pickle() {
993 Pickle pickle; 1042 Pickle pickle;
994 PasswordForm form = form_google_; 1043 PasswordForm form = form_google_;
995 // Remove the fields which were not present in version #3. 1044 // Remove the fields which were not present in version #3.
996 form.display_name.clear(); 1045 form.display_name.clear();
997 form.avatar_url = GURL(); 1046 form.avatar_url = GURL();
998 form.federation_url = GURL(); 1047 form.federation_url = GURL();
999 form.skip_zero_click = false; 1048 form.skip_zero_click = false;
1000 CreateVersion3Pickle(form, &pickle); 1049 CreateVersion3Pickle(form, &pickle);
1001 1050
1002 ScopedVector<PasswordForm> form_list; 1051 ScopedVector<PasswordForm> form_list;
1003 NativeBackendKWalletStub::DeserializeValue(form.signon_realm, pickle, 1052 NativeBackendKWalletStub::DeserializeValue(form.signon_realm, pickle,
1004 &form_list); 1053 &form_list);
1005 1054
1006 EXPECT_EQ(1u, form_list.size()); 1055 EXPECT_EQ(1u, form_list.size());
1007 if (form_list.size() > 0) 1056 if (form_list.size() > 0)
1008 CheckPasswordForm(form, *form_list[0]); 1057 CheckPasswordForm(form, *form_list[0], false);
1009 } 1058 }
1010 1059
1011 void NativeBackendKWalletPickleTest::CheckVersion2Pickle() { 1060 void NativeBackendKWalletPickleTest::CheckVersion2Pickle() {
1012 Pickle pickle; 1061 Pickle pickle;
1013 PasswordForm form = old_form_google_; 1062 PasswordForm form = old_form_google_;
1014 form.times_used = form_google_.times_used; 1063 form.times_used = form_google_.times_used;
1015 form.type = form_google_.type; 1064 form.type = form_google_.type;
1016 form.form_data = form_google_.form_data; 1065 form.form_data = form_google_.form_data;
1017 CreateVersion2Pickle(form, &pickle); 1066 CreateVersion2Pickle(form, &pickle);
1018 1067
1019 ScopedVector<PasswordForm> form_list; 1068 ScopedVector<PasswordForm> form_list;
1020 NativeBackendKWalletStub::DeserializeValue(form.signon_realm, pickle, 1069 NativeBackendKWalletStub::DeserializeValue(form.signon_realm, pickle,
1021 &form_list); 1070 &form_list);
1022 1071
1023 EXPECT_EQ(1u, form_list.size()); 1072 EXPECT_EQ(1u, form_list.size());
1024 if (form_list.size() > 0) 1073 if (form_list.size() > 0)
1025 CheckPasswordForm(form, *form_list[0]); 1074 CheckPasswordForm(form, *form_list[0], false);
1026 } 1075 }
1027 1076
1028 // Make sure that we can still read version 1 pickles. 1077 // Make sure that we can still read version 1 pickles.
1029 void NativeBackendKWalletPickleTest::CheckVersion1Pickle() { 1078 void NativeBackendKWalletPickleTest::CheckVersion1Pickle() {
1030 Pickle pickle; 1079 Pickle pickle;
1031 PasswordForm form = form_google_; 1080 PasswordForm form = form_google_;
1032 CreateVersion1Pickle(form, &pickle); 1081 CreateVersion1Pickle(form, &pickle);
1033 1082
1034 ScopedVector<autofill::PasswordForm> form_list; 1083 ScopedVector<autofill::PasswordForm> form_list;
1035 NativeBackendKWalletStub::DeserializeValue(form.signon_realm, 1084 NativeBackendKWalletStub::DeserializeValue(form.signon_realm,
1036 pickle, &form_list); 1085 pickle, &form_list);
1037 1086
1038 // This will match |old_form_google_| because not all the fields present in 1087 // This will match |old_form_google_| because not all the fields present in
1039 // |form_google_| will be deserialized. 1088 // |form_google_| will be deserialized.
1040 EXPECT_EQ(1u, form_list.size()); 1089 EXPECT_EQ(1u, form_list.size());
1041 if (form_list.size() > 0) 1090 if (form_list.size() > 0)
1042 CheckPasswordForm(old_form_google_, *form_list[0]); 1091 CheckPasswordForm(old_form_google_, *form_list[0], false);
1043 } 1092 }
1044 1093
1045 void NativeBackendKWalletPickleTest::CheckVersion0Pickle( 1094 void NativeBackendKWalletPickleTest::CheckVersion0Pickle(
1046 bool size_32, PasswordForm::Scheme scheme) { 1095 bool size_32, PasswordForm::Scheme scheme) {
1047 Pickle pickle; 1096 Pickle pickle;
1048 PasswordForm form = old_form_google_; 1097 PasswordForm form = old_form_google_;
1049 form.scheme = scheme; 1098 form.scheme = scheme;
1050 CreateVersion0Pickle(size_32, form, &pickle); 1099 CreateVersion0Pickle(size_32, form, &pickle);
1051 ScopedVector<autofill::PasswordForm> form_list; 1100 ScopedVector<autofill::PasswordForm> form_list;
1052 NativeBackendKWalletStub::DeserializeValue(form.signon_realm, 1101 NativeBackendKWalletStub::DeserializeValue(form.signon_realm,
1053 pickle, &form_list); 1102 pickle, &form_list);
1054 EXPECT_EQ(1u, form_list.size()); 1103 EXPECT_EQ(1u, form_list.size());
1055 if (form_list.size() > 0) 1104 if (form_list.size() > 0)
1056 CheckPasswordForm(form, *form_list[0]); 1105 CheckPasswordForm(form, *form_list[0], false);
1057 } 1106 }
1058 1107
1059 // Check that if KWallet fails to respond, the backend propagates the error. 1108 // Check that if KWallet fails to respond, the backend propagates the error.
1060 TEST_F(NativeBackendKWalletTest, GetAllLoginsErrorHandling) { 1109 TEST_F(NativeBackendKWalletTest, GetAllLoginsErrorHandling) {
1061 NativeBackendKWalletStub backend(42); 1110 NativeBackendKWalletStub backend(42);
1062 EXPECT_TRUE(backend.InitWithBus(mock_session_bus_)); 1111 EXPECT_TRUE(backend.InitWithBus(mock_session_bus_));
1063 // Make KWallet fail on calling readEntry. 1112 // Make KWallet fail on calling readEntry.
1064 failing_methods_.insert("readEntry"); 1113 failing_methods_.insert("readEntry");
1065 1114
1066 // Store some non-blacklisted logins to be potentially returned. 1115 // Store some non-blacklisted logins to be potentially returned.
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
1106 CheckVersion1Pickle(); 1155 CheckVersion1Pickle();
1107 } 1156 }
1108 1157
1109 TEST_F(NativeBackendKWalletPickleTest, CheckVersion2Pickle) { 1158 TEST_F(NativeBackendKWalletPickleTest, CheckVersion2Pickle) {
1110 CheckVersion2Pickle(); 1159 CheckVersion2Pickle();
1111 } 1160 }
1112 1161
1113 TEST_F(NativeBackendKWalletPickleTest, CheckVersion3Pickle) { 1162 TEST_F(NativeBackendKWalletPickleTest, CheckVersion3Pickle) {
1114 CheckVersion3Pickle(); 1163 CheckVersion3Pickle();
1115 } 1164 }
1165
1166 TEST_F(NativeBackendKWalletPickleTest, CheckVersion5Pickle) {
1167 CheckVersion5Pickle();
1168 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698