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 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
218 } | 218 } |
219 EXPECT_EQ(expected.blacklisted_by_user, actual.blacklisted_by_user); | 219 EXPECT_EQ(expected.blacklisted_by_user, actual.blacklisted_by_user); |
220 EXPECT_EQ(expected.type, actual.type); | 220 EXPECT_EQ(expected.type, actual.type); |
221 EXPECT_EQ(expected.times_used, actual.times_used); | 221 EXPECT_EQ(expected.times_used, actual.times_used); |
222 EXPECT_EQ(expected.scheme, actual.scheme); | 222 EXPECT_EQ(expected.scheme, actual.scheme); |
223 EXPECT_EQ(expected.date_synced, actual.date_synced); | 223 EXPECT_EQ(expected.date_synced, actual.date_synced); |
224 EXPECT_EQ(expected.display_name, actual.display_name); | 224 EXPECT_EQ(expected.display_name, actual.display_name); |
225 EXPECT_EQ(expected.avatar_url, actual.avatar_url); | 225 EXPECT_EQ(expected.avatar_url, actual.avatar_url); |
226 EXPECT_EQ(expected.federation_url, actual.federation_url); | 226 EXPECT_EQ(expected.federation_url, actual.federation_url); |
227 EXPECT_EQ(expected.skip_zero_click, actual.skip_zero_click); | 227 EXPECT_EQ(expected.skip_zero_click, actual.skip_zero_click); |
228 EXPECT_EQ(expected.generation_upload_status, actual.generation_upload_status); | |
228 } | 229 } |
229 | 230 |
230 // static | 231 // static |
231 void NativeBackendKWalletTestBase::CheckPasswordChanges( | 232 void NativeBackendKWalletTestBase::CheckPasswordChanges( |
232 const PasswordStoreChangeList& expected, | 233 const PasswordStoreChangeList& expected, |
233 const PasswordStoreChangeList& actual) { | 234 const PasswordStoreChangeList& actual) { |
234 ASSERT_EQ(expected.size(), actual.size()); | 235 ASSERT_EQ(expected.size(), actual.size()); |
235 for (size_t i = 0; i < expected.size(); ++i) { | 236 for (size_t i = 0; i < expected.size(); ++i) { |
236 EXPECT_EQ(expected[i].type(), actual[i].type()); | 237 EXPECT_EQ(expected[i].type(), actual[i].type()); |
237 CheckPasswordForm(expected[i].form(), actual[i].form(), true); | 238 CheckPasswordForm(expected[i].form(), actual[i].form(), true); |
(...skipping 684 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
922 | 923 |
923 TEST_F(NativeBackendKWalletTest, RemoveLoginsSyncedBetween) { | 924 TEST_F(NativeBackendKWalletTest, RemoveLoginsSyncedBetween) { |
924 TestRemoveLoginsBetween(SYNCED); | 925 TestRemoveLoginsBetween(SYNCED); |
925 } | 926 } |
926 | 927 |
927 // TODO(mdm): add more basic tests here at some point. | 928 // TODO(mdm): add more basic tests here at some point. |
928 // (For example tests for storing >1 password per realm pickle.) | 929 // (For example tests for storing >1 password per realm pickle.) |
929 | 930 |
930 class NativeBackendKWalletPickleTest : public NativeBackendKWalletTestBase { | 931 class NativeBackendKWalletPickleTest : public NativeBackendKWalletTestBase { |
931 protected: | 932 protected: |
933 void CreateVersion6Pickle(const PasswordForm& form, Pickle* pickle); | |
932 void CreateVersion5Pickle(const PasswordForm& form, Pickle* pickle); | 934 void CreateVersion5Pickle(const PasswordForm& form, Pickle* pickle); |
933 void CreateVersion3Pickle(const PasswordForm& form, Pickle* pickle); | 935 void CreateVersion3Pickle(const PasswordForm& form, Pickle* pickle); |
934 void CreateVersion2Pickle(const PasswordForm& form, Pickle* pickle); | 936 void CreateVersion2Pickle(const PasswordForm& form, Pickle* pickle); |
935 void CreateVersion1Pickle(const PasswordForm& form, Pickle* pickle); | 937 void CreateVersion1Pickle(const PasswordForm& form, Pickle* pickle); |
936 void CreateVersion0Pickle(bool size_32, | 938 void CreateVersion0Pickle(bool size_32, |
937 const PasswordForm& form, | 939 const PasswordForm& form, |
938 Pickle* pickle); | 940 Pickle* pickle); |
941 void CheckVersion6Pickle(); | |
939 void CheckVersion5Pickle(); | 942 void CheckVersion5Pickle(); |
940 void CheckVersion3Pickle(); | 943 void CheckVersion3Pickle(); |
941 void CheckVersion2Pickle(); | 944 void CheckVersion2Pickle(); |
942 void CheckVersion1Pickle(); | 945 void CheckVersion1Pickle(); |
943 void CheckVersion0Pickle(bool size_32, PasswordForm::Scheme scheme); | 946 void CheckVersion0Pickle(bool size_32, PasswordForm::Scheme scheme); |
944 | 947 |
945 private: | 948 private: |
946 // Creates a Pickle from |form|. If |size_32| is true, stores the number of | 949 // 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 | 950 // 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, | 951 // 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. | 952 // stores |date_created| as base::Time's internal value, otherwise as time_t. |
950 void CreatePickle(bool size_32, | 953 void CreatePickle(bool size_32, |
951 bool date_created_internal, | 954 bool date_created_internal, |
952 const PasswordForm& form, | 955 const PasswordForm& form, |
953 Pickle* pickle); | 956 Pickle* pickle); |
954 }; | 957 }; |
955 | 958 |
959 void NativeBackendKWalletPickleTest::CreateVersion6Pickle( | |
960 const PasswordForm& form, | |
961 Pickle* pickle) { | |
962 pickle->WriteInt(6); | |
963 CreatePickle(false, true, form, pickle); | |
964 pickle->WriteInt(form.type); | |
965 pickle->WriteInt(form.times_used); | |
966 autofill::SerializeFormData(form.form_data, pickle); | |
967 pickle->WriteInt64(form.date_synced.ToInternalValue()); | |
968 pickle->WriteString16(form.display_name); | |
969 pickle->WriteString(form.avatar_url.spec()); | |
970 pickle->WriteString(form.federation_url.spec()); | |
971 pickle->WriteBool(form.skip_zero_click); | |
972 pickle->WriteInt(form.generation_upload_status); | |
973 } | |
974 | |
956 void NativeBackendKWalletPickleTest::CreateVersion5Pickle( | 975 void NativeBackendKWalletPickleTest::CreateVersion5Pickle( |
957 const PasswordForm& form, | 976 const PasswordForm& form, |
958 Pickle* pickle) { | 977 Pickle* pickle) { |
959 pickle->WriteInt(5); | 978 pickle->WriteInt(5); |
960 CreatePickle(false, true, form, pickle); | 979 CreatePickle(false, true, form, pickle); |
961 pickle->WriteInt(form.type); | 980 pickle->WriteInt(form.type); |
962 pickle->WriteInt(form.times_used); | 981 pickle->WriteInt(form.times_used); |
963 autofill::SerializeFormData(form.form_data, pickle); | 982 autofill::SerializeFormData(form.form_data, pickle); |
964 pickle->WriteInt64(form.date_synced.ToInternalValue()); | 983 pickle->WriteInt64(form.date_synced.ToInternalValue()); |
965 pickle->WriteString16(form.display_name); | 984 pickle->WriteString16(form.display_name); |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1017 pickle->WriteString16(form.submit_element); | 1036 pickle->WriteString16(form.submit_element); |
1018 pickle->WriteBool(form.ssl_valid); | 1037 pickle->WriteBool(form.ssl_valid); |
1019 pickle->WriteBool(form.preferred); | 1038 pickle->WriteBool(form.preferred); |
1020 pickle->WriteBool(form.blacklisted_by_user); | 1039 pickle->WriteBool(form.blacklisted_by_user); |
1021 if (date_created_internal) | 1040 if (date_created_internal) |
1022 pickle->WriteInt64(form.date_created.ToInternalValue()); | 1041 pickle->WriteInt64(form.date_created.ToInternalValue()); |
1023 else | 1042 else |
1024 pickle->WriteInt64(form.date_created.ToTimeT()); | 1043 pickle->WriteInt64(form.date_created.ToTimeT()); |
1025 } | 1044 } |
1026 | 1045 |
1046 void NativeBackendKWalletPickleTest::CheckVersion6Pickle() { | |
1047 Pickle pickle; | |
1048 PasswordForm form = form_google_; | |
1049 form.generation_upload_status = PasswordForm::NEGATIVE_SIGNAL_SENT; | |
1050 CreateVersion5Pickle(form, &pickle); | |
vabr (Chromium)
2015/02/12 10:08:25
5->6
Garrett Casto
2015/02/12 22:15:35
Done.
| |
1051 | |
1052 ScopedVector<PasswordForm> form_list; | |
1053 NativeBackendKWalletStub::DeserializeValue(form.signon_realm, pickle, | |
1054 &form_list); | |
1055 | |
1056 EXPECT_EQ(1u, form_list.size()); | |
1057 if (form_list.size() > 0) | |
1058 CheckPasswordForm(form, *form_list[0], true); | |
1059 | |
1060 } | |
1061 | |
1027 void NativeBackendKWalletPickleTest::CheckVersion5Pickle() { | 1062 void NativeBackendKWalletPickleTest::CheckVersion5Pickle() { |
1028 Pickle pickle; | 1063 Pickle pickle; |
1029 PasswordForm form = form_google_; | 1064 PasswordForm form = form_google_; |
1030 CreateVersion5Pickle(form, &pickle); | 1065 CreateVersion5Pickle(form, &pickle); |
1031 | 1066 |
1032 ScopedVector<PasswordForm> form_list; | 1067 ScopedVector<PasswordForm> form_list; |
1033 NativeBackendKWalletStub::DeserializeValue(form.signon_realm, pickle, | 1068 NativeBackendKWalletStub::DeserializeValue(form.signon_realm, pickle, |
1034 &form_list); | 1069 &form_list); |
1035 | 1070 |
1036 EXPECT_EQ(1u, form_list.size()); | 1071 EXPECT_EQ(1u, form_list.size()); |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1159 CheckVersion2Pickle(); | 1194 CheckVersion2Pickle(); |
1160 } | 1195 } |
1161 | 1196 |
1162 TEST_F(NativeBackendKWalletPickleTest, CheckVersion3Pickle) { | 1197 TEST_F(NativeBackendKWalletPickleTest, CheckVersion3Pickle) { |
1163 CheckVersion3Pickle(); | 1198 CheckVersion3Pickle(); |
1164 } | 1199 } |
1165 | 1200 |
1166 TEST_F(NativeBackendKWalletPickleTest, CheckVersion5Pickle) { | 1201 TEST_F(NativeBackendKWalletPickleTest, CheckVersion5Pickle) { |
1167 CheckVersion5Pickle(); | 1202 CheckVersion5Pickle(); |
1168 } | 1203 } |
1204 | |
1205 TEST_F(NativeBackendKWalletPickleTest, CheckVersion6Pickle) { | |
1206 CheckVersion6Pickle(); | |
1207 } | |
OLD | NEW |