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_sync_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_sync_origins().empty()); |
138 } | 140 } |
139 | 141 |
140 void RestoreSyncOriginsFromDB() { | 142 void RestoreSyncOriginsFromDB() { |
141 EXPECT_TRUE(ui_task_runner_->RunsTasksOnCurrentThread()); | 143 EXPECT_TRUE(ui_task_runner_->RunsTasksOnCurrentThread()); |
142 drive_metadata_store_->RestoreSyncOrigins( | 144 drive_metadata_store_->RestoreSyncOrigins( |
143 base::Bind(&DriveMetadataStoreTest::DidRestoreSyncOrigins, | 145 base::Bind(&DriveMetadataStoreTest::DidRestoreSyncOrigins, |
144 base::Unretained(this))); | 146 base::Unretained(this))); |
145 message_loop_.Run(); | 147 message_loop_.Run(); |
146 } | 148 } |
147 | 149 |
| 150 SyncStatusCode EnableOriginSync(const GURL& origin) { |
| 151 SyncStatusCode status = SYNC_STATUS_UNKNOWN; |
| 152 drive_metadata_store_->EnableOriginSync( |
| 153 origin, base::Bind(&DriveMetadataStoreTest::DidFinishDBTask, |
| 154 base::Unretained(this), &status)); |
| 155 message_loop_.Run(); |
| 156 return status; |
| 157 } |
| 158 |
| 159 SyncStatusCode DisableOriginSync(const GURL& origin) { |
| 160 SyncStatusCode status = SYNC_STATUS_UNKNOWN; |
| 161 drive_metadata_store_->DisableOriginSync( |
| 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()->IsDisabledSyncOrigin(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()->IsDisabledSyncOrigin(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()->IsDisabledSyncOrigin(origin)); |
| 237 EXPECT_EQ(resource_id, |
| 238 GetResourceID(metadata_store()->incremental_sync_origins(), |
| 239 origin)); |
| 240 } |
| 241 |
| 242 void VerifyDisabledSyncOrigin(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()->IsDisabledSyncOrigin(origin)); |
| 247 EXPECT_EQ(resource_id, |
| 248 GetResourceID(metadata_store()->disabled_sync_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_; |
(...skipping 118 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 DisableOriginSync(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 VerifyDisabledSyncOrigin(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 RestoreSyncOriginsFromDB(); |
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 VerifyDisabledSyncOrigin(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, DisableOriginSync) { |
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 DisableOriginSync(kOrigin1); |
| 468 DisableOriginSync(kOrigin2); |
| 469 VerifyDisabledSyncOrigin(kOrigin1, kResourceId1); |
| 470 VerifyDisabledSyncOrigin(kOrigin2, kResourceId2); |
| 471 |
| 472 EnableOriginSync(kOrigin1); |
| 473 EnableOriginSync(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_sync_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 DisableOriginSync(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 |