Chromium Code Reviews| Index: chrome/browser/sync_file_system/drive_metadata_store_unittest.cc |
| diff --git a/chrome/browser/sync_file_system/drive_metadata_store_unittest.cc b/chrome/browser/sync_file_system/drive_metadata_store_unittest.cc |
| index c7259c25aca58dd9bc9215904163b18b3dc379d1..5dd237ba12018a3998b00f3f59e140b129e5e9df 100644 |
| --- a/chrome/browser/sync_file_system/drive_metadata_store_unittest.cc |
| +++ b/chrome/browser/sync_file_system/drive_metadata_store_unittest.cc |
| @@ -335,7 +335,7 @@ TEST_F(DriveMetadataStoreTest, ReadWriteTest) { |
| EXPECT_EQ(SYNC_DATABASE_ERROR_NOT_FOUND, |
| metadata_store()->ReadEntry(url, &metadata)); |
| - metadata = CreateMetadata("1234567890", "09876543210", true, false); |
| + metadata = CreateMetadata("file:1234567890", "09876543210", true, false); |
| EXPECT_EQ(SYNC_STATUS_OK, UpdateEntry(url, metadata)); |
| EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1)); |
| @@ -418,7 +418,7 @@ TEST_F(DriveMetadataStoreTest, GetToBeFetchedFilessTest) { |
| } |
| TEST_F(DriveMetadataStoreTest, StoreSyncRootDirectory) { |
| - const std::string kResourceId("hoge"); |
| + const std::string kResourceId("folder:hoge"); |
| InitializeDatabase(); |
| @@ -439,8 +439,8 @@ TEST_F(DriveMetadataStoreTest, StoreSyncRootDirectory) { |
| TEST_F(DriveMetadataStoreTest, StoreSyncOrigin) { |
| const GURL kOrigin1("chrome-extension://example1"); |
| const GURL kOrigin2("chrome-extension://example2"); |
| - const std::string kResourceId1("hoge"); |
| - const std::string kResourceId2("fuga"); |
| + const std::string kResourceId1("folder:hoge"); |
| + const std::string kResourceId2("folder:fuga"); |
| InitializeDatabase(); |
| @@ -551,9 +551,9 @@ TEST_F(DriveMetadataStoreTest, GetResourceIdForOrigin) { |
| const GURL kOrigin1("chrome-extension://example1"); |
| const GURL kOrigin2("chrome-extension://example2"); |
| const GURL kOrigin3("chrome-extension://example3"); |
| - const std::string kResourceId1("hogera"); |
| - const std::string kResourceId2("fugaga"); |
| - const std::string kResourceId3("piyopiyo"); |
| + const std::string kResourceId1("folder:hogera"); |
| + const std::string kResourceId2("folder:fugaga"); |
| + const std::string kResourceId3("folder:piyopiyo"); |
| InitializeDatabase(); |
| EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1)); |
| @@ -594,10 +594,87 @@ TEST_F(DriveMetadataStoreTest, GetResourceIdForOrigin) { |
| TEST_F(DriveMetadataStoreTest, MigrationFromV0) { |
| const GURL kOrigin1("chrome-extension://example1"); |
| const GURL kOrigin2("chrome-extension://example2"); |
| - const std::string kSyncRootResourceId("sync_root_resource_id"); |
| - const std::string kResourceId1("hoge"); |
| - const std::string kResourceId2("fuga"); |
| - const std::string kFileResourceId("piyo"); |
| + const std::string kSyncRootResourceId("folder:sync_root_resource_id"); |
| + const std::string kResourceId1("folder:hoge"); |
| + const std::string kResourceId2("folder:fuga"); |
| + const std::string kFileResourceId("file:piyo"); |
| + const base::FilePath kFile(FPL("foo bar")); |
| + const std::string kFileMD5("file_md5"); |
| + |
| + { |
|
nhiroki
2013/05/27 09:17:56
Sorry, I uploaded wrong commit. This migration tes
|
| + const char kChangeStampKey[] = "CHANGE_STAMP"; |
| + const char kSyncRootDirectoryKey[] = "SYNC_ROOT_DIR"; |
| + const char kDriveMetadataKeyPrefix[] = "METADATA: "; |
| + const char kDriveBatchSyncOriginKeyPrefix[] = "BSYNC_ORIGIN: "; |
| + const char kDriveIncrementalSyncOriginKeyPrefix[] = "ISYNC_ORIGIN: "; |
| + |
| + const char kV0ServiceName[] = "drive"; |
| + ASSERT_TRUE(RegisterSyncableFileSystem(kV0ServiceName)); |
| + leveldb::Options options; |
| + options.create_if_missing = true; |
| + leveldb::DB* db_ptr = NULL; |
| + std::string db_dir = fileapi::FilePathToString( |
| + base_dir().Append(DriveMetadataStore::kDatabaseName)); |
| + leveldb::Status status = leveldb::DB::Open(options, db_dir, &db_ptr); |
| + |
| + scoped_ptr<leveldb::DB> db(db_ptr); |
| + ASSERT_TRUE(status.ok()); |
| + |
| + leveldb::WriteOptions write_options; |
| + db->Put(write_options, kChangeStampKey, "1"); |
| + db->Put(write_options, kSyncRootDirectoryKey, kSyncRootResourceId); |
| + |
| + DriveMetadata drive_metadata; |
| + drive_metadata.set_resource_id(kFileResourceId); |
| + drive_metadata.set_md5_checksum(kFileMD5); |
| + drive_metadata.set_conflicted(false); |
| + drive_metadata.set_to_be_fetched(false); |
| + |
| + fileapi::FileSystemURL url = CreateSyncableFileSystemURL( |
| + kOrigin1, kV0ServiceName, kFile); |
| + std::string serialized_url; |
| + SerializeSyncableFileSystemURL(url, &serialized_url); |
| + std::string metadata_string; |
| + drive_metadata.SerializeToString(&metadata_string); |
| + |
| + db->Put(write_options, |
| + kDriveMetadataKeyPrefix + serialized_url, metadata_string); |
| + db->Put(write_options, |
| + kDriveBatchSyncOriginKeyPrefix + kOrigin1.spec(), kResourceId1); |
| + db->Put(write_options, |
| + kDriveIncrementalSyncOriginKeyPrefix + kOrigin2.spec(), |
| + kResourceId2); |
| + EXPECT_TRUE(RevokeSyncableFileSystem(kV0ServiceName)); |
| + MarkAsCreated(); |
| + } |
| + |
| + InitializeDatabase(); |
| + |
| + EXPECT_EQ(1, metadata_store()->GetLargestChangeStamp()); |
| + EXPECT_EQ(kSyncRootResourceId, metadata_store()->sync_root_directory()); |
| + EXPECT_EQ(kResourceId1, metadata_store()->GetResourceIdForOrigin(kOrigin1)); |
| + EXPECT_EQ(kResourceId2, metadata_store()->GetResourceIdForOrigin(kOrigin2)); |
| + |
| + DriveMetadata metadata; |
| + EXPECT_EQ(SYNC_STATUS_OK, |
| + metadata_store()->ReadEntry( |
| + CreateSyncableFileSystemURL(kOrigin1, kServiceName, kFile), |
| + &metadata)); |
| + EXPECT_EQ(kFileResourceId, metadata.resource_id()); |
| + EXPECT_EQ(kFileMD5, metadata.md5_checksum()); |
| + EXPECT_FALSE(metadata.conflicted()); |
| + EXPECT_FALSE(metadata.to_be_fetched()); |
| + |
| + VerifyReverseMap(); |
| +} |
| + |
| +TEST_F(DriveMetadataStoreTest, MigrationFromV1) { |
| + const GURL kOrigin1("chrome-extension://example1"); |
| + const GURL kOrigin2("chrome-extension://example2"); |
| + const std::string kSyncRootResourceId("folder:sync_root_resource_id"); |
| + const std::string kResourceId1("folder:hoge"); |
| + const std::string kResourceId2("folder:fuga"); |
| + const std::string kFileResourceId("file:piyo"); |
| const base::FilePath kFile(FPL("foo bar")); |
| const std::string kFileMD5("file_md5"); |