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"); |