Index: components/webdata/common/web_database_migration_unittest.cc |
diff --git a/components/webdata/common/web_database_migration_unittest.cc b/components/webdata/common/web_database_migration_unittest.cc |
index 4417725203be97f39265cf98dabf8c60bd0887b0..6d32c68de4bda077d9ac6da1d451cb92e041f443 100644 |
--- a/components/webdata/common/web_database_migration_unittest.cc |
+++ b/components/webdata/common/web_database_migration_unittest.cc |
@@ -130,7 +130,7 @@ class WebDatabaseMigrationTest : public testing::Test { |
DISALLOW_COPY_AND_ASSIGN(WebDatabaseMigrationTest); |
}; |
-const int WebDatabaseMigrationTest::kCurrentTestedVersionNumber = 72; |
+const int WebDatabaseMigrationTest::kCurrentTestedVersionNumber = 73; |
void WebDatabaseMigrationTest::LoadDatabase( |
const base::FilePath::StringType& file) { |
@@ -1287,3 +1287,58 @@ TEST_F(WebDatabaseMigrationTest, MigrateVersion71ToCurrent) { |
EXPECT_EQ("VISA", s_cards_metadata.ColumnString(1)); |
} |
} |
+ |
+// Tests addition of bank_name to masked_credit_cards |
+TEST_F(WebDatabaseMigrationTest, MigrateVersion72ToCurrent) { |
+ ASSERT_NO_FATAL_FAILURE(LoadDatabase(FILE_PATH_LITERAL("version_72.sql"))); |
+ |
+ // Verify pre-conditions. |
+ { |
+ sql::Connection connection; |
+ ASSERT_TRUE(connection.Open(GetDatabasePath())); |
+ ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection)); |
+ |
+ sql::MetaTable meta_table; |
+ ASSERT_TRUE(meta_table.Init(&connection, 72, 72)); |
+ |
+ EXPECT_FALSE( |
+ connection.DoesColumnExist("masked_credit_cards", "bank_name")); |
+ } |
+ |
+ DoMigration(); |
+ |
+ // Verify post-conditions. |
+ { |
+ sql::Connection connection; |
+ ASSERT_TRUE(connection.Open(GetDatabasePath())); |
+ ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection)); |
+ |
+ // Check version. |
+ EXPECT_EQ(kCurrentTestedVersionNumber, VersionFromConnection(&connection)); |
+ |
+ // The bank_name column should exist. |
+ EXPECT_TRUE(connection.DoesColumnExist("masked_credit_cards", "bank_name")); |
+ |
+ // Make sure that the values in masked_credit_cards are as expected. The |
Peter Kasting
2017/06/13 00:04:03
Does this block really test anything of value? It
Shanfeng
2017/06/13 20:39:58
Done.
|
+ // values are added to the table in version_72.sql. |
+ sql::Statement s_masked_cards( |
+ connection.GetUniqueStatement("SELECT id, " // 0 |
+ "status, " // 1 |
+ "name_on_card, " // 2 |
+ "network, " // 3 |
+ "last_four, " // 4 |
+ "exp_month, " // 5 |
+ "exp_year, " // 6 |
+ "bank_name " // 7 |
+ "FROM masked_credit_cards")); |
+ ASSERT_TRUE(s_masked_cards.Step()); |
+ EXPECT_EQ("card_1", s_masked_cards.ColumnString(0)); |
+ EXPECT_EQ("status", s_masked_cards.ColumnString(1)); |
+ EXPECT_EQ("bob", s_masked_cards.ColumnString(2)); |
+ EXPECT_EQ("VISA", s_masked_cards.ColumnString(3)); |
+ EXPECT_EQ("1234", s_masked_cards.ColumnString(4)); |
+ EXPECT_EQ(12, s_masked_cards.ColumnInt(5)); |
+ EXPECT_EQ(2050, s_masked_cards.ColumnInt(6)); |
+ EXPECT_EQ("", s_masked_cards.ColumnString(7)); |
+ } |
+} |