| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_backend/metadata_database.h" | 5 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/files/scoped_temp_dir.h" | 8 #include "base/files/scoped_temp_dir.h" |
| 9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
| 10 #include "base/message_loop/message_loop_proxy.h" | 10 #include "base/message_loop/message_loop_proxy.h" |
| 11 #include "base/strings/string_number_conversions.h" | 11 #include "base/strings/string_number_conversions.h" |
| 12 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_constants.
h" | 12 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_constants.
h" |
| 13 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_test_util.
h" | 13 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_test_util.
h" |
| 14 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_util.h" | 14 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_util.h" |
| 15 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.pb.h" | 15 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.pb.h" |
| 16 #include "chrome/browser/sync_file_system/drive_backend/metadata_database_index.
h" |
| 16 #include "chrome/browser/sync_file_system/sync_file_system_test_util.h" | 17 #include "chrome/browser/sync_file_system/sync_file_system_test_util.h" |
| 17 #include "google_apis/drive/drive_api_parser.h" | 18 #include "google_apis/drive/drive_api_parser.h" |
| 18 #include "testing/gtest/include/gtest/gtest.h" | 19 #include "testing/gtest/include/gtest/gtest.h" |
| 19 #include "third_party/leveldatabase/src/helpers/memenv/memenv.h" | 20 #include "third_party/leveldatabase/src/helpers/memenv/memenv.h" |
| 20 #include "third_party/leveldatabase/src/include/leveldb/db.h" | 21 #include "third_party/leveldatabase/src/include/leveldb/db.h" |
| 21 #include "third_party/leveldatabase/src/include/leveldb/env.h" | 22 #include "third_party/leveldatabase/src/include/leveldb/env.h" |
| 22 #include "third_party/leveldatabase/src/include/leveldb/write_batch.h" | 23 #include "third_party/leveldatabase/src/include/leveldb/write_batch.h" |
| 23 | 24 |
| 24 #define FPL(a) FILE_PATH_LITERAL(a) | 25 #define FPL(a) FILE_PATH_LITERAL(a) |
| 25 | 26 |
| (...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 461 } | 462 } |
| 462 | 463 |
| 463 void VerifyReloadConsistency() { | 464 void VerifyReloadConsistency() { |
| 464 scoped_ptr<MetadataDatabase> metadata_database_2; | 465 scoped_ptr<MetadataDatabase> metadata_database_2; |
| 465 ASSERT_EQ(SYNC_STATUS_OK, | 466 ASSERT_EQ(SYNC_STATUS_OK, |
| 466 MetadataDatabase::CreateForTesting( | 467 MetadataDatabase::CreateForTesting( |
| 467 metadata_database_->db_.Pass(), | 468 metadata_database_->db_.Pass(), |
| 468 &metadata_database_2)); | 469 &metadata_database_2)); |
| 469 metadata_database_->db_ = metadata_database_2->db_.Pass(); | 470 metadata_database_->db_ = metadata_database_2->db_.Pass(); |
| 470 | 471 |
| 472 const MetadataDatabaseIndex* on_memory = |
| 473 metadata_database_->index_.get(); |
| 474 const MetadataDatabaseIndex* reloaded = |
| 475 metadata_database_2->index_.get(); |
| 476 |
| 471 { | 477 { |
| 472 SCOPED_TRACE("Expect equivalent service_metadata"); | 478 SCOPED_TRACE("Expect equivalent service_metadata"); |
| 473 ExpectEquivalent(metadata_database_->service_metadata_.get(), | 479 ExpectEquivalent(metadata_database_->service_metadata_.get(), |
| 474 metadata_database_2->service_metadata_.get()); | 480 metadata_database_2->service_metadata_.get()); |
| 475 } | 481 } |
| 476 | 482 |
| 477 { | 483 { |
| 478 SCOPED_TRACE("Expect equivalent file_by_id_ contents."); | 484 SCOPED_TRACE("Expect equivalent metadata_by_id_ contents."); |
| 479 ExpectEquivalent(metadata_database_->metadata_by_id_, | 485 ExpectEquivalent(on_memory->metadata_by_id_, |
| 480 metadata_database_2->metadata_by_id_); | 486 reloaded->metadata_by_id_); |
| 481 } | 487 } |
| 482 | 488 |
| 483 { | 489 { |
| 484 SCOPED_TRACE("Expect equivalent tracker_by_id_ contents."); | 490 SCOPED_TRACE("Expect equivalent tracker_by_id_ contents."); |
| 485 ExpectEquivalent(metadata_database_->tracker_by_id_, | 491 ExpectEquivalent(on_memory->tracker_by_id_, |
| 486 metadata_database_2->tracker_by_id_); | 492 reloaded->tracker_by_id_); |
| 487 } | 493 } |
| 488 | 494 |
| 489 { | 495 { |
| 490 SCOPED_TRACE("Expect equivalent trackers_by_file_id_ contents."); | 496 SCOPED_TRACE("Expect equivalent trackers_by_file_id_ contents."); |
| 491 ExpectEquivalent(metadata_database_->trackers_by_file_id_, | 497 ExpectEquivalent(on_memory->trackers_by_file_id_, |
| 492 metadata_database_2->trackers_by_file_id_); | 498 reloaded->trackers_by_file_id_); |
| 493 } | 499 } |
| 494 | 500 |
| 495 { | 501 { |
| 496 SCOPED_TRACE("Expect equivalent app_root_by_app_id_ contents."); | 502 SCOPED_TRACE("Expect equivalent app_root_by_app_id_ contents."); |
| 497 ExpectEquivalent(metadata_database_->app_root_by_app_id_, | 503 ExpectEquivalent(on_memory->app_root_by_app_id_, |
| 498 metadata_database_2->app_root_by_app_id_); | 504 reloaded->app_root_by_app_id_); |
| 499 } | 505 } |
| 500 | 506 |
| 501 { | 507 { |
| 502 SCOPED_TRACE("Expect equivalent trackers_by_parent_and_title_ contents."); | 508 SCOPED_TRACE("Expect equivalent trackers_by_parent_and_title_ contents."); |
| 503 ExpectEquivalent(metadata_database_->trackers_by_parent_and_title_, | 509 ExpectEquivalent(on_memory->trackers_by_parent_and_title_, |
| 504 metadata_database_2->trackers_by_parent_and_title_); | 510 reloaded->trackers_by_parent_and_title_); |
| 505 } | 511 } |
| 506 | 512 |
| 507 { | 513 { |
| 508 SCOPED_TRACE("Expect equivalent dirty_trackers_ contents."); | 514 SCOPED_TRACE("Expect equivalent dirty_trackers_ contents."); |
| 509 ExpectEquivalent(metadata_database_->dirty_trackers_, | 515 ExpectEquivalent(on_memory->dirty_trackers_, |
| 510 metadata_database_2->dirty_trackers_); | 516 reloaded->dirty_trackers_); |
| 511 } | 517 } |
| 512 } | 518 } |
| 513 | 519 |
| 514 void VerifyFile(const FileMetadata& file) { | 520 void VerifyFile(const FileMetadata& file) { |
| 515 FileMetadata file_in_metadata_database; | 521 FileMetadata file_in_metadata_database; |
| 516 ASSERT_TRUE(metadata_database()->FindFileByFileID( | 522 ASSERT_TRUE(metadata_database()->FindFileByFileID( |
| 517 file.file_id(), &file_in_metadata_database)); | 523 file.file_id(), &file_in_metadata_database)); |
| 518 | 524 |
| 519 SCOPED_TRACE("Expect equivalent " + file.file_id()); | 525 SCOPED_TRACE("Expect equivalent " + file.file_id()); |
| 520 ExpectEquivalent(&file, &file_in_metadata_database); | 526 ExpectEquivalent(&file, &file_in_metadata_database); |
| (...skipping 630 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1151 EXPECT_TRUE(file->HasKey("details")); | 1157 EXPECT_TRUE(file->HasKey("details")); |
| 1152 | 1158 |
| 1153 ASSERT_TRUE(files->GetDictionary(1, &file)); | 1159 ASSERT_TRUE(files->GetDictionary(1, &file)); |
| 1154 EXPECT_TRUE(file->GetString("title", &str) && str == "file_0"); | 1160 EXPECT_TRUE(file->GetString("title", &str) && str == "file_0"); |
| 1155 EXPECT_TRUE(file->GetString("type", &str) && str == "file"); | 1161 EXPECT_TRUE(file->GetString("type", &str) && str == "file"); |
| 1156 EXPECT_TRUE(file->HasKey("details")); | 1162 EXPECT_TRUE(file->HasKey("details")); |
| 1157 } | 1163 } |
| 1158 | 1164 |
| 1159 } // namespace drive_backend | 1165 } // namespace drive_backend |
| 1160 } // namespace sync_file_system | 1166 } // namespace sync_file_system |
| OLD | NEW |