Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 "testing/gtest/include/gtest/gtest.h" | 5 #include "testing/gtest/include/gtest/gtest.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
| 10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 67 void SetUpVersion77Database(sql::Connection* connection); | 67 void SetUpVersion77Database(sql::Connection* connection); |
| 68 void SetUpVersion78Database(sql::Connection* connection); | 68 void SetUpVersion78Database(sql::Connection* connection); |
| 69 void SetUpVersion79Database(sql::Connection* connection); | 69 void SetUpVersion79Database(sql::Connection* connection); |
| 70 void SetUpVersion80Database(sql::Connection* connection); | 70 void SetUpVersion80Database(sql::Connection* connection); |
| 71 void SetUpVersion81Database(sql::Connection* connection); | 71 void SetUpVersion81Database(sql::Connection* connection); |
| 72 void SetUpVersion82Database(sql::Connection* connection); | 72 void SetUpVersion82Database(sql::Connection* connection); |
| 73 void SetUpVersion83Database(sql::Connection* connection); | 73 void SetUpVersion83Database(sql::Connection* connection); |
| 74 void SetUpVersion84Database(sql::Connection* connection); | 74 void SetUpVersion84Database(sql::Connection* connection); |
| 75 void SetUpVersion85Database(sql::Connection* connection); | 75 void SetUpVersion85Database(sql::Connection* connection); |
| 76 void SetUpVersion86Database(sql::Connection* connection); | 76 void SetUpVersion86Database(sql::Connection* connection); |
| 77 void SetUpVersion87Database(sql::Connection* connection); | |
| 77 | 78 |
| 78 void SetUpCurrentDatabaseAndCheckVersion(sql::Connection* connection) { | 79 void SetUpCurrentDatabaseAndCheckVersion(sql::Connection* connection) { |
| 79 SetUpVersion86Database(connection); // Prepopulates data. | 80 SetUpVersion87Database(connection); // Prepopulates data. |
| 80 scoped_ptr<TestDirectoryBackingStore> dbs( | 81 scoped_ptr<TestDirectoryBackingStore> dbs( |
| 81 new TestDirectoryBackingStore(GetUsername(), connection)); | 82 new TestDirectoryBackingStore(GetUsername(), connection)); |
| 82 ASSERT_EQ(kCurrentDBVersion, dbs->GetVersion()); | 83 ASSERT_EQ(kCurrentDBVersion, dbs->GetVersion()); |
| 83 | 84 |
| 84 ASSERT_TRUE(LoadAndIgnoreReturnedData(dbs.get())); | 85 ASSERT_TRUE(LoadAndIgnoreReturnedData(dbs.get())); |
| 85 ASSERT_FALSE(dbs->needs_column_refresh_); | 86 ASSERT_FALSE(dbs->needs_column_refresh_); |
| 86 } | 87 } |
| 87 | 88 |
| 88 private: | 89 private: |
| 89 base::ScopedTempDir temp_dir_; | 90 base::ScopedTempDir temp_dir_; |
| (...skipping 2437 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2527 "CREATE TABLE 'share_info' (id TEXT primary key, name TEXT, store_birt" | 2528 "CREATE TABLE 'share_info' (id TEXT primary key, name TEXT, store_birt" |
| 2528 "hday TEXT, db_create_version TEXT, db_create_time INT, next_id INT de" | 2529 "hday TEXT, db_create_version TEXT, db_create_time INT, next_id INT de" |
| 2529 "fault -2, cache_guid TEXT, notification_state BLOB, bag_of_chips BLOB" | 2530 "fault -2, cache_guid TEXT, notification_state BLOB, bag_of_chips BLOB" |
| 2530 ");" | 2531 ");" |
| 2531 "INSERT INTO 'share_info' VALUES('nick@chromium.org','nick@chromium.or" | 2532 "INSERT INTO 'share_info' VALUES('nick@chromium.org','nick@chromium.or" |
| 2532 "g','c27e9f59-08ca-46f8-b0cc-f16a2ed778bb','Unknown',1263522064,-13107" | 2533 "g','c27e9f59-08ca-46f8-b0cc-f16a2ed778bb','Unknown',1263522064,-13107" |
| 2533 "8,'9010788312004066376x-6609234393368420856x',NULL,NULL);")); | 2534 "8,'9010788312004066376x-6609234393368420856x',NULL,NULL);")); |
| 2534 ASSERT_TRUE(connection->CommitTransaction()); | 2535 ASSERT_TRUE(connection->CommitTransaction()); |
| 2535 } | 2536 } |
| 2536 | 2537 |
| 2538 void MigrationTest::SetUpVersion87Database(sql::Connection* connection) { | |
|
maniscalco
2014/04/03 16:59:37
I'm afraid this patch is off an older HEAD. I rec
Nicolas Zea
2014/04/03 21:01:11
Done.
| |
| 2539 ASSERT_TRUE(connection->is_open()); | |
| 2540 ASSERT_TRUE(connection->BeginTransaction()); | |
| 2541 ASSERT_TRUE(connection->Execute( | |
| 2542 "CREATE TABLE share_version (id VARCHAR(128) primary key, data INT);" | |
| 2543 "INSERT INTO 'share_version' VALUES('nick@chromium.org',87);" | |
| 2544 "CREATE TABLE models (model_id BLOB primary key, progress_marker BLOB," | |
| 2545 " transaction_version BIGINT default 0, context BLOB);" | |
| 2546 "INSERT INTO 'models' VALUES(X'C2881000',X'0888810218B605',1,NULL);" | |
| 2547 "CREATE TABLE 'metas'(metahandle bigint primary key ON CONFLICT FAIL,b" | |
| 2548 "ase_version bigint default -1,server_version bigint default 0,local_e" | |
| 2549 "xternal_id bigint default 0,transaction_version bigint default 0,mtim" | |
| 2550 "e bigint default 0,server_mtime bigint default 0,ctime bigint default" | |
| 2551 " 0,server_ctime bigint default 0,id varchar(255) default 'r',parent_i" | |
| 2552 "d varchar(255) default 'r',server_parent_id varchar(255) default 'r'," | |
| 2553 "is_unsynced bit default 0,is_unapplied_update bit default 0,is_del bi" | |
| 2554 "t default 0,is_dir bit default 0,server_is_dir bit default 0,server_i" | |
| 2555 "s_del bit default 0,non_unique_name varchar,server_non_unique_name va" | |
| 2556 "rchar(255),unique_server_tag varchar,unique_client_tag varchar,unique" | |
| 2557 "_bookmark_tag varchar,specifics blob,server_specifics blob,base_serve" | |
| 2558 "r_specifics blob,server_unique_position blob,unique_position blob);" | |
| 2559 "INSERT INTO 'metas' VALUES(1,-1,0,0,0," | |
| 2560 META_PROTO_TIMES_VALS(1) | |
| 2561 ",'r','r','r',0,0,0,1,0,0,NULL,NULL,NULL,NULL," | |
| 2562 "X'',X'',X'',NULL,X'2200',X'2200');" | |
| 2563 "INSERT INTO 'metas' VALUES(6,694,694,6,0," | |
| 2564 META_PROTO_TIMES_VALS(6) ",'s_ID_6','s_ID_9','s_ID_9',0,0,0,1,1,0,'The" | |
| 2565 " Internet','The Internet',NULL,NULL,X'6754307476346749735A5734654D653" | |
| 2566 "273625336557753582F77673D',X'C2881000',X'C2881000',NULL,X'22247FFFFFF" | |
| 2567 "FFFC000006754307476346749735A5734654D653273625336557753582F77673D',X'" | |
| 2568 "22247FFFFFFFFFC000006754307476346749735A5734654D653273625336557753582" | |
| 2569 "F77673D');" | |
| 2570 "INSERT INTO 'metas' VALUES(7,663,663,0,0," | |
| 2571 META_PROTO_TIMES_VALS(7) ",'s_ID_7','r','r',0,0,0,1,1,0,'Google Chrome" | |
| 2572 "','Google Chrome','google_chrome',NULL,X'',NULL,NULL,NULL,X'2200',X'2" | |
| 2573 "200');" | |
| 2574 "INSERT INTO 'metas' VALUES(8,664,664,0,0," | |
| 2575 META_PROTO_TIMES_VALS(8) ",'s_ID_8','s_ID_7','s_ID_7',0,0,0,1,1,0,'Boo" | |
| 2576 "kmarks','Bookmarks','google_chrome_bookmarks',NULL,X'',X'C2881000',X'" | |
| 2577 "C2881000',NULL,X'2200',X'2200');" | |
| 2578 "INSERT INTO 'metas' VALUES(9,665,665,1,0," | |
| 2579 META_PROTO_TIMES_VALS(9) ",'s_ID_9','s_ID_8','s_ID_8',0,0,0,1,1,0,'Boo" | |
| 2580 "kmark Bar','Bookmark Bar','bookmark_bar',NULL,X'',X'C2881000',X'C2881" | |
| 2581 "000',NULL,X'2200',X'2200');" | |
| 2582 "INSERT INTO 'metas' VALUES(10,666,666,2,0," | |
| 2583 META_PROTO_TIMES_VALS(10) ",'s_ID_10','s_ID_8','s_ID_8',0,0,0,1,1,0,'O" | |
| 2584 "ther Bookmarks','Other Bookmarks','other_bookmarks',NULL,X'',X'C28810" | |
| 2585 "00',X'C2881000',NULL,X'2200',X'2200');" | |
| 2586 "INSERT INTO 'metas' VALUES(11,683,683,8,0," | |
| 2587 META_PROTO_TIMES_VALS(11) ",'s_ID_11','s_ID_6','s_ID_6',0,0,0,0,0,0,'H" | |
| 2588 "ome (The Chromium Projects)','Home (The Chromium Projects)',NULL,NULL" | |
| 2589 ",X'50514C784A456D623579366267644237646A7A2B62314130346E493D',X'C28810" | |
| 2590 "220A18687474703A2F2F6465762E6368726F6D69756D2E6F72672F120641474154574" | |
| 2591 "1',X'C28810290A1D687474703A2F2F6465762E6368726F6D69756D2E6F72672F6F74" | |
| 2592 "68657212084146414756415346',NULL,X'22247FFFFFFFFFF0000050514C784A456D" | |
| 2593 "623579366267644237646A7A2B62314130346E493D',X'22247FFFFFFFFFF00000505" | |
| 2594 "14C784A456D623579366267644237646A7A2B62314130346E493D');" | |
| 2595 "INSERT INTO 'metas' VALUES(12,685,685,9,0," | |
| 2596 META_PROTO_TIMES_VALS(12) ",'s_ID_12','s_ID_6','s_ID_6',0,0,0,1,1,0,'E" | |
| 2597 "xtra Bookmarks','Extra Bookmarks',NULL,NULL,X'7867626A704A646134635A6" | |
| 2598 "F616C376A49513338734B46324837773D',X'C2881000',X'C2881000',NULL,X'222" | |
| 2599 "480000000000000007867626A704A646134635A6F616C376A49513338734B46324837" | |
| 2600 "773D',X'222480000000000000007867626A704A646134635A6F616C376A495133387" | |
| 2601 "34B46324837773D');" | |
| 2602 "INSERT INTO 'metas' VALUES(13,687,687,10,0," | |
| 2603 META_PROTO_TIMES_VALS(13) ",'s_ID_13','s_ID_6','s_ID_6',0,0,0,0,0,0,'I" | |
| 2604 "CANN | Internet Corporation for Assigned Names and Numbers','ICANN | " | |
| 2605 "Internet Corporation for Assigned Names and Numbers',NULL,NULL,X'3142" | |
| 2606 "756B572F7741766956504179672B304A614A514B3452384A413D',X'C28810240A156" | |
| 2607 "87474703A2F2F7777772E6963616E6E2E636F6D2F120B504E474158463041414646'," | |
| 2608 "X'C28810200A15687474703A2F2F7777772E6963616E6E2E636F6D2F1207444141464" | |
| 2609 "15346',NULL,X'22247FFFFFFFFFF200003142756B572F7741766956504179672B304" | |
| 2610 "A614A514B3452384A413D',X'22247FFFFFFFFFF200003142756B572F774176695650" | |
| 2611 "4179672B304A614A514B3452384A413D');" | |
| 2612 "INSERT INTO 'metas' VALUES(14,692,692,11,0," | |
| 2613 META_PROTO_TIMES_VALS(14) ",'s_ID_14','s_ID_6','s_ID_6',0,0,0,0,0,0,'T" | |
| 2614 "he WebKit Open Source Project','The WebKit Open Source Project',NULL," | |
| 2615 "NULL,X'5A5678314E7976364579524D3177494F7236563159552F6E644C553D',X'C2" | |
| 2616 "88101A0A12687474703A2F2F7765626B69742E6F72672F1204504E4758',X'C288101" | |
| 2617 "C0A13687474703A2F2F7765626B69742E6F72672F781205504E473259',NULL,X'222" | |
| 2618 "480000000001000005A5678314E7976364579524D3177494F7236563159552F6E644C" | |
| 2619 "553D',X'222480000000001000005A5678314E7976364579524D3177494F723656315" | |
| 2620 "9552F6E644C553D');" | |
| 2621 "CREATE TABLE deleted_metas (metahandle bigint primary key ON CONFLICT FA" | |
| 2622 "IL,base_version bigint default -1,server_version bigint default 0,loc" | |
| 2623 "al_external_id bigint default 0,transaction_version bigint default 0," | |
| 2624 "mtime bigint default 0,server_mtime bigint default 0,ctime bigint def" | |
| 2625 "ault 0,server_ctime bigint default 0,id varchar(255) default 'r',pare" | |
| 2626 "nt_id varchar(255) default 'r',server_parent_id varchar(255) default " | |
| 2627 "'r',is_unsynced bit default 0,is_unapplied_update bit default 0,is_de" | |
| 2628 "l bit default 0,is_dir bit default 0,server_is_dir bit default 0,serv" | |
| 2629 "er_is_del bit default 0,non_unique_name varchar,server_non_unique_nam" | |
| 2630 "e varchar(255),unique_server_tag varchar,unique_client_tag varchar,un" | |
| 2631 "ique_bookmark_tag varchar,specifics blob,server_specifics blob,base_s" | |
| 2632 "erver_specifics blob,server_unique_position blob,unique_position blob" | |
| 2633 ");" | |
| 2634 "CREATE TABLE 'share_info' (id TEXT primary key, name TEXT, store_birt" | |
| 2635 "hday TEXT, db_create_version TEXT, db_create_time INT, next_id INT de" | |
| 2636 "fault -2, cache_guid TEXT, notification_state BLOB, bag_of_chips BLOB" | |
| 2637 ");" | |
| 2638 "INSERT INTO 'share_info' VALUES('nick@chromium.org','nick@chromium.or" | |
| 2639 "g','c27e9f59-08ca-46f8-b0cc-f16a2ed778bb','Unknown',1263522064,-13107" | |
| 2640 "8,'9010788312004066376x-6609234393368420856x',NULL,NULL);")); | |
| 2641 ASSERT_TRUE(connection->CommitTransaction()); | |
| 2642 } | |
| 2643 | |
| 2537 TEST_F(DirectoryBackingStoreTest, MigrateVersion67To68) { | 2644 TEST_F(DirectoryBackingStoreTest, MigrateVersion67To68) { |
| 2538 sql::Connection connection; | 2645 sql::Connection connection; |
| 2539 ASSERT_TRUE(connection.OpenInMemory()); | 2646 ASSERT_TRUE(connection.OpenInMemory()); |
| 2540 | 2647 |
| 2541 SetUpVersion67Database(&connection); | 2648 SetUpVersion67Database(&connection); |
| 2542 | 2649 |
| 2543 // Columns existing before version 67. | 2650 // Columns existing before version 67. |
| 2544 ASSERT_TRUE(connection.DoesColumnExist("metas", "name")); | 2651 ASSERT_TRUE(connection.DoesColumnExist("metas", "name")); |
| 2545 ASSERT_TRUE(connection.DoesColumnExist("metas", "unsanitized_name")); | 2652 ASSERT_TRUE(connection.DoesColumnExist("metas", "unsanitized_name")); |
| 2546 ASSERT_TRUE(connection.DoesColumnExist("metas", "server_name")); | 2653 ASSERT_TRUE(connection.DoesColumnExist("metas", "server_name")); |
| (...skipping 444 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2991 scoped_ptr<TestDirectoryBackingStore> dbs( | 3098 scoped_ptr<TestDirectoryBackingStore> dbs( |
| 2992 new TestDirectoryBackingStore(GetUsername(), &connection)); | 3099 new TestDirectoryBackingStore(GetUsername(), &connection)); |
| 2993 ASSERT_TRUE(dbs->MigrateVersion85To86()); | 3100 ASSERT_TRUE(dbs->MigrateVersion85To86()); |
| 2994 EXPECT_EQ(86, dbs->GetVersion()); | 3101 EXPECT_EQ(86, dbs->GetVersion()); |
| 2995 EXPECT_TRUE(connection.DoesColumnExist("metas", "unique_position")); | 3102 EXPECT_TRUE(connection.DoesColumnExist("metas", "unique_position")); |
| 2996 EXPECT_TRUE(connection.DoesColumnExist("metas", "server_unique_position")); | 3103 EXPECT_TRUE(connection.DoesColumnExist("metas", "server_unique_position")); |
| 2997 EXPECT_TRUE(connection.DoesColumnExist("metas", "unique_bookmark_tag")); | 3104 EXPECT_TRUE(connection.DoesColumnExist("metas", "unique_bookmark_tag")); |
| 2998 ASSERT_TRUE(dbs->needs_column_refresh_); | 3105 ASSERT_TRUE(dbs->needs_column_refresh_); |
| 2999 } | 3106 } |
| 3000 | 3107 |
| 3108 TEST_F(DirectoryBackingStoreTest, MigrateVersion86To87) { | |
| 3109 sql::Connection connection; | |
| 3110 ASSERT_TRUE(connection.OpenInMemory()); | |
| 3111 SetUpVersion86Database(&connection); | |
| 3112 | |
| 3113 scoped_ptr<TestDirectoryBackingStore> dbs( | |
| 3114 new TestDirectoryBackingStore(GetUsername(), &connection)); | |
| 3115 ASSERT_TRUE(dbs->MigrateVersion86To87()); | |
| 3116 ASSERT_EQ(87, dbs->GetVersion()); | |
| 3117 ASSERT_TRUE(connection.DoesColumnExist("models", "context")); | |
| 3118 } | |
| 3119 | |
| 3001 // The purpose of this test case is to make it easier to get a dump of the | 3120 // The purpose of this test case is to make it easier to get a dump of the |
| 3002 // database so you can implement a SetUpVersionYDatabase method. Here's what | 3121 // database so you can implement a SetUpVersionYDatabase method. Here's what |
| 3003 // you should do: | 3122 // you should do: |
| 3004 // | 3123 // |
| 3005 // 1. Say you're going from version X to version Y. Write the migration | 3124 // 1. Say you're going from version X to version Y. Write the migration |
| 3006 // method MigrateVersionXToY. | 3125 // method MigrateVersionXToY. |
| 3007 // 2. Update the test below to call SetUpVersionXDatabase and then | 3126 // 2. Update the test below to call SetUpVersionXDatabase and then |
| 3008 // MigrateVersionXToY. You now have a database at version Y. Let's dump it. | 3127 // MigrateVersionXToY. You now have a database at version Y. Let's dump it. |
| 3009 // 3. Set a breakpoint to stop execution just after the connection is | 3128 // 3. Set a breakpoint to stop execution just after the connection is |
| 3010 // destroyed. Examine temp_dir_ to find the version Y database that was | 3129 // destroyed. Examine temp_dir_ to find the version Y database that was |
| 3011 // created on disk. E.g. (gdb) p temp_dir_.path().value().c_str() | 3130 // created on disk. E.g. (gdb) p temp_dir_.path().value().c_str() |
| 3012 // 4. Dump the database using the sqlite3 command line tool: | 3131 // 4. Dump the database using the sqlite3 command line tool: |
| 3013 // > .output foo_dump.sql | 3132 // > .output foo_dump.sql |
| 3014 // > .dump | 3133 // > .dump |
| 3015 // 5. Replace the timestamp columns with META_PROTO_TIMES(x) (or | 3134 // 5. Replace the timestamp columns with META_PROTO_TIMES(x) (or |
| 3016 // LEGACY_META_PROTO_TIMES(x) if before Version 77). Use this dump to write | 3135 // LEGACY_META_PROTO_TIMES(x) if before Version 77). Use this dump to write |
| 3017 // a SetupVersionYDatabase method. | 3136 // a SetupVersionYDatabase method. |
| 3018 TEST_F(DirectoryBackingStoreTest, MigrateToLatestAndDump) { | 3137 TEST_F(DirectoryBackingStoreTest, MigrateToLatestAndDump) { |
| 3019 { | 3138 { |
| 3020 sql::Connection connection; | 3139 sql::Connection connection; |
| 3021 ASSERT_TRUE(connection.Open(GetDatabasePath())); | 3140 ASSERT_TRUE(connection.Open(GetDatabasePath())); |
| 3022 SetUpVersion85Database(&connection); // Update this. | 3141 SetUpVersion86Database(&connection); // Update this. |
| 3023 | 3142 |
| 3024 scoped_ptr<TestDirectoryBackingStore> dbs( | 3143 scoped_ptr<TestDirectoryBackingStore> dbs( |
| 3025 new TestDirectoryBackingStore(GetUsername(), &connection)); | 3144 new TestDirectoryBackingStore(GetUsername(), &connection)); |
| 3026 ASSERT_TRUE(dbs->MigrateVersion85To86()); // Update this. | 3145 ASSERT_TRUE(dbs->MigrateVersion86To87()); // Update this. |
| 3027 ASSERT_TRUE(LoadAndIgnoreReturnedData(dbs.get())); | 3146 ASSERT_TRUE(LoadAndIgnoreReturnedData(dbs.get())); |
| 3028 EXPECT_EQ(86, dbs->GetVersion()); // Update this. | 3147 EXPECT_EQ(87, dbs->GetVersion()); // Update this. |
| 3029 ASSERT_FALSE(dbs->needs_column_refresh_); | 3148 ASSERT_FALSE(dbs->needs_column_refresh_); |
| 3030 } | 3149 } |
| 3031 // Set breakpoint here. | 3150 // Set breakpoint here. |
| 3032 } | 3151 } |
| 3033 | 3152 |
| 3034 TEST_F(DirectoryBackingStoreTest, DetectInvalidPosition) { | 3153 TEST_F(DirectoryBackingStoreTest, DetectInvalidPosition) { |
| 3035 sql::Connection connection; | 3154 sql::Connection connection; |
| 3036 ASSERT_TRUE(connection.OpenInMemory()); | 3155 ASSERT_TRUE(connection.OpenInMemory()); |
| 3037 SetUpVersion86Database(&connection); | 3156 SetUpVersion86Database(&connection); |
| 3038 | 3157 |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3114 break; | 3233 break; |
| 3115 case 84: | 3234 case 84: |
| 3116 SetUpVersion84Database(&connection); | 3235 SetUpVersion84Database(&connection); |
| 3117 break; | 3236 break; |
| 3118 case 85: | 3237 case 85: |
| 3119 SetUpVersion85Database(&connection); | 3238 SetUpVersion85Database(&connection); |
| 3120 break; | 3239 break; |
| 3121 case 86: | 3240 case 86: |
| 3122 SetUpVersion86Database(&connection); | 3241 SetUpVersion86Database(&connection); |
| 3123 break; | 3242 break; |
| 3243 case 87: | |
| 3244 SetUpVersion87Database(&connection); | |
| 3245 break; | |
| 3124 default: | 3246 default: |
| 3125 // If you see this error, it may mean that you've increased the | 3247 // If you see this error, it may mean that you've increased the |
| 3126 // database version number but you haven't finished adding unit tests | 3248 // database version number but you haven't finished adding unit tests |
| 3127 // for the database migration code. You need to need to supply a | 3249 // for the database migration code. You need to need to supply a |
| 3128 // SetUpVersionYDatabase function with a dump of the test database | 3250 // SetUpVersionYDatabase function with a dump of the test database |
| 3129 // at the new schema. See the MigrateToLatestAndDump test case. | 3251 // at the new schema. See the MigrateToLatestAndDump test case. |
| 3130 FAIL() << "Need to supply database dump for version " << GetParam(); | 3252 FAIL() << "Need to supply database dump for version " << GetParam(); |
| 3131 } | 3253 } |
| 3132 | 3254 |
| 3133 syncable::Directory::KernelLoadInfo dir_info; | 3255 syncable::Directory::KernelLoadInfo dir_info; |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3184 connection.DoesColumnExist("share_info", "autofill_migration_time")); | 3306 connection.DoesColumnExist("share_info", "autofill_migration_time")); |
| 3185 ASSERT_FALSE(connection.DoesColumnExist("share_info", | 3307 ASSERT_FALSE(connection.DoesColumnExist("share_info", |
| 3186 "autofill_entries_added_during_migration")); | 3308 "autofill_entries_added_during_migration")); |
| 3187 ASSERT_FALSE(connection.DoesColumnExist("share_info", | 3309 ASSERT_FALSE(connection.DoesColumnExist("share_info", |
| 3188 "autofill_profiles_added_during_migration")); | 3310 "autofill_profiles_added_during_migration")); |
| 3189 | 3311 |
| 3190 // Column added in version 78. | 3312 // Column added in version 78. |
| 3191 ASSERT_TRUE(connection.DoesColumnExist("metas", "base_server_specifics")); | 3313 ASSERT_TRUE(connection.DoesColumnExist("metas", "base_server_specifics")); |
| 3192 | 3314 |
| 3193 // Column added in version 82. | 3315 // Column added in version 82. |
| 3194 ASSERT_TRUE(connection.DoesColumnExist("models", "transaction_version")); | 3316 ASSERT_TRUE(connection.DoesColumnExist("models", "transaction_version")); |
|
maniscalco
2014/04/03 16:59:37
Can you an assert that verifies the DB has the new
Nicolas Zea
2014/04/03 21:01:11
Done.
| |
| 3195 | 3317 |
| 3196 // Column added in version 83. | 3318 // Column added in version 83. |
| 3197 ASSERT_TRUE(connection.DoesColumnExist("metas", "transaction_version")); | 3319 ASSERT_TRUE(connection.DoesColumnExist("metas", "transaction_version")); |
| 3198 | 3320 |
| 3199 // Table added in version 84. | 3321 // Table added in version 84. |
| 3200 ASSERT_TRUE(connection.DoesTableExist("deleted_metas")); | 3322 ASSERT_TRUE(connection.DoesTableExist("deleted_metas")); |
| 3201 | 3323 |
| 3202 // Column removed in version 85. | 3324 // Column removed in version 85. |
| 3203 ASSERT_FALSE(connection.DoesColumnExist("models", "initial_sync_ended")); | 3325 ASSERT_FALSE(connection.DoesColumnExist("models", "initial_sync_ended")); |
| 3204 | 3326 |
| (...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3520 const std::string& guid2 = TestDirectoryBackingStore::GenerateCacheGUID(); | 3642 const std::string& guid2 = TestDirectoryBackingStore::GenerateCacheGUID(); |
| 3521 EXPECT_EQ(24U, guid1.size()); | 3643 EXPECT_EQ(24U, guid1.size()); |
| 3522 EXPECT_EQ(24U, guid2.size()); | 3644 EXPECT_EQ(24U, guid2.size()); |
| 3523 // In theory this test can fail, but it won't before the universe | 3645 // In theory this test can fail, but it won't before the universe |
| 3524 // dies of heat death. | 3646 // dies of heat death. |
| 3525 EXPECT_NE(guid1, guid2); | 3647 EXPECT_NE(guid1, guid2); |
| 3526 } | 3648 } |
| 3527 | 3649 |
| 3528 } // namespace syncable | 3650 } // namespace syncable |
| 3529 } // namespace syncer | 3651 } // namespace syncer |
| OLD | NEW |