| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "base/command_line.h" | 5 #include "base/command_line.h" |
| 6 #include "base/message_loop/message_loop.h" | 6 #include "base/message_loop/message_loop.h" |
| 7 #include "base/prefs/pref_service.h" | 7 #include "base/prefs/pref_service.h" |
| 8 #include "base/run_loop.h" | 8 #include "base/run_loop.h" |
| 9 #include "chrome/browser/profiles/profile.h" | 9 #include "chrome/browser/profiles/profile.h" |
| 10 #include "chrome/browser/sync/profile_sync_service.h" | 10 #include "chrome/browser/sync/profile_sync_service.h" |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 class SingleClientBackupRollbackTest : public SyncTest { | 36 class SingleClientBackupRollbackTest : public SyncTest { |
| 37 public: | 37 public: |
| 38 SingleClientBackupRollbackTest() : SyncTest(SINGLE_CLIENT) {} | 38 SingleClientBackupRollbackTest() : SyncTest(SINGLE_CLIENT) {} |
| 39 virtual ~SingleClientBackupRollbackTest() {} | 39 virtual ~SingleClientBackupRollbackTest() {} |
| 40 | 40 |
| 41 void DisableBackup() { | 41 void DisableBackup() { |
| 42 CommandLine::ForCurrentProcess()->AppendSwitch( | 42 CommandLine::ForCurrentProcess()->AppendSwitch( |
| 43 switches::kSyncDisableBackup); | 43 switches::kSyncDisableBackup); |
| 44 } | 44 } |
| 45 | 45 |
| 46 void EnableRollback() { | 46 void DisableRollback() { |
| 47 CommandLine::ForCurrentProcess()->AppendSwitch( | 47 CommandLine::ForCurrentProcess()->AppendSwitch( |
| 48 switches::kSyncEnableRollback); | 48 switches::kSyncDisableRollback); |
| 49 } | 49 } |
| 50 | 50 |
| 51 base::Time GetBackupDbLastModified() { | 51 base::Time GetBackupDbLastModified() { |
| 52 base::RunLoop run_loop; | 52 base::RunLoop run_loop; |
| 53 | 53 |
| 54 base::Time backup_time; | 54 base::Time backup_time; |
| 55 syncer::CheckSyncDbLastModifiedTime( | 55 syncer::CheckSyncDbLastModifiedTime( |
| 56 GetProfile(0)->GetPath().Append(FILE_PATH_LITERAL("Sync Data Backup")), | 56 GetProfile(0)->GetPath().Append(FILE_PATH_LITERAL("Sync Data Backup")), |
| 57 base::MessageLoopProxy::current(), | 57 base::MessageLoopProxy::current(), |
| 58 base::Bind(&SingleClientBackupRollbackTest::CheckDbCallback, | 58 base::Bind(&SingleClientBackupRollbackTest::CheckDbCallback, |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 ASSERT_EQ(ProfileSyncService::IDLE, GetSyncService(0)->backend_mode()); | 128 ASSERT_EQ(ProfileSyncService::IDLE, GetSyncService(0)->backend_mode()); |
| 129 } | 129 } |
| 130 | 130 |
| 131 #if defined(ENABLE_PRE_SYNC_BACKUP) | 131 #if defined(ENABLE_PRE_SYNC_BACKUP) |
| 132 #define MAYBE_TestBackupOnly TestBackupOnly | 132 #define MAYBE_TestBackupOnly TestBackupOnly |
| 133 #else | 133 #else |
| 134 #define MAYBE_TestBackupOnly DISABLED_TestBackupOnly | 134 #define MAYBE_TestBackupOnly DISABLED_TestBackupOnly |
| 135 #endif | 135 #endif |
| 136 IN_PROC_BROWSER_TEST_F(SingleClientBackupRollbackTest, | 136 IN_PROC_BROWSER_TEST_F(SingleClientBackupRollbackTest, |
| 137 MAYBE_TestBackupOnly) { | 137 MAYBE_TestBackupOnly) { |
| 138 DisableRollback(); |
| 139 |
| 138 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; | 140 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; |
| 139 | 141 |
| 140 // Starting state: | 142 // Starting state: |
| 141 // other_node | 143 // other_node |
| 142 // -> http://mail.google.com "url0" | 144 // -> http://mail.google.com "url0" |
| 143 // -> http://www.nhl.com "url1" | 145 // -> http://www.nhl.com "url1" |
| 144 ASSERT_TRUE(AddURL(0, GetOtherNode(0), 0, "url0", | 146 ASSERT_TRUE(AddURL(0, GetOtherNode(0), 0, "url0", |
| 145 GURL("http://mail.google.com"))); | 147 GURL("http://mail.google.com"))); |
| 146 ASSERT_TRUE(AddURL(0, GetOtherNode(0), 1, "url1", | 148 ASSERT_TRUE(AddURL(0, GetOtherNode(0), 1, "url1", |
| 147 GURL("http://www.nhl.com"))); | 149 GURL("http://www.nhl.com"))); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 178 GetOtherNode(0)->GetChild(0)->url()); | 180 GetOtherNode(0)->GetChild(0)->url()); |
| 179 } | 181 } |
| 180 | 182 |
| 181 #if defined(ENABLE_PRE_SYNC_BACKUP) | 183 #if defined(ENABLE_PRE_SYNC_BACKUP) |
| 182 #define MAYBE_TestBackupRollback TestBackupRollback | 184 #define MAYBE_TestBackupRollback TestBackupRollback |
| 183 #else | 185 #else |
| 184 #define MAYBE_TestBackupRollback DISABLED_TestBackupRollback | 186 #define MAYBE_TestBackupRollback DISABLED_TestBackupRollback |
| 185 #endif | 187 #endif |
| 186 IN_PROC_BROWSER_TEST_F(SingleClientBackupRollbackTest, | 188 IN_PROC_BROWSER_TEST_F(SingleClientBackupRollbackTest, |
| 187 MAYBE_TestBackupRollback) { | 189 MAYBE_TestBackupRollback) { |
| 188 EnableRollback(); | |
| 189 | |
| 190 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; | 190 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; |
| 191 | 191 |
| 192 // Starting state: | 192 // Starting state: |
| 193 // other_node | 193 // other_node |
| 194 // -> top | 194 // -> top |
| 195 // -> tier1_a | 195 // -> tier1_a |
| 196 // -> http://mail.google.com "tier1_a_url0" | 196 // -> http://mail.google.com "tier1_a_url0" |
| 197 // -> tier1_b | 197 // -> tier1_b |
| 198 // -> http://www.nhl.com "tier1_b_url0" | 198 // -> http://www.nhl.com "tier1_b_url0" |
| 199 const BookmarkNode* top = AddFolder(0, GetOtherNode(0), 0, "top"); | 199 const BookmarkNode* top = AddFolder(0, GetOtherNode(0), 0, "top"); |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 246 | 246 |
| 247 #if defined(ENABLE_PRE_SYNC_BACKUP) | 247 #if defined(ENABLE_PRE_SYNC_BACKUP) |
| 248 #define MAYBE_TestPrefBackupRollback TestPrefBackupRollback | 248 #define MAYBE_TestPrefBackupRollback TestPrefBackupRollback |
| 249 #else | 249 #else |
| 250 #define MAYBE_TestPrefBackupRollback DISABLED_TestPrefBackupRollback | 250 #define MAYBE_TestPrefBackupRollback DISABLED_TestPrefBackupRollback |
| 251 #endif | 251 #endif |
| 252 // Verify local preferences are not affected by preferences in backup DB under | 252 // Verify local preferences are not affected by preferences in backup DB under |
| 253 // backup mode. | 253 // backup mode. |
| 254 IN_PROC_BROWSER_TEST_F(SingleClientBackupRollbackTest, | 254 IN_PROC_BROWSER_TEST_F(SingleClientBackupRollbackTest, |
| 255 MAYBE_TestPrefBackupRollback) { | 255 MAYBE_TestPrefBackupRollback) { |
| 256 EnableRollback(); | |
| 257 | |
| 258 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; | 256 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; |
| 259 | 257 |
| 260 preferences_helper::ChangeStringPref(0, prefs::kHomePage, kUrl1); | 258 preferences_helper::ChangeStringPref(0, prefs::kHomePage, kUrl1); |
| 261 | 259 |
| 262 BackupModeChecker checker(GetSyncService(0), | 260 BackupModeChecker checker(GetSyncService(0), |
| 263 base::TimeDelta::FromSeconds(15)); | 261 base::TimeDelta::FromSeconds(15)); |
| 264 ASSERT_TRUE(checker.Wait()); | 262 ASSERT_TRUE(checker.Wait()); |
| 265 | 263 |
| 266 // Shut down backup, then change preference. | 264 // Shut down backup, then change preference. |
| 267 GetSyncService(0)->StartStopBackupForTesting(); | 265 GetSyncService(0)->StartStopBackupForTesting(); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 293 preferences_helper::GetPrefs(0)->GetString(prefs::kHomePage)); | 291 preferences_helper::GetPrefs(0)->GetString(prefs::kHomePage)); |
| 294 } | 292 } |
| 295 | 293 |
| 296 #if defined(ENABLE_PRE_SYNC_BACKUP) | 294 #if defined(ENABLE_PRE_SYNC_BACKUP) |
| 297 #define MAYBE_RollbackNoBackup RollbackNoBackup | 295 #define MAYBE_RollbackNoBackup RollbackNoBackup |
| 298 #else | 296 #else |
| 299 #define MAYBE_RollbackNoBackup DISABLED_RollbackNoBackup | 297 #define MAYBE_RollbackNoBackup DISABLED_RollbackNoBackup |
| 300 #endif | 298 #endif |
| 301 IN_PROC_BROWSER_TEST_F(SingleClientBackupRollbackTest, | 299 IN_PROC_BROWSER_TEST_F(SingleClientBackupRollbackTest, |
| 302 MAYBE_RollbackNoBackup) { | 300 MAYBE_RollbackNoBackup) { |
| 303 EnableRollback(); | |
| 304 | |
| 305 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; | 301 ASSERT_TRUE(SetupClients()) << "SetupClients() failed."; |
| 306 | 302 |
| 307 // Setup sync, wait for its completion, and make sure changes were synced. | 303 // Setup sync, wait for its completion, and make sure changes were synced. |
| 308 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; | 304 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| 309 | 305 |
| 310 // Starting state: | 306 // Starting state: |
| 311 // other_node | 307 // other_node |
| 312 // -> http://mail.google.com "url0" | 308 // -> http://mail.google.com "url0" |
| 313 // -> http://www.nhl.com "url1" | 309 // -> http://www.nhl.com "url1" |
| 314 ASSERT_TRUE(AddURL(0, GetOtherNode(0), 0, "url0", | 310 ASSERT_TRUE(AddURL(0, GetOtherNode(0), 0, "url0", |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 358 GetSyncService(0)->StartStopBackupForTesting(); | 354 GetSyncService(0)->StartStopBackupForTesting(); |
| 359 GetSyncService(0)->StartStopBackupForTesting(); | 355 GetSyncService(0)->StartStopBackupForTesting(); |
| 360 ASSERT_TRUE(checker.Wait()); | 356 ASSERT_TRUE(checker.Wait()); |
| 361 | 357 |
| 362 // Verify bookmarks are unchanged. | 358 // Verify bookmarks are unchanged. |
| 363 ASSERT_EQ(3, sub_folder->child_count()); | 359 ASSERT_EQ(3, sub_folder->child_count()); |
| 364 ASSERT_EQ(GURL(kUrl1), sub_folder->GetChild(0)->url()); | 360 ASSERT_EQ(GURL(kUrl1), sub_folder->GetChild(0)->url()); |
| 365 ASSERT_EQ(GURL(kUrl2), sub_folder->GetChild(1)->url()); | 361 ASSERT_EQ(GURL(kUrl2), sub_folder->GetChild(1)->url()); |
| 366 ASSERT_EQ(GURL(kUrl3), sub_folder->GetChild(2)->url()); | 362 ASSERT_EQ(GURL(kUrl3), sub_folder->GetChild(2)->url()); |
| 367 } | 363 } |
| OLD | NEW |