| OLD | NEW |
| 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 "chrome/browser/sync_file_system/drive_metadata_store.h" | 5 #include "chrome/browser/sync_file_system/drive_metadata_store.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
| 10 #include "base/files/scoped_temp_dir.h" | 10 #include "base/files/scoped_temp_dir.h" |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 drive_metadata_store_->RestoreSyncRootDirectory( | 126 drive_metadata_store_->RestoreSyncRootDirectory( |
| 127 base::Bind(&DriveMetadataStoreTest::DidRestoreSyncRootDirectory, | 127 base::Bind(&DriveMetadataStoreTest::DidRestoreSyncRootDirectory, |
| 128 base::Unretained(this))); | 128 base::Unretained(this))); |
| 129 message_loop_.Run(); | 129 message_loop_.Run(); |
| 130 } | 130 } |
| 131 | 131 |
| 132 void DropSyncOriginsInStore() { | 132 void DropSyncOriginsInStore() { |
| 133 EXPECT_TRUE(ui_task_runner_->RunsTasksOnCurrentThread()); | 133 EXPECT_TRUE(ui_task_runner_->RunsTasksOnCurrentThread()); |
| 134 drive_metadata_store_->batch_sync_origins_.clear(); | 134 drive_metadata_store_->batch_sync_origins_.clear(); |
| 135 drive_metadata_store_->incremental_sync_origins_.clear(); | 135 drive_metadata_store_->incremental_sync_origins_.clear(); |
| 136 drive_metadata_store_->disabled_origins_.clear(); |
| 136 EXPECT_TRUE(drive_metadata_store_->batch_sync_origins().empty()); | 137 EXPECT_TRUE(drive_metadata_store_->batch_sync_origins().empty()); |
| 137 EXPECT_TRUE(drive_metadata_store_->incremental_sync_origins().empty()); | 138 EXPECT_TRUE(drive_metadata_store_->incremental_sync_origins().empty()); |
| 139 EXPECT_TRUE(drive_metadata_store_->disabled_origins().empty()); |
| 138 } | 140 } |
| 139 | 141 |
| 140 void RestoreSyncOriginsFromDB() { | 142 void RestoreOriginsFromDB() { |
| 141 EXPECT_TRUE(ui_task_runner_->RunsTasksOnCurrentThread()); | 143 EXPECT_TRUE(ui_task_runner_->RunsTasksOnCurrentThread()); |
| 142 drive_metadata_store_->RestoreSyncOrigins( | 144 drive_metadata_store_->RestoreOrigins( |
| 143 base::Bind(&DriveMetadataStoreTest::DidRestoreSyncOrigins, | 145 base::Bind(&DriveMetadataStoreTest::DidRestoreOrigins, |
| 144 base::Unretained(this))); | 146 base::Unretained(this))); |
| 145 message_loop_.Run(); | 147 message_loop_.Run(); |
| 146 } | 148 } |
| 147 | 149 |
| 150 SyncStatusCode EnableOrigin(const GURL& origin) { |
| 151 SyncStatusCode status = SYNC_STATUS_UNKNOWN; |
| 152 drive_metadata_store_->EnableOrigin( |
| 153 origin, base::Bind(&DriveMetadataStoreTest::DidFinishDBTask, |
| 154 base::Unretained(this), &status)); |
| 155 message_loop_.Run(); |
| 156 return status; |
| 157 } |
| 158 |
| 159 SyncStatusCode DisableOrigin(const GURL& origin) { |
| 160 SyncStatusCode status = SYNC_STATUS_UNKNOWN; |
| 161 drive_metadata_store_->DisableOrigin( |
| 162 origin, base::Bind(&DriveMetadataStoreTest::DidFinishDBTask, |
| 163 base::Unretained(this), &status)); |
| 164 message_loop_.Run(); |
| 165 return status; |
| 166 } |
| 167 |
| 148 SyncStatusCode RemoveOrigin(const GURL& url) { | 168 SyncStatusCode RemoveOrigin(const GURL& url) { |
| 149 SyncStatusCode status = SYNC_STATUS_UNKNOWN; | 169 SyncStatusCode status = SYNC_STATUS_UNKNOWN; |
| 150 drive_metadata_store_->RemoveOrigin( | 170 drive_metadata_store_->RemoveOrigin( |
| 151 url, base::Bind(&DriveMetadataStoreTest::DidFinishDBTask, | 171 url, base::Bind(&DriveMetadataStoreTest::DidFinishDBTask, |
| 152 base::Unretained(this), &status)); | 172 base::Unretained(this), &status)); |
| 153 message_loop_.Run(); | 173 message_loop_.Run(); |
| 154 return status; | 174 return status; |
| 155 } | 175 } |
| 156 | 176 |
| 157 SyncStatusCode UpdateEntry(const fileapi::FileSystemURL& url, | 177 SyncStatusCode UpdateEntry(const fileapi::FileSystemURL& url, |
| (...skipping 29 matching lines...) Expand all Loading... |
| 187 void DidFinishDBTask(SyncStatusCode* status_out, | 207 void DidFinishDBTask(SyncStatusCode* status_out, |
| 188 SyncStatusCode status) { | 208 SyncStatusCode status) { |
| 189 *status_out = status; | 209 *status_out = status; |
| 190 message_loop_.Quit(); | 210 message_loop_.Quit(); |
| 191 } | 211 } |
| 192 | 212 |
| 193 void MarkAsCreated() { | 213 void MarkAsCreated() { |
| 194 created_ = true; | 214 created_ = true; |
| 195 } | 215 } |
| 196 | 216 |
| 217 void VerifyUntrackedOrigin(const GURL& origin) { |
| 218 EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(origin)); |
| 219 EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(origin)); |
| 220 EXPECT_FALSE(metadata_store()->IsOriginDisabled(origin)); |
| 221 } |
| 222 |
| 223 void VerifyBatchSyncOrigin(const GURL& origin, |
| 224 const std::string& resource_id) { |
| 225 EXPECT_TRUE(metadata_store()->IsBatchSyncOrigin(origin)); |
| 226 EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(origin)); |
| 227 EXPECT_FALSE(metadata_store()->IsOriginDisabled(origin)); |
| 228 EXPECT_EQ(resource_id, |
| 229 GetResourceID(metadata_store()->batch_sync_origins(), origin)); |
| 230 } |
| 231 |
| 232 void VerifyIncrementalSyncOrigin(const GURL& origin, |
| 233 const std::string& resource_id) { |
| 234 EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(origin)); |
| 235 EXPECT_TRUE(metadata_store()->IsIncrementalSyncOrigin(origin)); |
| 236 EXPECT_FALSE(metadata_store()->IsOriginDisabled(origin)); |
| 237 EXPECT_EQ(resource_id, |
| 238 GetResourceID(metadata_store()->incremental_sync_origins(), |
| 239 origin)); |
| 240 } |
| 241 |
| 242 void VerifyDisabledOrigin(const GURL& origin, |
| 243 const std::string& resource_id) { |
| 244 EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(origin)); |
| 245 EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(origin)); |
| 246 EXPECT_TRUE(metadata_store()->IsOriginDisabled(origin)); |
| 247 EXPECT_EQ(resource_id, |
| 248 GetResourceID(metadata_store()->disabled_origins(), origin)); |
| 249 } |
| 250 |
| 197 base::FilePath base_dir() { | 251 base::FilePath base_dir() { |
| 198 return base_dir_.path(); | 252 return base_dir_.path(); |
| 199 } | 253 } |
| 200 | 254 |
| 201 DriveMetadataStore* metadata_store() { | 255 DriveMetadataStore* metadata_store() { |
| 202 return drive_metadata_store_.get(); | 256 return drive_metadata_store_.get(); |
| 203 } | 257 } |
| 204 | 258 |
| 205 const DriveMetadataStore::MetadataMap& metadata_map() { | 259 const DriveMetadataStore::MetadataMap& metadata_map() { |
| 206 return drive_metadata_store_->metadata_map_; | 260 return drive_metadata_store_->metadata_map_; |
| 207 } | 261 } |
| 208 | 262 |
| 209 private: | 263 private: |
| 210 void DidInitializeDatabase(bool* done_out, | 264 void DidInitializeDatabase(bool* done_out, |
| 211 SyncStatusCode* status_out, | 265 SyncStatusCode* status_out, |
| 212 bool* created_out, | 266 bool* created_out, |
| 213 SyncStatusCode status, | 267 SyncStatusCode status, |
| 214 bool created) { | 268 bool created) { |
| 215 *done_out = true; | 269 *done_out = true; |
| 216 *status_out = status; | 270 *status_out = status; |
| 217 *created_out = created; | 271 *created_out = created; |
| 218 message_loop_.Quit(); | 272 message_loop_.Quit(); |
| 219 } | 273 } |
| 220 | 274 |
| 221 void DidRestoreSyncRootDirectory(SyncStatusCode status) { | 275 void DidRestoreSyncRootDirectory(SyncStatusCode status) { |
| 222 EXPECT_EQ(SYNC_STATUS_OK, status); | 276 EXPECT_EQ(SYNC_STATUS_OK, status); |
| 223 message_loop_.Quit(); | 277 message_loop_.Quit(); |
| 224 } | 278 } |
| 225 | 279 |
| 226 void DidRestoreSyncOrigins(SyncStatusCode status) { | 280 void DidRestoreOrigins(SyncStatusCode status) { |
| 227 EXPECT_EQ(SYNC_STATUS_OK, status); | 281 EXPECT_EQ(SYNC_STATUS_OK, status); |
| 228 message_loop_.Quit(); | 282 message_loop_.Quit(); |
| 229 } | 283 } |
| 230 | 284 |
| 231 base::ScopedTempDir base_dir_; | 285 base::ScopedTempDir base_dir_; |
| 232 | 286 |
| 233 MessageLoop message_loop_; | 287 MessageLoop message_loop_; |
| 234 scoped_ptr<base::Thread> file_thread_; | 288 scoped_ptr<base::Thread> file_thread_; |
| 235 | 289 |
| 236 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_; | 290 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner_; |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 325 UpdateEntry(URL(path3), CreateMetadata("3", "3", false, true))); | 379 UpdateEntry(URL(path3), CreateMetadata("3", "3", false, true))); |
| 326 | 380 |
| 327 EXPECT_EQ(SYNC_STATUS_OK, | 381 EXPECT_EQ(SYNC_STATUS_OK, |
| 328 metadata_store()->GetToBeFetchedFiles(&list)); | 382 metadata_store()->GetToBeFetchedFiles(&list)); |
| 329 EXPECT_EQ(2U, list.size()); | 383 EXPECT_EQ(2U, list.size()); |
| 330 EXPECT_EQ(list[0].first, URL(path2)); | 384 EXPECT_EQ(list[0].first, URL(path2)); |
| 331 EXPECT_EQ(list[1].first, URL(path3)); | 385 EXPECT_EQ(list[1].first, URL(path3)); |
| 332 } | 386 } |
| 333 | 387 |
| 334 TEST_F(DriveMetadataStoreTest, StoreSyncRootDirectory) { | 388 TEST_F(DriveMetadataStoreTest, StoreSyncRootDirectory) { |
| 335 const std::string kResourceID("hoge"); | 389 const std::string kResourceId("hoge"); |
| 336 | 390 |
| 337 InitializeDatabase(); | 391 InitializeDatabase(); |
| 338 | 392 |
| 339 EXPECT_TRUE(metadata_store()->sync_root_directory().empty()); | 393 EXPECT_TRUE(metadata_store()->sync_root_directory().empty()); |
| 340 | 394 |
| 341 metadata_store()->SetSyncRootDirectory(kResourceID); | 395 metadata_store()->SetSyncRootDirectory(kResourceId); |
| 342 EXPECT_EQ(kResourceID, metadata_store()->sync_root_directory()); | 396 EXPECT_EQ(kResourceId, metadata_store()->sync_root_directory()); |
| 343 | 397 |
| 344 DropSyncRootDirectoryInStore(); | 398 DropSyncRootDirectoryInStore(); |
| 345 EXPECT_TRUE(metadata_store()->sync_root_directory().empty()); | 399 EXPECT_TRUE(metadata_store()->sync_root_directory().empty()); |
| 346 | 400 |
| 347 RestoreSyncRootDirectoryFromDB(); | 401 RestoreSyncRootDirectoryFromDB(); |
| 348 EXPECT_EQ(kResourceID, metadata_store()->sync_root_directory()); | 402 EXPECT_EQ(kResourceId, metadata_store()->sync_root_directory()); |
| 349 } | 403 } |
| 350 | 404 |
| 351 TEST_F(DriveMetadataStoreTest, StoreSyncOrigin) { | 405 TEST_F(DriveMetadataStoreTest, StoreSyncOrigin) { |
| 352 const GURL kOrigin1("chrome-extension://example1"); | 406 const GURL kOrigin1("chrome-extension://example1"); |
| 353 const GURL kOrigin2("chrome-extension://example2"); | 407 const GURL kOrigin2("chrome-extension://example2"); |
| 354 const std::string kResourceID1("hoge"); | 408 const GURL kOrigin3("chrome-extension://example3"); |
| 355 const std::string kResourceID2("fuga"); | 409 const std::string kResourceId1("hoge"); |
| 410 const std::string kResourceId2("fuga"); |
| 411 const std::string kResourceId3("foo"); |
| 356 | 412 |
| 357 InitializeDatabase(); | 413 InitializeDatabase(); |
| 358 | 414 |
| 359 // Make sure origins have not been marked yet. | 415 // Make sure origins have not been marked yet. |
| 360 EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(kOrigin1)); | 416 VerifyUntrackedOrigin(kOrigin1); |
| 361 EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(kOrigin2)); | 417 VerifyUntrackedOrigin(kOrigin2); |
| 362 EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(kOrigin1)); | 418 VerifyUntrackedOrigin(kOrigin3); |
| 363 EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(kOrigin2)); | |
| 364 | 419 |
| 365 // Mark origins as batch sync origins. | 420 // Mark origins as batch sync origins. |
| 366 metadata_store()->AddBatchSyncOrigin(kOrigin1, kResourceID1); | 421 metadata_store()->AddBatchSyncOrigin(kOrigin1, kResourceId1); |
| 367 metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceID2); | 422 metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceId2); |
| 368 EXPECT_TRUE(metadata_store()->IsBatchSyncOrigin(kOrigin1)); | 423 metadata_store()->AddBatchSyncOrigin(kOrigin3, kResourceId3); |
| 369 EXPECT_TRUE(metadata_store()->IsBatchSyncOrigin(kOrigin2)); | 424 VerifyBatchSyncOrigin(kOrigin1, kResourceId1); |
| 370 EXPECT_EQ(kResourceID1, | 425 VerifyBatchSyncOrigin(kOrigin2, kResourceId2); |
| 371 GetResourceID(metadata_store()->batch_sync_origins(), kOrigin1)); | 426 VerifyBatchSyncOrigin(kOrigin3, kResourceId3); |
| 372 EXPECT_EQ(kResourceID2, | |
| 373 GetResourceID(metadata_store()->batch_sync_origins(), kOrigin2)); | |
| 374 | 427 |
| 375 // Mark |kOrigin1| as an incremental sync origin. |kOrigin2| should have still | 428 // Mark |kOrigin1| as an incremental sync origin, and disable |kOrigin3| as |
| 376 // been marked as a batch sync origin. | 429 // a disabled sync origin. |kOrigin2| should have still been marked as a |
| 430 // batch sync origin. |
| 377 metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin1); | 431 metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin1); |
| 378 EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(kOrigin1)); | 432 DisableOrigin(kOrigin3); |
| 379 EXPECT_TRUE(metadata_store()->IsBatchSyncOrigin(kOrigin2)); | 433 VerifyIncrementalSyncOrigin(kOrigin1, kResourceId1); |
| 380 EXPECT_TRUE(metadata_store()->IsIncrementalSyncOrigin(kOrigin1)); | 434 VerifyBatchSyncOrigin(kOrigin2, kResourceId2); |
| 381 EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(kOrigin2)); | 435 VerifyDisabledOrigin(kOrigin3, kResourceId3); |
| 382 EXPECT_EQ(kResourceID1, | |
| 383 GetResourceID(metadata_store()->incremental_sync_origins(), | |
| 384 kOrigin1)); | |
| 385 EXPECT_EQ(kResourceID2, | |
| 386 GetResourceID(metadata_store()->batch_sync_origins(), kOrigin2)); | |
| 387 | 436 |
| 388 DropSyncOriginsInStore(); | 437 DropSyncOriginsInStore(); |
| 389 | 438 |
| 390 // Make sure origins have been dropped. | 439 // Make sure origins have been dropped. |
| 391 EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(kOrigin1)); | 440 VerifyUntrackedOrigin(kOrigin1); |
| 392 EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(kOrigin2)); | 441 VerifyUntrackedOrigin(kOrigin2); |
| 393 EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(kOrigin1)); | 442 VerifyUntrackedOrigin(kOrigin3); |
| 394 EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(kOrigin2)); | |
| 395 | 443 |
| 396 RestoreSyncOriginsFromDB(); | 444 RestoreOriginsFromDB(); |
| 397 | 445 |
| 398 // Make sure origins have been restored. | 446 // Make sure origins have been restored. |
| 399 EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(kOrigin1)); | 447 VerifyIncrementalSyncOrigin(kOrigin1, kResourceId1); |
| 400 EXPECT_TRUE(metadata_store()->IsBatchSyncOrigin(kOrigin2)); | 448 VerifyBatchSyncOrigin(kOrigin2, kResourceId2); |
| 401 EXPECT_TRUE(metadata_store()->IsIncrementalSyncOrigin(kOrigin1)); | 449 VerifyDisabledOrigin(kOrigin3, kResourceId3); |
| 402 EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(kOrigin2)); | 450 } |
| 403 EXPECT_EQ(kResourceID1, | 451 |
| 404 GetResourceID(metadata_store()->incremental_sync_origins(), | 452 TEST_F(DriveMetadataStoreTest, DisableOrigin) { |
| 405 kOrigin1)); | 453 const GURL kOrigin1("chrome-extension://example1"); |
| 406 EXPECT_EQ(kResourceID2, | 454 const GURL kOrigin2("chrome-extension://example2"); |
| 407 GetResourceID(metadata_store()->batch_sync_origins(), kOrigin2)); | 455 const std::string kResourceId1("hoge"); |
| 456 const std::string kResourceId2("fuga"); |
| 457 |
| 458 InitializeDatabase(); |
| 459 EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1)); |
| 460 |
| 461 metadata_store()->AddBatchSyncOrigin(kOrigin1, kResourceId1); |
| 462 metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceId2); |
| 463 metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin2); |
| 464 VerifyBatchSyncOrigin(kOrigin1, kResourceId1); |
| 465 VerifyIncrementalSyncOrigin(kOrigin2, kResourceId2); |
| 466 |
| 467 DisableOrigin(kOrigin1); |
| 468 DisableOrigin(kOrigin2); |
| 469 VerifyDisabledOrigin(kOrigin1, kResourceId1); |
| 470 VerifyDisabledOrigin(kOrigin2, kResourceId2); |
| 471 |
| 472 EnableOrigin(kOrigin1); |
| 473 EnableOrigin(kOrigin2); |
| 474 VerifyBatchSyncOrigin(kOrigin1, kResourceId1); |
| 475 VerifyBatchSyncOrigin(kOrigin2, kResourceId2); |
| 408 } | 476 } |
| 409 | 477 |
| 410 TEST_F(DriveMetadataStoreTest, RemoveOrigin) { | 478 TEST_F(DriveMetadataStoreTest, RemoveOrigin) { |
| 411 const GURL kOrigin1("chrome-extension://example1"); | 479 const GURL kOrigin1("chrome-extension://example1"); |
| 412 const GURL kOrigin2("chrome-extension://example2"); | 480 const GURL kOrigin2("chrome-extension://example2"); |
| 413 const GURL kOrigin3("chrome-extension://example3"); | 481 const GURL kOrigin3("chrome-extension://example3"); |
| 414 const GURL kOrigin4("chrome-extension://example4"); | 482 const GURL kOrigin4("chrome-extension://example4"); |
| 483 const GURL kOrigin5("chrome-extension://example5"); |
| 415 const std::string kResourceId1("hogera"); | 484 const std::string kResourceId1("hogera"); |
| 416 const std::string kResourceId2("fugaga"); | 485 const std::string kResourceId2("fugaga"); |
| 417 const std::string kResourceId3("piyopiyo"); | 486 const std::string kResourceId3("piyopiyo"); |
| 487 const std::string kResourceId5("hogehoge"); |
| 418 | 488 |
| 419 InitializeDatabase(); | 489 InitializeDatabase(); |
| 420 EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1)); | 490 EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1)); |
| 421 | 491 |
| 422 metadata_store()->AddBatchSyncOrigin(kOrigin1, kResourceId1); | 492 metadata_store()->AddBatchSyncOrigin(kOrigin1, kResourceId1); |
| 423 metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceId2); | 493 metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceId2); |
| 424 metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin2); | 494 metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin2); |
| 425 metadata_store()->AddBatchSyncOrigin(kOrigin3, kResourceId3); | 495 metadata_store()->AddBatchSyncOrigin(kOrigin3, kResourceId3); |
| 496 metadata_store()->AddBatchSyncOrigin(kOrigin5, kResourceId5); |
| 426 | 497 |
| 427 EXPECT_EQ(SYNC_STATUS_OK, | 498 EXPECT_EQ(SYNC_STATUS_OK, |
| 428 UpdateEntry( | 499 UpdateEntry( |
| 429 CreateSyncableFileSystemURL( | 500 CreateSyncableFileSystemURL( |
| 430 kOrigin1, kServiceName, base::FilePath(FPL("guf"))), | 501 kOrigin1, kServiceName, base::FilePath(FPL("guf"))), |
| 431 CreateMetadata("foo", "spam", false, false))); | 502 CreateMetadata("foo", "spam", false, false))); |
| 432 EXPECT_EQ(SYNC_STATUS_OK, | 503 EXPECT_EQ(SYNC_STATUS_OK, |
| 433 UpdateEntry( | 504 UpdateEntry( |
| 434 CreateSyncableFileSystemURL( | 505 CreateSyncableFileSystemURL( |
| 435 kOrigin2, kServiceName, base::FilePath(FPL("mof"))), | 506 kOrigin2, kServiceName, base::FilePath(FPL("mof"))), |
| 436 CreateMetadata("bar", "ham", false, false))); | 507 CreateMetadata("bar", "ham", false, false))); |
| 437 EXPECT_EQ(SYNC_STATUS_OK, | 508 EXPECT_EQ(SYNC_STATUS_OK, |
| 438 UpdateEntry( | 509 UpdateEntry( |
| 439 CreateSyncableFileSystemURL( | 510 CreateSyncableFileSystemURL( |
| 440 kOrigin3, kServiceName, base::FilePath(FPL("waf"))), | 511 kOrigin3, kServiceName, base::FilePath(FPL("waf"))), |
| 441 CreateMetadata("baz", "egg", false, false))); | 512 CreateMetadata("baz", "egg", false, false))); |
| 442 EXPECT_EQ(SYNC_STATUS_OK, | 513 EXPECT_EQ(SYNC_STATUS_OK, |
| 443 UpdateEntry( | 514 UpdateEntry( |
| 444 CreateSyncableFileSystemURL( | 515 CreateSyncableFileSystemURL( |
| 445 kOrigin4, kServiceName, base::FilePath(FPL("cue"))), | 516 kOrigin4, kServiceName, base::FilePath(FPL("cue"))), |
| 446 CreateMetadata("lat", "fork", false, false))); | 517 CreateMetadata("lat", "fork", false, false))); |
| 447 EXPECT_EQ(SYNC_STATUS_OK, | 518 EXPECT_EQ(SYNC_STATUS_OK, |
| 448 UpdateEntry( | 519 UpdateEntry( |
| 449 CreateSyncableFileSystemURL( | 520 CreateSyncableFileSystemURL( |
| 521 kOrigin5, kServiceName, base::FilePath(FPL("tac"))), |
| 522 CreateMetadata("pov", "spoon", false, false))); |
| 523 EXPECT_EQ(SYNC_STATUS_OK, |
| 524 UpdateEntry( |
| 525 CreateSyncableFileSystemURL( |
| 450 kOrigin1, kServiceName, base::FilePath(FPL("tic"))), | 526 kOrigin1, kServiceName, base::FilePath(FPL("tic"))), |
| 451 CreateMetadata("zav", "sause", false, false))); | 527 CreateMetadata("zav", "sause", false, false))); |
| 452 | 528 |
| 453 EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin1)); | 529 EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin1)); |
| 454 EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin2)); | 530 EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin2)); |
| 455 EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin4)); | 531 EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin4)); |
| 532 EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin5)); |
| 456 | 533 |
| 457 DropDatabase(); | 534 DropDatabase(); |
| 458 InitializeDatabase(); | 535 InitializeDatabase(); |
| 459 | 536 |
| 460 // kOrigin3 should be only remaining batch sync origin. | 537 // kOrigin3 should be only remaining batch sync origin. |
| 461 EXPECT_EQ(1u, metadata_store()->batch_sync_origins().size()); | 538 EXPECT_EQ(1u, metadata_store()->batch_sync_origins().size()); |
| 462 EXPECT_TRUE(metadata_store()->IsBatchSyncOrigin(kOrigin3)); | 539 EXPECT_TRUE(metadata_store()->IsBatchSyncOrigin(kOrigin3)); |
| 463 EXPECT_TRUE(metadata_store()->incremental_sync_origins().empty()); | 540 EXPECT_TRUE(metadata_store()->incremental_sync_origins().empty()); |
| 541 EXPECT_TRUE(metadata_store()->disabled_origins().empty()); |
| 464 EXPECT_EQ(1u, metadata_map().size()); | 542 EXPECT_EQ(1u, metadata_map().size()); |
| 465 | 543 |
| 466 DriveMetadataStore::MetadataMap::const_iterator found = | 544 DriveMetadataStore::MetadataMap::const_iterator found = |
| 467 metadata_map().find(kOrigin3); | 545 metadata_map().find(kOrigin3); |
| 468 EXPECT_TRUE(found != metadata_map().end() && found->second.size() == 1u); | 546 EXPECT_TRUE(found != metadata_map().end() && found->second.size() == 1u); |
| 469 } | 547 } |
| 470 | 548 |
| 471 TEST_F(DriveMetadataStoreTest, GetResourceIdForOrigin) { | 549 TEST_F(DriveMetadataStoreTest, GetResourceIdForOrigin) { |
| 472 const GURL kOrigin1("chrome-extension://example1"); | 550 const GURL kOrigin1("chrome-extension://example1"); |
| 473 const GURL kOrigin2("chrome-extension://example2"); | 551 const GURL kOrigin2("chrome-extension://example2"); |
| 552 const GURL kOrigin3("chrome-extension://example3"); |
| 474 const std::string kResourceId1("hogera"); | 553 const std::string kResourceId1("hogera"); |
| 475 const std::string kResourceId2("fugaga"); | 554 const std::string kResourceId2("fugaga"); |
| 555 const std::string kResourceId3("piyopiyo"); |
| 476 | 556 |
| 477 InitializeDatabase(); | 557 InitializeDatabase(); |
| 478 EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1)); | 558 EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1)); |
| 479 | 559 |
| 480 metadata_store()->AddBatchSyncOrigin(kOrigin1, kResourceId1); | 560 metadata_store()->AddBatchSyncOrigin(kOrigin1, kResourceId1); |
| 481 metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceId2); | 561 metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceId2); |
| 482 metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin2); | 562 metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin2); |
| 563 metadata_store()->AddBatchSyncOrigin(kOrigin3, kResourceId3); |
| 564 DisableOrigin(kOrigin3); |
| 483 | 565 |
| 484 EXPECT_EQ(kResourceId1, metadata_store()->GetResourceIdForOrigin(kOrigin1)); | 566 EXPECT_EQ(kResourceId1, metadata_store()->GetResourceIdForOrigin(kOrigin1)); |
| 485 EXPECT_EQ(kResourceId2, metadata_store()->GetResourceIdForOrigin(kOrigin2)); | 567 EXPECT_EQ(kResourceId2, metadata_store()->GetResourceIdForOrigin(kOrigin2)); |
| 568 EXPECT_EQ(kResourceId3, metadata_store()->GetResourceIdForOrigin(kOrigin3)); |
| 486 | 569 |
| 487 DropDatabase(); | 570 DropDatabase(); |
| 488 InitializeDatabase(); | 571 InitializeDatabase(); |
| 489 | 572 |
| 490 EXPECT_EQ(kResourceId1, metadata_store()->GetResourceIdForOrigin(kOrigin1)); | 573 EXPECT_EQ(kResourceId1, metadata_store()->GetResourceIdForOrigin(kOrigin1)); |
| 491 EXPECT_EQ(kResourceId2, metadata_store()->GetResourceIdForOrigin(kOrigin2)); | 574 EXPECT_EQ(kResourceId2, metadata_store()->GetResourceIdForOrigin(kOrigin2)); |
| 575 EXPECT_EQ(kResourceId3, metadata_store()->GetResourceIdForOrigin(kOrigin3)); |
| 492 } | 576 } |
| 493 | 577 |
| 494 TEST_F(DriveMetadataStoreTest, MigrationFromV0) { | 578 TEST_F(DriveMetadataStoreTest, MigrationFromV0) { |
| 495 const GURL kOrigin1("chrome-extension://example1"); | 579 const GURL kOrigin1("chrome-extension://example1"); |
| 496 const GURL kOrigin2("chrome-extension://example2"); | 580 const GURL kOrigin2("chrome-extension://example2"); |
| 497 const std::string kSyncRootResourceId("sync_root_resource_id"); | 581 const std::string kSyncRootResourceId("sync_root_resource_id"); |
| 498 const std::string kResourceId1("hoge"); | 582 const std::string kResourceId1("hoge"); |
| 499 const std::string kResourceId2("fuga"); | 583 const std::string kResourceId2("fuga"); |
| 500 const std::string kFileResourceId("piyo"); | 584 const std::string kFileResourceId("piyo"); |
| 501 const base::FilePath kFile(FPL("foo bar")); | 585 const base::FilePath kFile(FPL("foo bar")); |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 560 metadata_store()->ReadEntry( | 644 metadata_store()->ReadEntry( |
| 561 CreateSyncableFileSystemURL(kOrigin1, kServiceName, kFile), | 645 CreateSyncableFileSystemURL(kOrigin1, kServiceName, kFile), |
| 562 &metadata)); | 646 &metadata)); |
| 563 EXPECT_EQ(kFileResourceId, metadata.resource_id()); | 647 EXPECT_EQ(kFileResourceId, metadata.resource_id()); |
| 564 EXPECT_EQ(kFileMD5, metadata.md5_checksum()); | 648 EXPECT_EQ(kFileMD5, metadata.md5_checksum()); |
| 565 EXPECT_FALSE(metadata.conflicted()); | 649 EXPECT_FALSE(metadata.conflicted()); |
| 566 EXPECT_FALSE(metadata.to_be_fetched()); | 650 EXPECT_FALSE(metadata.to_be_fetched()); |
| 567 } | 651 } |
| 568 | 652 |
| 569 } // namespace sync_file_system | 653 } // namespace sync_file_system |
| OLD | NEW |