| Index: chrome/browser/webdata/web_database_migration_unittest.cc
|
| diff --git a/chrome/browser/webdata/web_database_migration_unittest.cc b/chrome/browser/webdata/web_database_migration_unittest.cc
|
| index c36fd73f931c1f61a9f63569e781fc0585aa1acc..969f1ed3f26fd66758c91896e3c2328770580c49 100644
|
| --- a/chrome/browser/webdata/web_database_migration_unittest.cc
|
| +++ b/chrome/browser/webdata/web_database_migration_unittest.cc
|
| @@ -16,7 +16,11 @@
|
| #include "base/values.h"
|
| #include "chrome/browser/webdata/autofill_change.h"
|
| #include "chrome/browser/webdata/autofill_entry.h"
|
| +#include "chrome/browser/webdata/autofill_table.h"
|
| #include "chrome/browser/webdata/keyword_table.h"
|
| +#include "chrome/browser/webdata/logins_table.h"
|
| +#include "chrome/browser/webdata/token_service_table.h"
|
| +#include "chrome/browser/webdata/web_apps_table.h"
|
| #include "chrome/browser/webdata/web_database.h"
|
| #include "chrome/browser/webdata/web_intents_table.h"
|
| #include "chrome/common/chrome_paths.h"
|
| @@ -164,6 +168,32 @@ class WebDatabaseMigrationTest : public testing::Test {
|
| ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
|
| }
|
|
|
| + // Load the database via the WebDatabase class and migrate the database to
|
| + // the current version.
|
| + void DoMigration() {
|
| + // TODO(joi): This whole unit test file needs to stay in //chrome
|
| + // for now, as it needs to know about all the different table
|
| + // types. Once all webdata datatypes have been componentized, this
|
| + // could move to components_unittests.
|
| + AutofillTable autofill_table;
|
| + KeywordTable keyword_table;
|
| + LoginsTable logins_table;
|
| + TokenServiceTable token_service_table;
|
| + WebAppsTable web_apps_table;
|
| + WebIntentsTable web_intents_table;
|
| +
|
| + WebDatabase db;
|
| + db.AddTable(&autofill_table);
|
| + db.AddTable(&keyword_table);
|
| + db.AddTable(&logins_table);
|
| + db.AddTable(&token_service_table);
|
| + db.AddTable(&web_apps_table);
|
| + db.AddTable(&web_intents_table);
|
| +
|
| + // This causes the migration to occur.
|
| + ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| + }
|
| +
|
| protected:
|
| // Current tested version number. When adding a migration in
|
| // |WebDatabase::MigrateOldVersionsAsNeeded()| and changing the version number
|
| @@ -227,12 +257,7 @@ void WebDatabaseMigrationTest::LoadDatabase(
|
|
|
| // Tests that the all migrations from an empty database succeed.
|
| TEST_F(WebDatabaseMigrationTest, MigrateEmptyToCurrent) {
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -279,12 +304,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion22ToCurrent) {
|
| connection.DoesColumnExist("credit_cards", "card_number_encrypted"));
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -327,12 +347,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion22CorruptedToCurrent) {
|
| ASSERT_TRUE(connection.DoesColumnExist("keywords", "id"));
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -367,12 +382,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion25ToCurrent) {
|
| ASSERT_TRUE(connection.Open(GetDatabasePath()));
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -430,12 +440,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion26ToCurrentStringLabels) {
|
| EXPECT_EQ(s3.ColumnType(0), sql::COLUMN_TYPE_TEXT);
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -500,12 +505,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion26ToCurrentStringIDs) {
|
| EXPECT_EQ(s3.ColumnType(0), sql::COLUMN_TYPE_TEXT);
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -549,12 +549,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion27ToCurrent) {
|
| ASSERT_FALSE(connection.DoesColumnExist("keywords", "instant_url"));
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -622,13 +617,8 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion29ToCurrent) {
|
| "date_modified"));
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| Time pre_creation_time = Time::Now();
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
| Time post_creation_time = Time::Now();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| @@ -685,12 +675,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion30ToCurrent) {
|
| EXPECT_FALSE(connection.DoesColumnExist("credit_cards", "guid"));
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -787,12 +772,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion31ToCurrent) {
|
| EXPECT_NE(profile.guid(), credit_card.guid());
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -910,12 +890,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion32ToCurrent) {
|
| EXPECT_TRUE(connection.DoesColumnExist("credit_cards", "label"));
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -1195,12 +1170,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion33ToCurrent) {
|
| EXPECT_EQ("United States", country);
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -1251,12 +1221,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion34ToCurrent) {
|
| ASSERT_FALSE(s.Step());
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -1308,12 +1273,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion35ToCurrent) {
|
| EXPECT_EQ(6, i);
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -1392,12 +1352,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion37ToCurrent) {
|
| ASSERT_FALSE(connection.DoesColumnExist("keywords", "last_modified"));
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -1432,12 +1387,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion38ToCurrent) {
|
| ASSERT_FALSE(connection.DoesColumnExist("keywords", "sync_guid"));
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -1477,12 +1427,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion39ToCurrent) {
|
| EXPECT_NO_FATAL_FAILURE(CheckNoBackupData(connection, &meta_table));
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -1528,12 +1473,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion40ToCurrent) {
|
| EXPECT_NO_FATAL_FAILURE(CheckHasBackupData(&meta_table));
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -1579,12 +1519,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion41ToCurrent) {
|
| EXPECT_NO_FATAL_FAILURE(CheckHasBackupData(&meta_table));
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -1632,12 +1567,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion42ToCurrent) {
|
| EXPECT_FALSE(connection.DoesTableExist("keywords_backup"));
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -1688,12 +1618,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion43ToCurrent) {
|
| EXPECT_TRUE(connection.DoesTableExist("keywords_backup"));
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -1740,12 +1665,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion44ToCurrent) {
|
| ASSERT_TRUE(connection.DoesColumnExist("keywords", "logo_id"));
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -1796,12 +1716,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion45ToCurrent) {
|
| "scheme", "web_intents_defaults"));
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -1877,12 +1792,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion45InvalidToCurrent) {
|
| "scheme", "web_intents_defaults"));
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -1942,12 +1852,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion45CompatibleToCurrent) {
|
| ASSERT_TRUE(meta_table.Init(&connection, 40, 45));
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -1983,12 +1888,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion46ToCurrent) {
|
| "alternate_urls"));
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -2028,12 +1928,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion47ToCurrent) {
|
| EXPECT_TRUE(connection.DoesTableExist("keywords_backup"));
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
| @@ -2078,12 +1973,7 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion48ToCurrent) {
|
| "search_terms_replacement_key"));
|
| }
|
|
|
| - // Load the database via the WebDatabase class and migrate the database to
|
| - // the current version.
|
| - {
|
| - WebDatabase db;
|
| - ASSERT_EQ(sql::INIT_OK, db.Init(GetDatabasePath(), std::string()));
|
| - }
|
| + DoMigration();
|
|
|
| // Verify post-conditions. These are expectations for current version of the
|
| // database.
|
|
|