| OLD | NEW |
| 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 587 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 598 EXPECT_TRUE(wallet_.hasFolder(folder)); | 598 EXPECT_TRUE(wallet_.hasFolder(folder)); |
| 599 std::vector<std::string> entries; | 599 std::vector<std::string> entries; |
| 600 EXPECT_TRUE(wallet_.entryList(folder, &entries)); | 600 EXPECT_TRUE(wallet_.entryList(folder, &entries)); |
| 601 EXPECT_EQ(sorted_expected.size(), entries.size()); | 601 EXPECT_EQ(sorted_expected.size(), entries.size()); |
| 602 std::sort(entries.begin(), entries.end()); | 602 std::sort(entries.begin(), entries.end()); |
| 603 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) { |
| 604 EXPECT_EQ(sorted_expected[i].first, entries[i]); | 604 EXPECT_EQ(sorted_expected[i].first, entries[i]); |
| 605 TestKWallet::Blob value; | 605 TestKWallet::Blob value; |
| 606 EXPECT_TRUE(wallet_.readEntry(folder, entries[i], &value)); | 606 EXPECT_TRUE(wallet_.readEntry(folder, entries[i], &value)); |
| 607 Pickle pickle(reinterpret_cast<const char*>(value.data()), value.size()); | 607 Pickle pickle(reinterpret_cast<const char*>(value.data()), value.size()); |
| 608 ScopedVector<autofill::PasswordForm> forms; | 608 ScopedVector<autofill::PasswordForm> forms = |
| 609 NativeBackendKWalletStub::DeserializeValue(entries[i], pickle, &forms); | 609 NativeBackendKWalletStub::DeserializeValue(entries[i], pickle); |
| 610 const std::vector<const PasswordForm*>& expect = sorted_expected[i].second; | 610 const std::vector<const PasswordForm*>& expect = sorted_expected[i].second; |
| 611 EXPECT_EQ(expect.size(), forms.size()); | 611 EXPECT_EQ(expect.size(), forms.size()); |
| 612 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) |
| 613 CheckPasswordForm(*expect[j], *forms[j], true); | 613 CheckPasswordForm(*expect[j], *forms[j], true); |
| 614 } | 614 } |
| 615 } | 615 } |
| 616 | 616 |
| 617 TEST_F(NativeBackendKWalletTest, NotEnabled) { | 617 TEST_F(NativeBackendKWalletTest, NotEnabled) { |
| 618 NativeBackendKWalletStub kwallet(42); | 618 NativeBackendKWalletStub kwallet(42); |
| 619 kwallet_enabled_ = false; | 619 kwallet_enabled_ = false; |
| (...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1022 pickle->WriteInt64(form.date_created.ToInternalValue()); | 1022 pickle->WriteInt64(form.date_created.ToInternalValue()); |
| 1023 else | 1023 else |
| 1024 pickle->WriteInt64(form.date_created.ToTimeT()); | 1024 pickle->WriteInt64(form.date_created.ToTimeT()); |
| 1025 } | 1025 } |
| 1026 | 1026 |
| 1027 void NativeBackendKWalletPickleTest::CheckVersion5Pickle() { | 1027 void NativeBackendKWalletPickleTest::CheckVersion5Pickle() { |
| 1028 Pickle pickle; | 1028 Pickle pickle; |
| 1029 PasswordForm form = form_google_; | 1029 PasswordForm form = form_google_; |
| 1030 CreateVersion5Pickle(form, &pickle); | 1030 CreateVersion5Pickle(form, &pickle); |
| 1031 | 1031 |
| 1032 ScopedVector<PasswordForm> form_list; | 1032 ScopedVector<PasswordForm> form_list = |
| 1033 NativeBackendKWalletStub::DeserializeValue(form.signon_realm, pickle, | 1033 NativeBackendKWalletStub::DeserializeValue(form.signon_realm, pickle); |
| 1034 &form_list); | |
| 1035 | 1034 |
| 1036 EXPECT_EQ(1u, form_list.size()); | 1035 EXPECT_EQ(1u, form_list.size()); |
| 1037 if (form_list.size() > 0) | 1036 if (form_list.size() > 0) |
| 1038 CheckPasswordForm(form, *form_list[0], true); | 1037 CheckPasswordForm(form, *form_list[0], true); |
| 1039 } | 1038 } |
| 1040 | 1039 |
| 1041 void NativeBackendKWalletPickleTest::CheckVersion3Pickle() { | 1040 void NativeBackendKWalletPickleTest::CheckVersion3Pickle() { |
| 1042 Pickle pickle; | 1041 Pickle pickle; |
| 1043 PasswordForm form = form_google_; | 1042 PasswordForm form = form_google_; |
| 1044 // Remove the fields which were not present in version #3. | 1043 // Remove the fields which were not present in version #3. |
| 1045 form.display_name.clear(); | 1044 form.display_name.clear(); |
| 1046 form.avatar_url = GURL(); | 1045 form.avatar_url = GURL(); |
| 1047 form.federation_url = GURL(); | 1046 form.federation_url = GURL(); |
| 1048 form.skip_zero_click = false; | 1047 form.skip_zero_click = false; |
| 1049 CreateVersion3Pickle(form, &pickle); | 1048 CreateVersion3Pickle(form, &pickle); |
| 1050 | 1049 |
| 1051 ScopedVector<PasswordForm> form_list; | 1050 ScopedVector<PasswordForm> form_list = |
| 1052 NativeBackendKWalletStub::DeserializeValue(form.signon_realm, pickle, | 1051 NativeBackendKWalletStub::DeserializeValue(form.signon_realm, pickle); |
| 1053 &form_list); | |
| 1054 | 1052 |
| 1055 EXPECT_EQ(1u, form_list.size()); | 1053 EXPECT_EQ(1u, form_list.size()); |
| 1056 if (form_list.size() > 0) | 1054 if (form_list.size() > 0) |
| 1057 CheckPasswordForm(form, *form_list[0], false); | 1055 CheckPasswordForm(form, *form_list[0], false); |
| 1058 } | 1056 } |
| 1059 | 1057 |
| 1060 void NativeBackendKWalletPickleTest::CheckVersion2Pickle() { | 1058 void NativeBackendKWalletPickleTest::CheckVersion2Pickle() { |
| 1061 Pickle pickle; | 1059 Pickle pickle; |
| 1062 PasswordForm form = old_form_google_; | 1060 PasswordForm form = old_form_google_; |
| 1063 form.times_used = form_google_.times_used; | 1061 form.times_used = form_google_.times_used; |
| 1064 form.type = form_google_.type; | 1062 form.type = form_google_.type; |
| 1065 form.form_data = form_google_.form_data; | 1063 form.form_data = form_google_.form_data; |
| 1066 CreateVersion2Pickle(form, &pickle); | 1064 CreateVersion2Pickle(form, &pickle); |
| 1067 | 1065 |
| 1068 ScopedVector<PasswordForm> form_list; | 1066 ScopedVector<PasswordForm> form_list = |
| 1069 NativeBackendKWalletStub::DeserializeValue(form.signon_realm, pickle, | 1067 NativeBackendKWalletStub::DeserializeValue(form.signon_realm, pickle); |
| 1070 &form_list); | |
| 1071 | 1068 |
| 1072 EXPECT_EQ(1u, form_list.size()); | 1069 EXPECT_EQ(1u, form_list.size()); |
| 1073 if (form_list.size() > 0) | 1070 if (form_list.size() > 0) |
| 1074 CheckPasswordForm(form, *form_list[0], false); | 1071 CheckPasswordForm(form, *form_list[0], false); |
| 1075 } | 1072 } |
| 1076 | 1073 |
| 1077 // Make sure that we can still read version 1 pickles. | 1074 // Make sure that we can still read version 1 pickles. |
| 1078 void NativeBackendKWalletPickleTest::CheckVersion1Pickle() { | 1075 void NativeBackendKWalletPickleTest::CheckVersion1Pickle() { |
| 1079 Pickle pickle; | 1076 Pickle pickle; |
| 1080 PasswordForm form = form_google_; | 1077 PasswordForm form = form_google_; |
| 1081 CreateVersion1Pickle(form, &pickle); | 1078 CreateVersion1Pickle(form, &pickle); |
| 1082 | 1079 |
| 1083 ScopedVector<autofill::PasswordForm> form_list; | 1080 ScopedVector<autofill::PasswordForm> form_list = |
| 1084 NativeBackendKWalletStub::DeserializeValue(form.signon_realm, | 1081 NativeBackendKWalletStub::DeserializeValue(form.signon_realm, pickle); |
| 1085 pickle, &form_list); | |
| 1086 | 1082 |
| 1087 // This will match |old_form_google_| because not all the fields present in | 1083 // This will match |old_form_google_| because not all the fields present in |
| 1088 // |form_google_| will be deserialized. | 1084 // |form_google_| will be deserialized. |
| 1089 EXPECT_EQ(1u, form_list.size()); | 1085 EXPECT_EQ(1u, form_list.size()); |
| 1090 if (form_list.size() > 0) | 1086 if (form_list.size() > 0) |
| 1091 CheckPasswordForm(old_form_google_, *form_list[0], false); | 1087 CheckPasswordForm(old_form_google_, *form_list[0], false); |
| 1092 } | 1088 } |
| 1093 | 1089 |
| 1094 void NativeBackendKWalletPickleTest::CheckVersion0Pickle( | 1090 void NativeBackendKWalletPickleTest::CheckVersion0Pickle( |
| 1095 bool size_32, PasswordForm::Scheme scheme) { | 1091 bool size_32, PasswordForm::Scheme scheme) { |
| 1096 Pickle pickle; | 1092 Pickle pickle; |
| 1097 PasswordForm form = old_form_google_; | 1093 PasswordForm form = old_form_google_; |
| 1098 form.scheme = scheme; | 1094 form.scheme = scheme; |
| 1099 CreateVersion0Pickle(size_32, form, &pickle); | 1095 CreateVersion0Pickle(size_32, form, &pickle); |
| 1100 ScopedVector<autofill::PasswordForm> form_list; | 1096 ScopedVector<autofill::PasswordForm> form_list = |
| 1101 NativeBackendKWalletStub::DeserializeValue(form.signon_realm, | 1097 NativeBackendKWalletStub::DeserializeValue(form.signon_realm, pickle); |
| 1102 pickle, &form_list); | |
| 1103 EXPECT_EQ(1u, form_list.size()); | 1098 EXPECT_EQ(1u, form_list.size()); |
| 1104 if (form_list.size() > 0) | 1099 if (form_list.size() > 0) |
| 1105 CheckPasswordForm(form, *form_list[0], false); | 1100 CheckPasswordForm(form, *form_list[0], false); |
| 1106 } | 1101 } |
| 1107 | 1102 |
| 1108 // Check that if KWallet fails to respond, the backend propagates the error. | 1103 // Check that if KWallet fails to respond, the backend propagates the error. |
| 1109 TEST_F(NativeBackendKWalletTest, GetAllLoginsErrorHandling) { | 1104 TEST_F(NativeBackendKWalletTest, GetAllLoginsErrorHandling) { |
| 1110 NativeBackendKWalletStub backend(42); | 1105 NativeBackendKWalletStub backend(42); |
| 1111 EXPECT_TRUE(backend.InitWithBus(mock_session_bus_)); | 1106 EXPECT_TRUE(backend.InitWithBus(mock_session_bus_)); |
| 1112 // Make KWallet fail on calling readEntry. | 1107 // Make KWallet fail on calling readEntry. |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1159 CheckVersion2Pickle(); | 1154 CheckVersion2Pickle(); |
| 1160 } | 1155 } |
| 1161 | 1156 |
| 1162 TEST_F(NativeBackendKWalletPickleTest, CheckVersion3Pickle) { | 1157 TEST_F(NativeBackendKWalletPickleTest, CheckVersion3Pickle) { |
| 1163 CheckVersion3Pickle(); | 1158 CheckVersion3Pickle(); |
| 1164 } | 1159 } |
| 1165 | 1160 |
| 1166 TEST_F(NativeBackendKWalletPickleTest, CheckVersion5Pickle) { | 1161 TEST_F(NativeBackendKWalletPickleTest, CheckVersion5Pickle) { |
| 1167 CheckVersion5Pickle(); | 1162 CheckVersion5Pickle(); |
| 1168 } | 1163 } |
| OLD | NEW |