summaryrefslogtreecommitdiff
path: root/chromium/components/autofill/core/browser/webdata/autofill_table_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/components/autofill/core/browser/webdata/autofill_table_unittest.cc')
-rw-r--r--chromium/components/autofill/core/browser/webdata/autofill_table_unittest.cc76
1 files changed, 48 insertions, 28 deletions
diff --git a/chromium/components/autofill/core/browser/webdata/autofill_table_unittest.cc b/chromium/components/autofill/core/browser/webdata/autofill_table_unittest.cc
index fed5711f60c..283dcc5c327 100644
--- a/chromium/components/autofill/core/browser/webdata/autofill_table_unittest.cc
+++ b/chromium/components/autofill/core/browser/webdata/autofill_table_unittest.cc
@@ -2340,34 +2340,45 @@ INSTANTIATE_TEST_CASE_P(
0,
{nullptr, nullptr}}));
-TEST_F(AutofillTableTest, AutofillNoMetadata) {
+class AutofillTableTestPerModelType
+ : public AutofillTableTest,
+ public testing::WithParamInterface<syncer::ModelType> {
+ public:
+ AutofillTableTestPerModelType() {}
+ ~AutofillTableTestPerModelType() override {}
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(AutofillTableTestPerModelType);
+};
+
+TEST_P(AutofillTableTestPerModelType, AutofillNoMetadata) {
+ syncer::ModelType model_type = GetParam();
MetadataBatch metadata_batch;
- EXPECT_TRUE(table_->GetAllSyncMetadata(syncer::AUTOFILL, &metadata_batch));
+ EXPECT_TRUE(table_->GetAllSyncMetadata(model_type, &metadata_batch));
EXPECT_EQ(0u, metadata_batch.TakeAllMetadata().size());
EXPECT_EQ(ModelTypeState().SerializeAsString(),
metadata_batch.GetModelTypeState().SerializeAsString());
}
-TEST_F(AutofillTableTest, AutofillGetAllSyncMetadata) {
+TEST_P(AutofillTableTestPerModelType, AutofillGetAllSyncMetadata) {
+ syncer::ModelType model_type = GetParam();
EntityMetadata metadata;
std::string storage_key = "storage_key";
std::string storage_key2 = "storage_key2";
metadata.set_sequence_number(1);
- EXPECT_TRUE(
- table_->UpdateSyncMetadata(syncer::AUTOFILL, storage_key, metadata));
+ EXPECT_TRUE(table_->UpdateSyncMetadata(model_type, storage_key, metadata));
ModelTypeState model_type_state;
model_type_state.set_initial_sync_done(true);
- EXPECT_TRUE(table_->UpdateModelTypeState(syncer::AUTOFILL, model_type_state));
+ EXPECT_TRUE(table_->UpdateModelTypeState(model_type, model_type_state));
metadata.set_sequence_number(2);
- EXPECT_TRUE(
- table_->UpdateSyncMetadata(syncer::AUTOFILL, storage_key2, metadata));
+ EXPECT_TRUE(table_->UpdateSyncMetadata(model_type, storage_key2, metadata));
MetadataBatch metadata_batch;
- EXPECT_TRUE(table_->GetAllSyncMetadata(syncer::AUTOFILL, &metadata_batch));
+ EXPECT_TRUE(table_->GetAllSyncMetadata(model_type, &metadata_batch));
EXPECT_TRUE(metadata_batch.GetModelTypeState().initial_sync_done());
@@ -2379,13 +2390,14 @@ TEST_F(AutofillTableTest, AutofillGetAllSyncMetadata) {
// Now check that a model type state update replaces the old value
model_type_state.set_initial_sync_done(false);
- EXPECT_TRUE(table_->UpdateModelTypeState(syncer::AUTOFILL, model_type_state));
+ EXPECT_TRUE(table_->UpdateModelTypeState(model_type, model_type_state));
- EXPECT_TRUE(table_->GetAllSyncMetadata(syncer::AUTOFILL, &metadata_batch));
+ EXPECT_TRUE(table_->GetAllSyncMetadata(model_type, &metadata_batch));
EXPECT_FALSE(metadata_batch.GetModelTypeState().initial_sync_done());
}
-TEST_F(AutofillTableTest, AutofillWriteThenDeleteSyncMetadata) {
+TEST_P(AutofillTableTestPerModelType, AutofillWriteThenDeleteSyncMetadata) {
+ syncer::ModelType model_type = GetParam();
EntityMetadata metadata;
MetadataBatch metadata_batch;
std::string storage_key = "storage_key";
@@ -2396,47 +2408,55 @@ TEST_F(AutofillTableTest, AutofillWriteThenDeleteSyncMetadata) {
metadata.set_client_tag_hash("client_hash");
// Write the data into the store.
- EXPECT_TRUE(
- table_->UpdateSyncMetadata(syncer::AUTOFILL, storage_key, metadata));
- EXPECT_TRUE(table_->UpdateModelTypeState(syncer::AUTOFILL, model_type_state));
+ EXPECT_TRUE(table_->UpdateSyncMetadata(model_type, storage_key, metadata));
+ EXPECT_TRUE(table_->UpdateModelTypeState(model_type, model_type_state));
// Delete the data we just wrote.
- EXPECT_TRUE(table_->ClearSyncMetadata(syncer::AUTOFILL, storage_key));
+ EXPECT_TRUE(table_->ClearSyncMetadata(model_type, storage_key));
// It shouldn't be there any more.
- EXPECT_TRUE(table_->GetAllSyncMetadata(syncer::AUTOFILL, &metadata_batch));
+ EXPECT_TRUE(table_->GetAllSyncMetadata(model_type, &metadata_batch));
EntityMetadataMap metadata_records = metadata_batch.TakeAllMetadata();
EXPECT_EQ(metadata_records.size(), 0u);
// Now delete the model type state.
- EXPECT_TRUE(table_->ClearModelTypeState(syncer::AUTOFILL));
- EXPECT_TRUE(table_->GetAllSyncMetadata(syncer::AUTOFILL, &metadata_batch));
+ EXPECT_TRUE(table_->ClearModelTypeState(model_type));
+ EXPECT_TRUE(table_->GetAllSyncMetadata(model_type, &metadata_batch));
EXPECT_EQ(ModelTypeState().SerializeAsString(),
metadata_batch.GetModelTypeState().SerializeAsString());
}
-TEST_F(AutofillTableTest, AutofillCorruptSyncMetadata) {
+TEST_P(AutofillTableTestPerModelType, AutofillCorruptSyncMetadata) {
+ syncer::ModelType model_type = GetParam();
MetadataBatch metadata_batch;
sql::Statement s(db_->GetSQLConnection()->GetUniqueStatement(
"INSERT OR REPLACE INTO autofill_sync_metadata "
- "(storage_key, value) VALUES(?, ?)"));
- s.BindString(0, "storage_key");
- s.BindString(1, "unparseable");
+ "(model_type, storage_key, value) VALUES(?, ?, ?)"));
+ s.BindInt(0, syncer::ModelTypeToStableIdentifier(model_type));
+ s.BindString(1, "storage_key");
+ s.BindString(2, "unparseable");
EXPECT_TRUE(s.Run());
- EXPECT_FALSE(table_->GetAllSyncMetadata(syncer::AUTOFILL, &metadata_batch));
+ EXPECT_FALSE(table_->GetAllSyncMetadata(model_type, &metadata_batch));
}
-TEST_F(AutofillTableTest, AutofillCorruptModelTypeState) {
+TEST_P(AutofillTableTestPerModelType, AutofillCorruptModelTypeState) {
+ syncer::ModelType model_type = GetParam();
MetadataBatch metadata_batch;
sql::Statement s(db_->GetSQLConnection()->GetUniqueStatement(
"INSERT OR REPLACE INTO autofill_model_type_state "
- "(rowid, value) VALUES(1, ?)"));
- s.BindString(0, "unparseable");
+ "(model_type, value) VALUES(?, ?)"));
+ s.BindInt(0, syncer::ModelTypeToStableIdentifier(model_type));
+ s.BindString(1, "unparseable");
EXPECT_TRUE(s.Run());
- EXPECT_FALSE(table_->GetAllSyncMetadata(syncer::AUTOFILL, &metadata_batch));
+ EXPECT_FALSE(table_->GetAllSyncMetadata(model_type, &metadata_batch));
}
+INSTANTIATE_TEST_CASE_P(AutofillTableTest,
+ AutofillTableTestPerModelType,
+ testing::Values(syncer::AUTOFILL,
+ syncer::AUTOFILL_PROFILE));
+
TEST_F(AutofillTableTest, RemoveOrphanAutofillTableRows) {
// Populate the different tables.
ASSERT_TRUE(db_->GetSQLConnection()->Execute(