Chromium Code Reviews| 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 |