summaryrefslogtreecommitdiff
path: root/chromium/components/autofill/core/browser/webdata/autofill_profile_sync_bridge_unittest.cc
diff options
context:
space:
mode:
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.cc84
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.