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

Side by Side Diff: chrome/browser/sync_file_system/drive_metadata_store_unittest.cc

Issue 12744008: SyncFS: store disabled origins in DriveMetadataStore (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 9 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 | Annotate | Revision Log
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 "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 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 drive_metadata_store_->RestoreSyncRootDirectory( 127 drive_metadata_store_->RestoreSyncRootDirectory(
128 base::Bind(&DriveMetadataStoreTest::DidRestoreSyncRootDirectory, 128 base::Bind(&DriveMetadataStoreTest::DidRestoreSyncRootDirectory,
129 base::Unretained(this))); 129 base::Unretained(this)));
130 message_loop_.Run(); 130 message_loop_.Run();
131 } 131 }
132 132
133 void DropSyncOriginsInStore() { 133 void DropSyncOriginsInStore() {
134 EXPECT_TRUE(ui_task_runner_->RunsTasksOnCurrentThread()); 134 EXPECT_TRUE(ui_task_runner_->RunsTasksOnCurrentThread());
135 drive_metadata_store_->batch_sync_origins_.clear(); 135 drive_metadata_store_->batch_sync_origins_.clear();
136 drive_metadata_store_->incremental_sync_origins_.clear(); 136 drive_metadata_store_->incremental_sync_origins_.clear();
137 drive_metadata_store_->disabled_origins_.clear();
137 EXPECT_TRUE(drive_metadata_store_->batch_sync_origins().empty()); 138 EXPECT_TRUE(drive_metadata_store_->batch_sync_origins().empty());
138 EXPECT_TRUE(drive_metadata_store_->incremental_sync_origins().empty()); 139 EXPECT_TRUE(drive_metadata_store_->incremental_sync_origins().empty());
140 EXPECT_TRUE(drive_metadata_store_->disabled_origins().empty());
139 } 141 }
140 142
141 void RestoreSyncOriginsFromDB() { 143 void RestoreOriginsFromDB() {
142 EXPECT_TRUE(ui_task_runner_->RunsTasksOnCurrentThread()); 144 EXPECT_TRUE(ui_task_runner_->RunsTasksOnCurrentThread());
143 drive_metadata_store_->RestoreSyncOrigins( 145 drive_metadata_store_->RestoreOrigins(
144 base::Bind(&DriveMetadataStoreTest::DidRestoreSyncOrigins, 146 base::Bind(&DriveMetadataStoreTest::DidRestoreOrigins,
145 base::Unretained(this))); 147 base::Unretained(this)));
146 message_loop_.Run(); 148 message_loop_.Run();
147 } 149 }
148 150
151 SyncStatusCode EnableOrigin(const GURL& origin) {
152 SyncStatusCode status = SYNC_STATUS_UNKNOWN;
153 drive_metadata_store_->EnableOrigin(
154 origin, base::Bind(&DriveMetadataStoreTest::DidFinishDBTask,
155 base::Unretained(this), &status));
156 message_loop_.Run();
157 return status;
158 }
159
160 SyncStatusCode DisableOrigin(const GURL& origin) {
161 SyncStatusCode status = SYNC_STATUS_UNKNOWN;
162 drive_metadata_store_->DisableOrigin(
163 origin, base::Bind(&DriveMetadataStoreTest::DidFinishDBTask,
164 base::Unretained(this), &status));
165 message_loop_.Run();
166 return status;
167 }
168
149 SyncStatusCode RemoveOrigin(const GURL& url) { 169 SyncStatusCode RemoveOrigin(const GURL& url) {
150 SyncStatusCode status = SYNC_STATUS_UNKNOWN; 170 SyncStatusCode status = SYNC_STATUS_UNKNOWN;
151 drive_metadata_store_->RemoveOrigin( 171 drive_metadata_store_->RemoveOrigin(
152 url, base::Bind(&DriveMetadataStoreTest::DidFinishDBTask, 172 url, base::Bind(&DriveMetadataStoreTest::DidFinishDBTask,
153 base::Unretained(this), &status)); 173 base::Unretained(this), &status));
154 message_loop_.Run(); 174 message_loop_.Run();
155 return status; 175 return status;
156 } 176 }
157 177
158 SyncStatusCode UpdateEntry(const fileapi::FileSystemURL& url, 178 SyncStatusCode UpdateEntry(const fileapi::FileSystemURL& url,
(...skipping 29 matching lines...) Expand all
188 void DidFinishDBTask(SyncStatusCode* status_out, 208 void DidFinishDBTask(SyncStatusCode* status_out,
189 SyncStatusCode status) { 209 SyncStatusCode status) {
190 *status_out = status; 210 *status_out = status;
191 message_loop_.Quit(); 211 message_loop_.Quit();
192 } 212 }
193 213
194 void MarkAsCreated() { 214 void MarkAsCreated() {
195 created_ = true; 215 created_ = true;
196 } 216 }
197 217
218 void VerifyUntrackedOrigin(const GURL& origin) {
219 EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(origin));
220 EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(origin));
221 EXPECT_FALSE(metadata_store()->IsOriginDisabled(origin));
222 }
223
224 void VerifyBatchSyncOrigin(const GURL& origin,
225 const std::string& resource_id) {
226 EXPECT_TRUE(metadata_store()->IsBatchSyncOrigin(origin));
227 EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(origin));
228 EXPECT_FALSE(metadata_store()->IsOriginDisabled(origin));
229 EXPECT_EQ(resource_id,
230 GetResourceID(metadata_store()->batch_sync_origins(), origin));
231 }
232
233 void VerifyIncrementalSyncOrigin(const GURL& origin,
234 const std::string& resource_id) {
235 EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(origin));
236 EXPECT_TRUE(metadata_store()->IsIncrementalSyncOrigin(origin));
237 EXPECT_FALSE(metadata_store()->IsOriginDisabled(origin));
238 EXPECT_EQ(resource_id,
239 GetResourceID(metadata_store()->incremental_sync_origins(),
240 origin));
241 }
242
243 void VerifyDisabledOrigin(const GURL& origin,
244 const std::string& resource_id) {
245 EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(origin));
246 EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(origin));
247 EXPECT_TRUE(metadata_store()->IsOriginDisabled(origin));
248 EXPECT_EQ(resource_id,
249 GetResourceID(metadata_store()->disabled_origins(), origin));
250 }
251
198 base::FilePath base_dir() { 252 base::FilePath base_dir() {
199 return base_dir_.path(); 253 return base_dir_.path();
200 } 254 }
201 255
202 DriveMetadataStore* metadata_store() { 256 DriveMetadataStore* metadata_store() {
203 return drive_metadata_store_.get(); 257 return drive_metadata_store_.get();
204 } 258 }
205 259
206 const DriveMetadataStore::MetadataMap& metadata_map() { 260 const DriveMetadataStore::MetadataMap& metadata_map() {
207 return drive_metadata_store_->metadata_map_; 261 return drive_metadata_store_->metadata_map_;
208 } 262 }
209 263
210 void VerifyReverseMap() { 264 void VerifyReverseMap() {
211 const ResourceIdByOrigin& batch_sync_origins = 265 const ResourceIdByOrigin& batch_sync_origins =
212 drive_metadata_store_->batch_sync_origins_; 266 drive_metadata_store_->batch_sync_origins_;
213 const ResourceIdByOrigin& incremental_sync_origins = 267 const ResourceIdByOrigin& incremental_sync_origins =
214 drive_metadata_store_->incremental_sync_origins_; 268 drive_metadata_store_->incremental_sync_origins_;
269 const ResourceIdByOrigin& disabled_origins =
270 drive_metadata_store_->disabled_origins_;
215 const OriginByResourceId& origin_by_resource_id = 271 const OriginByResourceId& origin_by_resource_id =
216 drive_metadata_store_->origin_by_resource_id_; 272 drive_metadata_store_->origin_by_resource_id_;
217 273
218 size_t expected_size = 274 size_t expected_size =
219 batch_sync_origins.size() + incremental_sync_origins.size(); 275 batch_sync_origins.size() + incremental_sync_origins.size() +
276 disabled_origins.size();
220 size_t actual_size = origin_by_resource_id.size(); 277 size_t actual_size = origin_by_resource_id.size();
221 EXPECT_EQ(expected_size, actual_size); 278 EXPECT_EQ(expected_size, actual_size);
222 EXPECT_TRUE(VerifyReverseMapInclusion(batch_sync_origins, 279 EXPECT_TRUE(VerifyReverseMapInclusion(batch_sync_origins,
223 origin_by_resource_id)); 280 origin_by_resource_id));
224 EXPECT_TRUE(VerifyReverseMapInclusion(incremental_sync_origins, 281 EXPECT_TRUE(VerifyReverseMapInclusion(incremental_sync_origins,
225 origin_by_resource_id)); 282 origin_by_resource_id));
283 EXPECT_TRUE(VerifyReverseMapInclusion(disabled_origins,
284 origin_by_resource_id));
226 } 285 }
227 286
228 private: 287 private:
229 void DidInitializeDatabase(bool* done_out, 288 void DidInitializeDatabase(bool* done_out,
230 SyncStatusCode* status_out, 289 SyncStatusCode* status_out,
231 bool* created_out, 290 bool* created_out,
232 SyncStatusCode status, 291 SyncStatusCode status,
233 bool created) { 292 bool created) {
234 *done_out = true; 293 *done_out = true;
235 *status_out = status; 294 *status_out = status;
236 *created_out = created; 295 *created_out = created;
237 message_loop_.Quit(); 296 message_loop_.Quit();
238 } 297 }
239 298
240 void DidRestoreSyncRootDirectory(SyncStatusCode status) { 299 void DidRestoreSyncRootDirectory(SyncStatusCode status) {
241 EXPECT_EQ(SYNC_STATUS_OK, status); 300 EXPECT_EQ(SYNC_STATUS_OK, status);
242 message_loop_.Quit(); 301 message_loop_.Quit();
243 } 302 }
244 303
245 void DidRestoreSyncOrigins(SyncStatusCode status) { 304 void DidRestoreOrigins(SyncStatusCode status) {
246 EXPECT_EQ(SYNC_STATUS_OK, status); 305 EXPECT_EQ(SYNC_STATUS_OK, status);
247 message_loop_.Quit(); 306 message_loop_.Quit();
248 } 307 }
249 308
250 bool VerifyReverseMapInclusion(const ResourceIdByOrigin& left, 309 bool VerifyReverseMapInclusion(const ResourceIdByOrigin& left,
251 const OriginByResourceId& right) { 310 const OriginByResourceId& right) {
252 for (ResourceIdByOrigin::const_iterator itr = left.begin(); 311 for (ResourceIdByOrigin::const_iterator itr = left.begin();
253 itr != left.end(); ++itr) { 312 itr != left.end(); ++itr) {
254 OriginByResourceId::const_iterator found = right.find(itr->second); 313 OriginByResourceId::const_iterator found = right.find(itr->second);
255 if (found == right.end() || found->second != itr->first) 314 if (found == right.end() || found->second != itr->first)
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 EXPECT_EQ(SYNC_STATUS_OK, 420 EXPECT_EQ(SYNC_STATUS_OK,
362 metadata_store()->GetToBeFetchedFiles(&list)); 421 metadata_store()->GetToBeFetchedFiles(&list));
363 EXPECT_EQ(2U, list.size()); 422 EXPECT_EQ(2U, list.size());
364 EXPECT_EQ(list[0].first, URL(path2)); 423 EXPECT_EQ(list[0].first, URL(path2));
365 EXPECT_EQ(list[1].first, URL(path3)); 424 EXPECT_EQ(list[1].first, URL(path3));
366 425
367 VerifyReverseMap(); 426 VerifyReverseMap();
368 } 427 }
369 428
370 TEST_F(DriveMetadataStoreTest, StoreSyncRootDirectory) { 429 TEST_F(DriveMetadataStoreTest, StoreSyncRootDirectory) {
371 const std::string kResourceID("hoge"); 430 const std::string kResourceId("hoge");
372 431
373 InitializeDatabase(); 432 InitializeDatabase();
374 433
375 EXPECT_TRUE(metadata_store()->sync_root_directory().empty()); 434 EXPECT_TRUE(metadata_store()->sync_root_directory().empty());
376 435
377 metadata_store()->SetSyncRootDirectory(kResourceID); 436 metadata_store()->SetSyncRootDirectory(kResourceId);
378 EXPECT_EQ(kResourceID, metadata_store()->sync_root_directory()); 437 EXPECT_EQ(kResourceId, metadata_store()->sync_root_directory());
379 438
380 DropSyncRootDirectoryInStore(); 439 DropSyncRootDirectoryInStore();
381 EXPECT_TRUE(metadata_store()->sync_root_directory().empty()); 440 EXPECT_TRUE(metadata_store()->sync_root_directory().empty());
382 441
383 RestoreSyncRootDirectoryFromDB(); 442 RestoreSyncRootDirectoryFromDB();
384 EXPECT_EQ(kResourceID, metadata_store()->sync_root_directory()); 443 EXPECT_EQ(kResourceId, metadata_store()->sync_root_directory());
385 444
386 VerifyReverseMap(); 445 VerifyReverseMap();
387 } 446 }
388 447
389 TEST_F(DriveMetadataStoreTest, StoreSyncOrigin) { 448 TEST_F(DriveMetadataStoreTest, StoreSyncOrigin) {
390 const GURL kOrigin1("chrome-extension://example1"); 449 const GURL kOrigin1("chrome-extension://example1");
391 const GURL kOrigin2("chrome-extension://example2"); 450 const GURL kOrigin2("chrome-extension://example2");
392 const std::string kResourceID1("hoge"); 451 const GURL kOrigin3("chrome-extension://example3");
393 const std::string kResourceID2("fuga"); 452 const std::string kResourceId1("hoge");
453 const std::string kResourceId2("fuga");
454 const std::string kResourceId3("foo");
394 455
395 InitializeDatabase(); 456 InitializeDatabase();
396 457
397 // Make sure origins have not been marked yet. 458 // Make sure origins have not been marked yet.
398 EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(kOrigin1)); 459 VerifyUntrackedOrigin(kOrigin1);
399 EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(kOrigin2)); 460 VerifyUntrackedOrigin(kOrigin2);
400 EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(kOrigin1)); 461 VerifyUntrackedOrigin(kOrigin3);
401 EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(kOrigin2));
402 462
403 // Mark origins as batch sync origins. 463 // Mark origins as batch sync origins.
404 metadata_store()->AddBatchSyncOrigin(kOrigin1, kResourceID1); 464 metadata_store()->AddBatchSyncOrigin(kOrigin1, kResourceId1);
405 metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceID2); 465 metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceId2);
406 EXPECT_TRUE(metadata_store()->IsBatchSyncOrigin(kOrigin1)); 466 metadata_store()->AddBatchSyncOrigin(kOrigin3, kResourceId3);
407 EXPECT_TRUE(metadata_store()->IsBatchSyncOrigin(kOrigin2)); 467 VerifyBatchSyncOrigin(kOrigin1, kResourceId1);
408 EXPECT_EQ(kResourceID1, 468 VerifyBatchSyncOrigin(kOrigin2, kResourceId2);
409 GetResourceID(metadata_store()->batch_sync_origins(), kOrigin1)); 469 VerifyBatchSyncOrigin(kOrigin3, kResourceId3);
410 EXPECT_EQ(kResourceID2,
411 GetResourceID(metadata_store()->batch_sync_origins(), kOrigin2));
412 470
413 // Mark |kOrigin1| as an incremental sync origin. |kOrigin2| should have still 471 // Mark |kOrigin1| as an incremental sync origin, and disable |kOrigin3| as
414 // been marked as a batch sync origin. 472 // a disabled sync origin. |kOrigin2| should have still been marked as a
473 // batch sync origin.
415 metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin1); 474 metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin1);
416 EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(kOrigin1)); 475 DisableOrigin(kOrigin3);
417 EXPECT_TRUE(metadata_store()->IsBatchSyncOrigin(kOrigin2)); 476 VerifyIncrementalSyncOrigin(kOrigin1, kResourceId1);
418 EXPECT_TRUE(metadata_store()->IsIncrementalSyncOrigin(kOrigin1)); 477 VerifyBatchSyncOrigin(kOrigin2, kResourceId2);
419 EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(kOrigin2)); 478 VerifyDisabledOrigin(kOrigin3, kResourceId3);
420 EXPECT_EQ(kResourceID1,
421 GetResourceID(metadata_store()->incremental_sync_origins(),
422 kOrigin1));
423 EXPECT_EQ(kResourceID2,
424 GetResourceID(metadata_store()->batch_sync_origins(), kOrigin2));
425 479
426 DropSyncOriginsInStore(); 480 DropSyncOriginsInStore();
427 481
428 // Make sure origins have been dropped. 482 // Make sure origins have been dropped.
429 EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(kOrigin1)); 483 VerifyUntrackedOrigin(kOrigin1);
430 EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(kOrigin2)); 484 VerifyUntrackedOrigin(kOrigin2);
431 EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(kOrigin1)); 485 VerifyUntrackedOrigin(kOrigin3);
432 EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(kOrigin2));
433 486
434 RestoreSyncOriginsFromDB(); 487 RestoreOriginsFromDB();
435 488
436 // Make sure origins have been restored. 489 // Make sure origins have been restored.
437 EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(kOrigin1)); 490 VerifyIncrementalSyncOrigin(kOrigin1, kResourceId1);
438 EXPECT_TRUE(metadata_store()->IsBatchSyncOrigin(kOrigin2)); 491 VerifyBatchSyncOrigin(kOrigin2, kResourceId2);
439 EXPECT_TRUE(metadata_store()->IsIncrementalSyncOrigin(kOrigin1)); 492 VerifyDisabledOrigin(kOrigin3, kResourceId3);
440 EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(kOrigin2));
441 EXPECT_EQ(kResourceID1,
442 GetResourceID(metadata_store()->incremental_sync_origins(),
443 kOrigin1));
444 EXPECT_EQ(kResourceID2,
445 GetResourceID(metadata_store()->batch_sync_origins(), kOrigin2));
446 493
447 VerifyReverseMap(); 494 VerifyReverseMap();
448 } 495 }
449 496
497 TEST_F(DriveMetadataStoreTest, DisableOrigin) {
498 const GURL kOrigin1("chrome-extension://example1");
499 const GURL kOrigin2("chrome-extension://example2");
500 const std::string kResourceId1("hoge");
501 const std::string kResourceId2("fuga");
502
503 InitializeDatabase();
504 EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1));
505
506 metadata_store()->AddBatchSyncOrigin(kOrigin1, kResourceId1);
507 metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceId2);
508 metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin2);
509 VerifyBatchSyncOrigin(kOrigin1, kResourceId1);
510 VerifyIncrementalSyncOrigin(kOrigin2, kResourceId2);
511
512 DisableOrigin(kOrigin1);
513 DisableOrigin(kOrigin2);
514 VerifyDisabledOrigin(kOrigin1, kResourceId1);
515 VerifyDisabledOrigin(kOrigin2, kResourceId2);
516
517 EnableOrigin(kOrigin1);
518 EnableOrigin(kOrigin2);
519 VerifyBatchSyncOrigin(kOrigin1, kResourceId1);
520 VerifyBatchSyncOrigin(kOrigin2, kResourceId2);
521 }
522
450 TEST_F(DriveMetadataStoreTest, RemoveOrigin) { 523 TEST_F(DriveMetadataStoreTest, RemoveOrigin) {
451 const GURL kOrigin1("chrome-extension://example1"); 524 const GURL kOrigin1("chrome-extension://example1");
452 const GURL kOrigin2("chrome-extension://example2"); 525 const GURL kOrigin2("chrome-extension://example2");
453 const GURL kOrigin3("chrome-extension://example3"); 526 const GURL kOrigin3("chrome-extension://example3");
454 const GURL kOrigin4("chrome-extension://example4"); 527 const GURL kOrigin4("chrome-extension://example4");
528 const GURL kOrigin5("chrome-extension://example5");
455 const std::string kResourceId1("hogera"); 529 const std::string kResourceId1("hogera");
456 const std::string kResourceId2("fugaga"); 530 const std::string kResourceId2("fugaga");
457 const std::string kResourceId3("piyopiyo"); 531 const std::string kResourceId3("piyopiyo");
532 const std::string kResourceId5("hogehoge");
458 533
459 InitializeDatabase(); 534 InitializeDatabase();
460 EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1)); 535 EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1));
461 536
462 metadata_store()->AddBatchSyncOrigin(kOrigin1, kResourceId1); 537 metadata_store()->AddBatchSyncOrigin(kOrigin1, kResourceId1);
463 metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceId2); 538 metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceId2);
464 metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin2); 539 metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin2);
465 metadata_store()->AddBatchSyncOrigin(kOrigin3, kResourceId3); 540 metadata_store()->AddBatchSyncOrigin(kOrigin3, kResourceId3);
541 metadata_store()->AddBatchSyncOrigin(kOrigin5, kResourceId5);
466 542
467 EXPECT_EQ(SYNC_STATUS_OK, 543 EXPECT_EQ(SYNC_STATUS_OK,
468 UpdateEntry( 544 UpdateEntry(
469 CreateSyncableFileSystemURL( 545 CreateSyncableFileSystemURL(
470 kOrigin1, kServiceName, base::FilePath(FPL("guf"))), 546 kOrigin1, kServiceName, base::FilePath(FPL("guf"))),
471 CreateMetadata("foo", "spam", false, false))); 547 CreateMetadata("foo", "spam", false, false)));
472 EXPECT_EQ(SYNC_STATUS_OK, 548 EXPECT_EQ(SYNC_STATUS_OK,
473 UpdateEntry( 549 UpdateEntry(
474 CreateSyncableFileSystemURL( 550 CreateSyncableFileSystemURL(
475 kOrigin2, kServiceName, base::FilePath(FPL("mof"))), 551 kOrigin2, kServiceName, base::FilePath(FPL("mof"))),
476 CreateMetadata("bar", "ham", false, false))); 552 CreateMetadata("bar", "ham", false, false)));
477 EXPECT_EQ(SYNC_STATUS_OK, 553 EXPECT_EQ(SYNC_STATUS_OK,
478 UpdateEntry( 554 UpdateEntry(
479 CreateSyncableFileSystemURL( 555 CreateSyncableFileSystemURL(
480 kOrigin3, kServiceName, base::FilePath(FPL("waf"))), 556 kOrigin3, kServiceName, base::FilePath(FPL("waf"))),
481 CreateMetadata("baz", "egg", false, false))); 557 CreateMetadata("baz", "egg", false, false)));
482 EXPECT_EQ(SYNC_STATUS_OK, 558 EXPECT_EQ(SYNC_STATUS_OK,
483 UpdateEntry( 559 UpdateEntry(
484 CreateSyncableFileSystemURL( 560 CreateSyncableFileSystemURL(
485 kOrigin4, kServiceName, base::FilePath(FPL("cue"))), 561 kOrigin4, kServiceName, base::FilePath(FPL("cue"))),
486 CreateMetadata("lat", "fork", false, false))); 562 CreateMetadata("lat", "fork", false, false)));
487 EXPECT_EQ(SYNC_STATUS_OK, 563 EXPECT_EQ(SYNC_STATUS_OK,
488 UpdateEntry( 564 UpdateEntry(
489 CreateSyncableFileSystemURL( 565 CreateSyncableFileSystemURL(
566 kOrigin5, kServiceName, base::FilePath(FPL("tac"))),
567 CreateMetadata("pov", "spoon", false, false)));
568 EXPECT_EQ(SYNC_STATUS_OK,
569 UpdateEntry(
570 CreateSyncableFileSystemURL(
490 kOrigin1, kServiceName, base::FilePath(FPL("tic"))), 571 kOrigin1, kServiceName, base::FilePath(FPL("tic"))),
491 CreateMetadata("zav", "sause", false, false))); 572 CreateMetadata("zav", "sause", false, false)));
492 573
493 EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin1)); 574 EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin1));
494 EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin2)); 575 EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin2));
495 EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin4)); 576 EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin4));
577 EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin5));
496 578
497 DropDatabase(); 579 DropDatabase();
498 InitializeDatabase(); 580 InitializeDatabase();
499 581
500 // kOrigin3 should be only remaining batch sync origin. 582 // kOrigin3 should be only remaining batch sync origin.
501 EXPECT_EQ(1u, metadata_store()->batch_sync_origins().size()); 583 EXPECT_EQ(1u, metadata_store()->batch_sync_origins().size());
502 EXPECT_TRUE(metadata_store()->IsBatchSyncOrigin(kOrigin3)); 584 EXPECT_TRUE(metadata_store()->IsBatchSyncOrigin(kOrigin3));
503 EXPECT_TRUE(metadata_store()->incremental_sync_origins().empty()); 585 EXPECT_TRUE(metadata_store()->incremental_sync_origins().empty());
586 EXPECT_TRUE(metadata_store()->disabled_origins().empty());
504 EXPECT_EQ(1u, metadata_map().size()); 587 EXPECT_EQ(1u, metadata_map().size());
505 588
506 DriveMetadataStore::MetadataMap::const_iterator found = 589 DriveMetadataStore::MetadataMap::const_iterator found =
507 metadata_map().find(kOrigin3); 590 metadata_map().find(kOrigin3);
508 EXPECT_TRUE(found != metadata_map().end() && found->second.size() == 1u); 591 EXPECT_TRUE(found != metadata_map().end() && found->second.size() == 1u);
509 592
510 VerifyReverseMap(); 593 VerifyReverseMap();
511 } 594 }
512 595
513 TEST_F(DriveMetadataStoreTest, GetResourceIdForOrigin) { 596 TEST_F(DriveMetadataStoreTest, GetResourceIdForOrigin) {
514 const GURL kOrigin1("chrome-extension://example1"); 597 const GURL kOrigin1("chrome-extension://example1");
515 const GURL kOrigin2("chrome-extension://example2"); 598 const GURL kOrigin2("chrome-extension://example2");
599 const GURL kOrigin3("chrome-extension://example3");
516 const std::string kResourceId1("hogera"); 600 const std::string kResourceId1("hogera");
517 const std::string kResourceId2("fugaga"); 601 const std::string kResourceId2("fugaga");
602 const std::string kResourceId3("piyopiyo");
518 603
519 InitializeDatabase(); 604 InitializeDatabase();
520 EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1)); 605 EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1));
521 606
522 metadata_store()->AddBatchSyncOrigin(kOrigin1, kResourceId1); 607 metadata_store()->AddBatchSyncOrigin(kOrigin1, kResourceId1);
523 metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceId2); 608 metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceId2);
524 metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin2); 609 metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin2);
610 metadata_store()->AddBatchSyncOrigin(kOrigin3, kResourceId3);
611 DisableOrigin(kOrigin3);
525 612
526 EXPECT_EQ(kResourceId1, metadata_store()->GetResourceIdForOrigin(kOrigin1)); 613 EXPECT_EQ(kResourceId1, metadata_store()->GetResourceIdForOrigin(kOrigin1));
527 EXPECT_EQ(kResourceId2, metadata_store()->GetResourceIdForOrigin(kOrigin2)); 614 EXPECT_EQ(kResourceId2, metadata_store()->GetResourceIdForOrigin(kOrigin2));
615 EXPECT_EQ(kResourceId3, metadata_store()->GetResourceIdForOrigin(kOrigin3));
528 616
529 DropDatabase(); 617 DropDatabase();
530 InitializeDatabase(); 618 InitializeDatabase();
531 619
532 EXPECT_EQ(kResourceId1, metadata_store()->GetResourceIdForOrigin(kOrigin1)); 620 EXPECT_EQ(kResourceId1, metadata_store()->GetResourceIdForOrigin(kOrigin1));
533 EXPECT_EQ(kResourceId2, metadata_store()->GetResourceIdForOrigin(kOrigin2)); 621 EXPECT_EQ(kResourceId2, metadata_store()->GetResourceIdForOrigin(kOrigin2));
622 EXPECT_EQ(kResourceId3, metadata_store()->GetResourceIdForOrigin(kOrigin3));
534 623
535 VerifyReverseMap(); 624 VerifyReverseMap();
536 } 625 }
537 626
538 TEST_F(DriveMetadataStoreTest, MigrationFromV0) { 627 TEST_F(DriveMetadataStoreTest, MigrationFromV0) {
539 const GURL kOrigin1("chrome-extension://example1"); 628 const GURL kOrigin1("chrome-extension://example1");
540 const GURL kOrigin2("chrome-extension://example2"); 629 const GURL kOrigin2("chrome-extension://example2");
541 const std::string kSyncRootResourceId("sync_root_resource_id"); 630 const std::string kSyncRootResourceId("sync_root_resource_id");
542 const std::string kResourceId1("hoge"); 631 const std::string kResourceId1("hoge");
543 const std::string kResourceId2("fuga"); 632 const std::string kResourceId2("fuga");
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
606 &metadata)); 695 &metadata));
607 EXPECT_EQ(kFileResourceId, metadata.resource_id()); 696 EXPECT_EQ(kFileResourceId, metadata.resource_id());
608 EXPECT_EQ(kFileMD5, metadata.md5_checksum()); 697 EXPECT_EQ(kFileMD5, metadata.md5_checksum());
609 EXPECT_FALSE(metadata.conflicted()); 698 EXPECT_FALSE(metadata.conflicted());
610 EXPECT_FALSE(metadata.to_be_fetched()); 699 EXPECT_FALSE(metadata.to_be_fetched());
611 700
612 VerifyReverseMap(); 701 VerifyReverseMap();
613 } 702 }
614 703
615 } // namespace sync_file_system 704 } // namespace sync_file_system
OLDNEW
« no previous file with comments | « chrome/browser/sync_file_system/drive_metadata_store.cc ('k') | chrome/browser/sync_file_system/local_file_sync_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698