diff options
Diffstat (limited to 'chromium/components/autofill/core/browser/webdata/autofill_profile_sync_bridge_unittest.cc')
-rw-r--r-- | chromium/components/autofill/core/browser/webdata/autofill_profile_sync_bridge_unittest.cc | 84 |
1 files changed, 63 insertions, 21 deletions
diff --git a/chromium/components/autofill/core/browser/webdata/autofill_profile_sync_bridge_unittest.cc b/chromium/components/autofill/core/browser/webdata/autofill_profile_sync_bridge_unittest.cc index 171f079d9f8..7c56186a303 100644 --- a/chromium/components/autofill/core/browser/webdata/autofill_profile_sync_bridge_unittest.cc +++ b/chromium/components/autofill/core/browser/webdata/autofill_profile_sync_bridge_unittest.cc @@ -32,12 +32,12 @@ #include "components/autofill/core/common/autofill_constants.h" #include "components/autofill/core/common/autofill_features.h" #include "components/sync/base/client_tag_hash.h" +#include "components/sync/engine/entity_data.h" +#include "components/sync/model/client_tag_based_model_type_processor.h" #include "components/sync/model/data_batch.h" #include "components/sync/model/data_type_activation_request.h" -#include "components/sync/model/entity_data.h" #include "components/sync/model/sync_data.h" #include "components/sync/model/sync_error_factory.h" -#include "components/sync/model_impl/client_tag_based_model_type_processor.h" #include "components/sync/protocol/sync.pb.h" #include "components/sync/test/model/mock_model_type_change_processor.h" #include "components/sync/test/model/sync_error_factory_mock.h" @@ -183,6 +183,7 @@ AutofillProfile ConstructCompleteProfile() { profile.SetRawInfo(ADDRESS_HOME_PREMISE_NAME, ASCIIToUTF16("Premise")); profile.set_language_code("en"); profile.SetClientValidityFromBitfieldValue(kValidityStateBitfield); + profile.FinalizeAfterImport(); return profile; } @@ -415,6 +416,7 @@ TEST_P(AutofillProfileSyncBridgeTest, AutofillProfileChanged_Added) { AutofillProfile local(kGuidA, kHttpsOrigin); local.SetRawInfo(NAME_FIRST, ASCIIToUTF16("Jane")); + local.FinalizeAfterImport(); AutofillProfileChange change(AutofillProfileChange::ADD, kGuidA, &local); EXPECT_CALL( @@ -560,9 +562,11 @@ TEST_P(AutofillProfileSyncBridgeTest, GetAllDataForDebugging) { AutofillProfile local1 = AutofillProfile(kGuidA, kHttpsOrigin); local1.SetRawInfo(NAME_FIRST, ASCIIToUTF16("John")); local1.SetRawInfo(ADDRESS_HOME_STREET_ADDRESS, ASCIIToUTF16("1 1st st")); + local1.FinalizeAfterImport(); AutofillProfile local2 = AutofillProfile(kGuidB, kHttpsOrigin); local2.SetRawInfo(NAME_FIRST, ASCIIToUTF16("Tom")); local2.SetRawInfo(ADDRESS_HOME_STREET_ADDRESS, ASCIIToUTF16("2 2nd st")); + local2.FinalizeAfterImport(); AddAutofillProfilesToTable({local1, local2}); EXPECT_THAT(GetAllLocalData(), UnorderedElementsAre(local1, local2)); @@ -572,9 +576,11 @@ TEST_P(AutofillProfileSyncBridgeTest, GetData) { AutofillProfile local1 = AutofillProfile(kGuidA, kHttpsOrigin); local1.SetRawInfo(NAME_FIRST, ASCIIToUTF16("John")); local1.SetRawInfo(ADDRESS_HOME_STREET_ADDRESS, ASCIIToUTF16("1 1st st")); + local1.FinalizeAfterImport(); AutofillProfile local2 = AutofillProfile(kGuidB, kHttpsOrigin); local2.SetRawInfo(NAME_FIRST, ASCIIToUTF16("Tom")); local2.SetRawInfo(ADDRESS_HOME_STREET_ADDRESS, ASCIIToUTF16("2 2nd st")); + local2.FinalizeAfterImport(); AddAutofillProfilesToTable({local1, local2}); std::vector<AutofillProfile> data; @@ -595,10 +601,11 @@ TEST_P(AutofillProfileSyncBridgeTest, MergeSyncData) { AutofillProfile local1 = AutofillProfile(kGuidA, kHttpOrigin); local1.SetRawInfo(NAME_FIRST, ASCIIToUTF16("John")); local1.SetRawInfo(ADDRESS_HOME_STREET_ADDRESS, ASCIIToUTF16("1 1st st")); - + local1.FinalizeAfterImport(); AutofillProfile local2 = AutofillProfile(kGuidB, std::string()); local2.SetRawInfo(NAME_FIRST, ASCIIToUTF16("Tom")); local2.SetRawInfo(ADDRESS_HOME_STREET_ADDRESS, ASCIIToUTF16("2 2nd st")); + local2.FinalizeAfterImport(); AddAutofillProfilesToTable({local1, local2}); @@ -688,6 +695,7 @@ TEST_P(AutofillProfileSyncBridgeTest, ProfileMigration) { // the server. TEST_P(AutofillProfileSyncBridgeTest, MergeSyncData_SyncAllFieldsToServer) { AutofillProfile local = ConstructCompleteProfile(); + local.FinalizeAfterImport(); AddAutofillProfilesToTable({local}); // This complete profile is fully uploaded to sync. @@ -714,26 +722,42 @@ TEST_P(AutofillProfileSyncBridgeTest, MergeSyncData_SyncAllFieldsToClient) { TEST_P(AutofillProfileSyncBridgeTest, MergeSyncData_IdenticalProfiles) { AutofillProfile local1 = AutofillProfile(kGuidA, kHttpOrigin); - local1.SetRawInfo(NAME_FIRST, ASCIIToUTF16("John")); - local1.SetRawInfo(ADDRESS_HOME_STREET_ADDRESS, ASCIIToUTF16("1 1st st")); + local1.SetRawInfoWithVerificationStatus( + NAME_FIRST, ASCIIToUTF16("John"), + structured_address::VerificationStatus::kObserved); + local1.SetRawInfoWithVerificationStatus( + ADDRESS_HOME_STREET_ADDRESS, ASCIIToUTF16("1 1st st"), + structured_address::VerificationStatus::kObserved); + local1.FinalizeAfterImport(); AutofillProfile local2 = AutofillProfile(kGuidB, kSettingsOrigin); - local2.SetRawInfo(NAME_FIRST, ASCIIToUTF16("Tom")); - local2.SetRawInfo(ADDRESS_HOME_STREET_ADDRESS, ASCIIToUTF16("2 2nd st")); - + local2.SetRawInfoWithVerificationStatus( + NAME_FIRST, ASCIIToUTF16("Tom"), + structured_address::VerificationStatus::kObserved); + local2.SetRawInfoWithVerificationStatus( + ADDRESS_HOME_STREET_ADDRESS, ASCIIToUTF16("2 2nd st"), + structured_address::VerificationStatus::kObserved); + local2.FinalizeAfterImport(); AddAutofillProfilesToTable({local1, local2}); // The synced profiles are identical to the local ones, except that the guids // are different. - AutofillProfile remote1 = AutofillProfile(kGuidC, kHttpsOrigin); - remote1.SetRawInfo(NAME_FIRST, ASCIIToUTF16("John")); - remote1.SetRawInfo(ADDRESS_HOME_STREET_ADDRESS, ASCIIToUTF16("1 1st st")); + remote1.SetRawInfoWithVerificationStatus( + NAME_FIRST, ASCIIToUTF16("John"), + structured_address::VerificationStatus::kObserved); + remote1.SetRawInfoWithVerificationStatus( + ADDRESS_HOME_STREET_ADDRESS, ASCIIToUTF16("1 1st st"), + structured_address::VerificationStatus::kObserved); remote1.FinalizeAfterImport(); AutofillProfile remote2 = AutofillProfile(kGuidD, kHttpsOrigin); - remote2.SetRawInfo(NAME_FIRST, ASCIIToUTF16("Tom")); - remote2.SetRawInfo(ADDRESS_HOME_STREET_ADDRESS, ASCIIToUTF16("2 2nd st")); + remote2.SetRawInfoWithVerificationStatus( + NAME_FIRST, ASCIIToUTF16("Tom"), + structured_address::VerificationStatus::kObserved); + remote2.SetRawInfoWithVerificationStatus( + ADDRESS_HOME_STREET_ADDRESS, ASCIIToUTF16("2 2nd st"), + structured_address::VerificationStatus::kObserved); remote2.FinalizeAfterImport(); AutofillProfileSpecifics remote1_specifics = @@ -762,6 +786,7 @@ TEST_P(AutofillProfileSyncBridgeTest, MergeSyncData_NonSimilarProfiles) { local.SetRawInfo(NAME_FIRST, ASCIIToUTF16("John")); local.SetRawInfo(NAME_MIDDLE, ASCIIToUTF16("K.")); local.SetRawInfo(NAME_LAST, ASCIIToUTF16("Doe")); + local.FinalizeAfterImport(); AddAutofillProfilesToTable({local}); // The remote profile are not similar as the names are different (all other @@ -937,6 +962,7 @@ TEST_P(AutofillProfileSyncBridgeTest, MergeSyncData_SimilarProfiles_LocalOriginPreserved) { AutofillProfile local(kGuidA, kHttpsOrigin); local.SetRawInfo(PHONE_HOME_WHOLE_NUMBER, ASCIIToUTF16("650234567")); + local.FinalizeAfterImport(); AddAutofillProfilesToTable({local}); AutofillProfile remote_profile = AutofillProfile(kGuidB, kHttpOrigin); @@ -964,6 +990,7 @@ TEST_P(AutofillProfileSyncBridgeTest, TEST_P(AutofillProfileSyncBridgeTest, MergeSyncData_SimilarProfiles_LocalExistingOriginPreserved) { AutofillProfile local(kGuidA, kHttpsOrigin); + local.FinalizeAfterImport(); AddAutofillProfilesToTable({local}); // Remote data does not have an origin value. @@ -980,6 +1007,7 @@ TEST_P(AutofillProfileSyncBridgeTest, // Expect the local autofill profile to still have an origin after sync. AutofillProfile merged(local); merged.SetRawInfo(NAME_FIRST, ASCIIToUTF16("John")); + merged.FinalizeAfterImport(); EXPECT_THAT(GetAllLocalData(), ElementsAre(merged)); } @@ -991,6 +1019,7 @@ TEST_P(AutofillProfileSyncBridgeTest, MergeSyncData_SimilarProfiles_LocalMissingOriginPreserved) { AutofillProfile local = AutofillProfile(kGuidA, std::string()); local.SetRawInfo(NAME_FIRST, ASCIIToUTF16("John")); + local.FinalizeAfterImport(); AddAutofillProfilesToTable({local}); // Create a Sync profile identical to |local|, except with no origin set. @@ -1010,6 +1039,7 @@ TEST_P(AutofillProfileSyncBridgeTest, TEST_P(AutofillProfileSyncBridgeTest, ApplySyncChanges) { AutofillProfile local = AutofillProfile(kGuidA, kHttpsOrigin); + local.FinalizeAfterImport(); AddAutofillProfilesToTable({local}); StartSyncing({}); @@ -1106,17 +1136,25 @@ TEST_P(AutofillProfileSyncBridgeTest, remote.set_address_home_street_address( "456 El Camino Real\n" "Suite #1337"); + remote.set_address_home_street_address_status( + sync_pb::AutofillProfileSpecifics_VerificationStatus_OBSERVED); EXPECT_CALL(*backend(), CommitChanges()); - StartSyncing({remote}); // Verify that full street address takes precedence over address lines. AutofillProfile local(kGuidA, kHttpsOrigin); - local.SetRawInfo(ADDRESS_HOME_STREET_ADDRESS, - ASCIIToUTF16("456 El Camino Real\n" - "Suite #1337")); - local.SetRawInfo(ADDRESS_HOME_LINE1, ASCIIToUTF16("456 El Camino Real")); - local.SetRawInfo(ADDRESS_HOME_LINE2, ASCIIToUTF16("Suite #1337")); + local.SetRawInfoWithVerificationStatus( + ADDRESS_HOME_STREET_ADDRESS, + ASCIIToUTF16("456 El Camino Real\n" + "Suite #1337"), + structured_address::VerificationStatus::kObserved); + local.SetRawInfoWithVerificationStatus( + ADDRESS_HOME_LINE1, ASCIIToUTF16("456 El Camino Real"), + structured_address::VerificationStatus::kObserved); + local.SetRawInfoWithVerificationStatus( + ADDRESS_HOME_LINE2, ASCIIToUTF16("Suite #1337"), + structured_address::VerificationStatus::kObserved); + local.FinalizeAfterImport(); EXPECT_THAT(GetAllLocalData(), ElementsAre(local)); } @@ -1128,8 +1166,10 @@ TEST_P(AutofillProfileSyncBridgeTest, TEST_P(AutofillProfileSyncBridgeTest, RemoteWithSameGuid_StreetAddress_NoUpdateToEmptyStreetAddressSyncedUp) { AutofillProfile local(kGuidA, kHttpsOrigin); - local.SetRawInfo(ADDRESS_HOME_STREET_ADDRESS, ASCIIToUTF16("123 Example St.\n" - "Apt. 42")); + local.SetRawInfoWithVerificationStatus( + ADDRESS_HOME_STREET_ADDRESS, ASCIIToUTF16("123 Example St.\nApt. 42"), + structured_address::VerificationStatus::kObserved); + local.FinalizeAfterImport(); AddAutofillProfilesToTable({local}); // Create a Sync profile identical to |profile|, except without street address @@ -1310,6 +1350,7 @@ TEST_P(AutofillProfileSyncBridgeTest, // Expect local autofill profile to still have the validity state after. AutofillProfile merged(local); merged.SetRawInfo(NAME_FIRST, ASCIIToUTF16("John")); + merged.FinalizeAfterImport(); // No update to sync, the local validity bitfield should stay untouched. EXPECT_CALL(mock_processor(), Put(_, _, _)).Times(0); @@ -1324,6 +1365,7 @@ TEST_P(AutofillProfileSyncBridgeTest, // Local autofill profile has an empty full name. AutofillProfile local(kGuidA, kHttpsOrigin); local.SetRawInfo(NAME_FIRST, ASCIIToUTF16("John")); + local.FinalizeAfterImport(); AddAutofillProfilesToTable({local}); // Remote data does not have a full name value. |