Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Side by Side Diff: components/webdata/common/web_database_migration_unittest.cc

Issue 947693002: Add use_count and use_date to unmasked server cards as well. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: internal time instead of time_t Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « components/webdata/common/web_database.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <string> 5 #include <string>
6 6
7 #include "base/files/file_util.h" 7 #include "base/files/file_util.h"
8 #include "base/files/scoped_temp_dir.h" 8 #include "base/files/scoped_temp_dir.h"
9 #include "base/guid.h" 9 #include "base/guid.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 226
227 static int VersionFromConnection(sql::Connection* connection) { 227 static int VersionFromConnection(sql::Connection* connection) {
228 // Get version. 228 // Get version.
229 sql::Statement s(connection->GetUniqueStatement( 229 sql::Statement s(connection->GetUniqueStatement(
230 "SELECT value FROM meta WHERE key='version'")); 230 "SELECT value FROM meta WHERE key='version'"));
231 if (!s.Step()) 231 if (!s.Step())
232 return 0; 232 return 0;
233 return s.ColumnInt(0); 233 return s.ColumnInt(0);
234 } 234 }
235 235
236 // The sql files located in "chrome/test/data/web_database" were generated by 236 // The sql files located in "components/test/data/web_database" were generated
237 // launching the Chromium application prior to schema change, then using the 237 // by launching the Chromium application prior to schema change, then using
238 // sqlite3 command-line application to dump the contents of the "Web Data" 238 // the sqlite3 command-line application to dump the contents of the "Web Data"
239 // database. 239 // database.
240 // Like this: 240 // Like this:
241 // > .output version_nn.sql 241 // > .output version_nn.sql
242 // > .dump 242 // > .dump
243 void LoadDatabase(const base::FilePath::StringType& file); 243 void LoadDatabase(const base::FilePath::StringType& file);
244 244
245 private: 245 private:
246 base::ScopedTempDir temp_dir_; 246 base::ScopedTempDir temp_dir_;
247 247
248 DISALLOW_COPY_AND_ASSIGN(WebDatabaseMigrationTest); 248 DISALLOW_COPY_AND_ASSIGN(WebDatabaseMigrationTest);
249 }; 249 };
250 250
251 const int WebDatabaseMigrationTest::kCurrentTestedVersionNumber = 61; 251 const int WebDatabaseMigrationTest::kCurrentTestedVersionNumber = 62;
252 252
253 void WebDatabaseMigrationTest::LoadDatabase( 253 void WebDatabaseMigrationTest::LoadDatabase(
254 const base::FilePath::StringType& file) { 254 const base::FilePath::StringType& file) {
255 std::string contents; 255 std::string contents;
256 ASSERT_TRUE(GetWebDatabaseData(base::FilePath(file), &contents)); 256 ASSERT_TRUE(GetWebDatabaseData(base::FilePath(file), &contents));
257 257
258 sql::Connection connection; 258 sql::Connection connection;
259 ASSERT_TRUE(connection.Open(GetDatabasePath())); 259 ASSERT_TRUE(connection.Open(GetDatabasePath()));
260 ASSERT_TRUE(connection.Execute(contents.data())); 260 ASSERT_TRUE(connection.Execute(contents.data()));
261 } 261 }
(...skipping 2541 matching lines...) Expand 10 before | Expand all | Expand 10 after
2803 ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection)); 2803 ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
2804 2804
2805 // Check version. 2805 // Check version.
2806 EXPECT_EQ(kCurrentTestedVersionNumber, VersionFromConnection(&connection)); 2806 EXPECT_EQ(kCurrentTestedVersionNumber, VersionFromConnection(&connection));
2807 2807
2808 ASSERT_TRUE(connection.DoesTableExist("masked_credit_cards")); 2808 ASSERT_TRUE(connection.DoesTableExist("masked_credit_cards"));
2809 ASSERT_TRUE(connection.DoesTableExist("unmasked_credit_cards")); 2809 ASSERT_TRUE(connection.DoesTableExist("unmasked_credit_cards"));
2810 ASSERT_TRUE(connection.DoesTableExist("server_addresses")); 2810 ASSERT_TRUE(connection.DoesTableExist("server_addresses"));
2811 } 2811 }
2812 } 2812 }
2813
2814 // Tests addition of use_count and use_date fields to autofill profiles and
2815 // credit cards.
2816 TEST_F(WebDatabaseMigrationTest, MigrateVersion60ToCurrent) {
2817 ASSERT_NO_FATAL_FAILURE(LoadDatabase(FILE_PATH_LITERAL("version_60.sql")));
2818
2819 // Verify pre-conditions.
2820 {
2821 sql::Connection connection;
2822 ASSERT_TRUE(connection.Open(GetDatabasePath()));
2823 ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
2824
2825 sql::MetaTable meta_table;
2826 ASSERT_TRUE(meta_table.Init(&connection, 60, 60));
2827
2828 EXPECT_FALSE(connection.DoesColumnExist("credit_cards", "use_count"));
2829 EXPECT_FALSE(connection.DoesColumnExist("credit_cards", "use_date"));
2830 EXPECT_FALSE(connection.DoesColumnExist("autofill_profiles", "use_count"));
2831 EXPECT_FALSE(connection.DoesColumnExist("autofill_profiles", "use_date"));
2832 }
2833
2834 DoMigration();
2835
2836 // Verify post-conditions.
2837 {
2838 sql::Connection connection;
2839 ASSERT_TRUE(connection.Open(GetDatabasePath()));
2840 ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
2841
2842 // Check version.
2843 EXPECT_EQ(kCurrentTestedVersionNumber, VersionFromConnection(&connection));
2844
2845 EXPECT_TRUE(connection.DoesColumnExist("credit_cards", "use_count"));
2846 EXPECT_TRUE(connection.DoesColumnExist("credit_cards", "use_date"));
2847 EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles", "use_count"));
2848 EXPECT_TRUE(connection.DoesColumnExist("autofill_profiles", "use_date"));
2849 }
2850 }
2851
2852 // Tests addition of use_count and use_date fields to unmasked server cards.
2853 TEST_F(WebDatabaseMigrationTest, MigrateVersion61ToCurrent) {
2854 ASSERT_NO_FATAL_FAILURE(LoadDatabase(FILE_PATH_LITERAL("version_61.sql")));
2855
2856 // Verify pre-conditions.
2857 {
2858 sql::Connection connection;
2859 ASSERT_TRUE(connection.Open(GetDatabasePath()));
2860 ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
2861
2862 sql::MetaTable meta_table;
2863 ASSERT_TRUE(meta_table.Init(&connection, 61, 61));
2864
2865 EXPECT_FALSE(connection.DoesColumnExist("unmasked_credit_cards",
2866 "use_count"));
2867 EXPECT_FALSE(connection.DoesColumnExist("unmasked_credit_cards",
2868 "use_date"));
2869 }
2870
2871 DoMigration();
2872
2873 // Verify post-conditions.
2874 {
2875 sql::Connection connection;
2876 ASSERT_TRUE(connection.Open(GetDatabasePath()));
2877 ASSERT_TRUE(sql::MetaTable::DoesTableExist(&connection));
2878
2879 // Check version.
2880 EXPECT_EQ(kCurrentTestedVersionNumber, VersionFromConnection(&connection));
2881
2882 EXPECT_TRUE(connection.DoesColumnExist("unmasked_credit_cards",
2883 "use_count"));
2884 EXPECT_TRUE(connection.DoesColumnExist("unmasked_credit_cards",
2885 "use_date"));
2886 }
2887 }
OLDNEW
« no previous file with comments | « components/webdata/common/web_database.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698