Chromium Code Reviews| Index: chrome/browser/sync_file_system/drive_file_sync_service_mock_unittest.cc |
| diff --git a/chrome/browser/sync_file_system/drive_file_sync_service_mock_unittest.cc b/chrome/browser/sync_file_system/drive_file_sync_service_mock_unittest.cc |
| index 8448c67b52b8a37acc68e51fdd2f060df8f73457..52ce85f60e0daabf5859616086dec697fbdf34d4 100644 |
| --- a/chrome/browser/sync_file_system/drive_file_sync_service_mock_unittest.cc |
| +++ b/chrome/browser/sync_file_system/drive_file_sync_service_mock_unittest.cc |
| @@ -30,6 +30,7 @@ |
| #include "net/base/escape.h" |
| #include "testing/gmock/include/gmock/gmock.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| +#include "webkit/fileapi/file_system_util.h" |
| #include "webkit/fileapi/syncable/sync_direction.h" |
| #include "webkit/fileapi/syncable/sync_file_metadata.h" |
| #include "webkit/fileapi/syncable/syncable_file_system_util.h" |
| @@ -79,10 +80,6 @@ void DidInitialize(bool* done, SyncStatusCode status, bool created) { |
| EXPECT_TRUE(created); |
| } |
| -void DidUpdateEntry(SyncStatusCode status) { |
| - EXPECT_EQ(SYNC_STATUS_OK, status); |
| -} |
| - |
| void DidGetSyncRoot(bool* done, |
| SyncStatusCode status, |
| const std::string& resource_id) { |
| @@ -98,6 +95,10 @@ void ExpectEqStatus(bool* done, |
| EXPECT_EQ(expected, actual); |
| } |
| +void ExpectOkStatus(SyncStatusCode status) { |
| + EXPECT_EQ(SYNC_STATUS_OK, status); |
| +} |
| + |
| // Mocks adding an installed extension to ExtensionService. |
| scoped_refptr<const extensions::Extension> AddTestExtension( |
| ExtensionService* extension_service, |
| @@ -349,11 +350,10 @@ class DriveFileSyncServiceMockTest : public testing::Test { |
| message_loop()->RunUntilIdle(); |
| } |
| - void VerifySizeOfRegisteredOrigins( |
| - DriveMetadataStore::ResourceIdByOrigin::size_type b_size, |
| - DriveMetadataStore::ResourceIdByOrigin::size_type i_size, |
| - DriveMetadataStore::ResourceIdByOrigin::size_type d_size) { |
| - EXPECT_EQ(b_size, metadata_store()->batch_sync_origins().size()); |
| + void VerifySizeOfRegisteredOrigins(size_t b_size, |
| + size_t i_size, |
| + size_t d_size) { |
| + EXPECT_EQ(b_size, pending_batch_sync_origins()->size()); |
| EXPECT_EQ(i_size, metadata_store()->incremental_sync_origins().size()); |
| EXPECT_EQ(d_size, metadata_store()->disabled_origins().size()); |
| } |
| @@ -388,6 +388,9 @@ class DriveFileSyncServiceMockTest : public testing::Test { |
| MessageLoop* message_loop() { return &message_loop_; } |
| DriveFileSyncService* sync_service() { return sync_service_.get(); } |
| + std::map<GURL, std::string>* pending_batch_sync_origins() { |
| + return &(sync_service()->pending_batch_sync_origins_); |
| + } |
| const RemoteChangeHandler& remote_change_handler() const { |
| return sync_service_->remote_change_handler_; |
| @@ -600,47 +603,6 @@ class DriveFileSyncServiceMockTest : public testing::Test { |
| #if !defined(OS_ANDROID) |
| -TEST_F(DriveFileSyncServiceMockTest, BatchSyncOnInitialization) { |
| - const GURL kOrigin1 = ExtensionNameToGURL(FPL("example1")); |
| - const GURL kOrigin2 = ExtensionNameToGURL(FPL("example2")); |
| - const std::string kDirectoryResourceId1( |
| - "folder:origin_directory_resource_id"); |
| - const std::string kDirectoryResourceId2( |
| - "folder:origin_directory_resource_id2"); |
| - const std::string kSyncRootResourceId("folder:sync_root_resource_id"); |
| - |
| - metadata_store()->SetSyncRootDirectory(kSyncRootResourceId); |
| - metadata_store()->AddBatchSyncOrigin(kOrigin1, kDirectoryResourceId1); |
| - metadata_store()->AddBatchSyncOrigin(kOrigin2, kDirectoryResourceId2); |
| - metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin2); |
| - |
| - Sequence change_queue_seq; |
| - EXPECT_CALL(*mock_remote_observer(), OnRemoteChangeQueueUpdated(0)) |
| - .InSequence(change_queue_seq); |
| - EXPECT_CALL(*mock_remote_observer(), OnRemoteChangeQueueUpdated(1)) |
| - .Times(AnyNumber()) |
| - .InSequence(change_queue_seq); |
| - |
| - SetUpDriveServiceExpectCallsForGetAboutResource(); |
| - SetUpDriveServiceExpectCallsForGetResourceListInDirectory( |
| - "chromeos/sync_file_system/listing_files_in_directory.json", |
| - kDirectoryResourceId1); |
| - |
| - // The service will get called for incremental sync at the end after |
| - // batch sync's done. |
| - SetUpDriveServiceExpectCallsForIncrementalSync(); |
| - |
| - SetUpDriveSyncService(true); |
| - message_loop()->RunUntilIdle(); |
| - |
| - // kOrigin1 should be a batch sync origin and kOrigin2 should be an |
| - // incremental sync origin. |
| - // 4 pending remote changes are from listing_files_in_directory as batch sync |
| - // changes. |
| - VerifySizeOfRegisteredOrigins(1u, 1u, 0u); |
| - EXPECT_EQ(1u, remote_change_handler().ChangesSize()); |
| -} |
| - |
| TEST_F(DriveFileSyncServiceMockTest, RegisterNewOrigin) { |
| const GURL kOrigin("chrome-extension://example"); |
| const std::string kDirectoryResourceId("folder:origin_directory_resource_id"); |
| @@ -726,8 +688,8 @@ TEST_F(DriveFileSyncServiceMockTest, RegisterExistingOrigin) { |
| message_loop()->RunUntilIdle(); |
| EXPECT_TRUE(done); |
| - // The origin should be registered as a batch sync origin. |
| - VerifySizeOfRegisteredOrigins(1u, 0u, 0u); |
| + // The origin should be registered as an incremental sync origin. |
| + VerifySizeOfRegisteredOrigins(0u, 1u, 0u); |
| // |listing_files_in_directory| contains 4 items to sync. |
| EXPECT_EQ(1u, remote_change_handler().ChangesSize()); |
| @@ -743,27 +705,17 @@ TEST_F(DriveFileSyncServiceMockTest, UnregisterOrigin) { |
| const std::string kSyncRootResourceId("folder:sync_root_resource_id"); |
| metadata_store()->SetSyncRootDirectory(kSyncRootResourceId); |
| - metadata_store()->AddBatchSyncOrigin(kOrigin1, kDirectoryResourceId1); |
| - metadata_store()->AddBatchSyncOrigin(kOrigin2, kDirectoryResourceId2); |
| - metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin2); |
| + metadata_store()->AddIncrementalSyncOrigin(kOrigin1, kDirectoryResourceId1); |
| + metadata_store()->AddIncrementalSyncOrigin(kOrigin2, kDirectoryResourceId2); |
| EXPECT_CALL(*mock_remote_observer(), OnRemoteChangeQueueUpdated(_)) |
| .Times(AnyNumber()); |
| - InSequence sequence; |
| - |
| - SetUpDriveServiceExpectCallsForGetAboutResource(); |
| - SetUpDriveServiceExpectCallsForGetResourceListInDirectory( |
| - "chromeos/sync_file_system/listing_files_in_directory.json", |
| - kDirectoryResourceId1); |
| - |
| - SetUpDriveServiceExpectCallsForIncrementalSync(); |
| - |
| SetUpDriveSyncService(true); |
| message_loop()->RunUntilIdle(); |
| - VerifySizeOfRegisteredOrigins(1u, 1u, 0u); |
| - EXPECT_EQ(1u, remote_change_handler().ChangesSize()); |
| + VerifySizeOfRegisteredOrigins(0u, 2u, 0u); |
| + EXPECT_EQ(0u, remote_change_handler().ChangesSize()); |
| bool done = false; |
| sync_service()->UnregisterOriginForTrackingChanges( |
| @@ -788,65 +740,37 @@ TEST_F(DriveFileSyncServiceMockTest, UpdateRegisteredOrigins) { |
| const std::string extension_id2 = |
| extensions::id_util::GenerateIdForPath(base::FilePath(FPL("example2"))); |
| - metadata_store()->SetSyncRootDirectory(kSyncRootResourceId); |
| - metadata_store()->AddBatchSyncOrigin(kOrigin1, kDirectoryResourceId1); |
| - metadata_store()->AddBatchSyncOrigin(kOrigin2, kDirectoryResourceId2); |
| - metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin2); |
| - |
| EXPECT_CALL(*mock_remote_observer(), OnRemoteChangeQueueUpdated(_)) |
| .Times(AnyNumber()); |
| - InSequence sequence; |
| - |
| - SetUpDriveServiceExpectCallsForGetAboutResource(); |
| - SetUpDriveServiceExpectCallsForGetResourceListInDirectory( |
| - "chromeos/sync_file_system/listing_files_in_directory.json", |
| - kDirectoryResourceId1); |
| - |
| - SetUpDriveServiceExpectCallsForIncrementalSync(); |
| - |
| SetUpDriveSyncService(true); |
| message_loop()->RunUntilIdle(); |
| + metadata_store()->SetSyncRootDirectory(kSyncRootResourceId); |
| + metadata_store()->AddIncrementalSyncOrigin(kOrigin1, kDirectoryResourceId1); |
| + metadata_store()->AddIncrementalSyncOrigin(kOrigin2, kDirectoryResourceId2); |
|
tzik
2013/05/23 04:03:05
Could you move this back before SetUpDriveSyncServ
calvinlo
2013/05/23 08:23:04
Done.
|
| + |
| // [1] Both extensions and origins are enabled. Nothing to do. |
| - VerifySizeOfRegisteredOrigins(1u, 1u, 0u); |
| + VerifySizeOfRegisteredOrigins(0u, 2u, 0u); |
| UpdateRegisteredOrigins(); |
| - VerifySizeOfRegisteredOrigins(1u, 1u, 0u); |
| + VerifySizeOfRegisteredOrigins(0u, 2u, 0u); |
| + // [2] Extension 1 should move to disabled list. |
| DisableExtension(extension_id1); |
| - DisableExtension(extension_id2); |
| - |
| - // [2] Origins should be disabled since extensions were disabled. |
| - VerifySizeOfRegisteredOrigins(1u, 1u, 0u); |
| - UpdateRegisteredOrigins(); |
| - VerifySizeOfRegisteredOrigins(0u, 0u, 2u); |
| - |
| - // [3] Both extensions and origins are disabled. Nothing to do. |
| - VerifySizeOfRegisteredOrigins(0u, 0u, 2u); |
| UpdateRegisteredOrigins(); |
| - VerifySizeOfRegisteredOrigins(0u, 0u, 2u); |
| - |
| - EnableExtension(extension_id1); |
| - EnableExtension(extension_id2); |
| + VerifySizeOfRegisteredOrigins(0u, 1u, 1u); |
| - // [4] Origins should be re-enabled since extensions were re-enabled. |
| - VerifySizeOfRegisteredOrigins(0u, 0u, 2u); |
| + // [3] Make sure that state remains the same, nothing should change. |
| UpdateRegisteredOrigins(); |
| - VerifySizeOfRegisteredOrigins(2u, 0u, 0u); |
| + VerifySizeOfRegisteredOrigins(0u, 1u, 1u); |
| + // [4] Uninstall Extension 2. |
| UninstallExtension(extension_id2); |
| + UpdateRegisteredOrigins(); |
| + VerifySizeOfRegisteredOrigins(0u, 0u, 1u); |
| - // Prepare for UninstallOrigin called by UpdateRegisteredOrigins. |
| - EXPECT_CALL(*mock_drive_service(), |
| - DeleteResource(kDirectoryResourceId2, _, _)) |
| - .WillOnce(InvokeEntryActionCallback(google_apis::HTTP_SUCCESS)); |
| - SetUpDriveServiceExpectCallsForGetAboutResource(); |
| - SetUpDriveServiceExpectCallsForGetResourceListInDirectory( |
| - "chromeos/sync_file_system/listing_files_in_directory.json", |
| - kDirectoryResourceId1); |
| - |
| - // [5] |kOrigin2| should be unregistered since its extension was uninstalled. |
| - VerifySizeOfRegisteredOrigins(2u, 0u, 0u); |
| + // [5] Re-enable Extension 1. It moves back to batch and not to incremental. |
| + EnableExtension(extension_id1); |
| UpdateRegisteredOrigins(); |
| VerifySizeOfRegisteredOrigins(1u, 0u, 0u); |
| } |
| @@ -877,8 +801,7 @@ TEST_F(DriveFileSyncServiceMockTest, RemoteChange_Busy) { |
| const base::FilePath::StringType kFileName(FPL("File 1.mp3")); |
| metadata_store()->SetSyncRootDirectory(kSyncRootResourceId); |
| - metadata_store()->AddBatchSyncOrigin(kOrigin, kDirectoryResourceId); |
| - metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin); |
| + metadata_store()->AddIncrementalSyncOrigin(kOrigin, kDirectoryResourceId); |
| EXPECT_CALL(*mock_remote_observer(), OnRemoteChangeQueueUpdated(_)) |
| .Times(AnyNumber()); |
| @@ -914,8 +837,7 @@ TEST_F(DriveFileSyncServiceMockTest, RemoteChange_NewFile) { |
| const std::string kFileResourceId("file:2_file_resource_id"); |
| metadata_store()->SetSyncRootDirectory(kSyncRootResourceId); |
| - metadata_store()->AddBatchSyncOrigin(kOrigin, kDirectoryResourceId); |
| - metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin); |
| + metadata_store()->AddIncrementalSyncOrigin(kOrigin, kDirectoryResourceId); |
| EXPECT_CALL(*mock_remote_observer(), OnRemoteChangeQueueUpdated(_)) |
| .Times(AnyNumber()); |
| @@ -957,8 +879,7 @@ TEST_F(DriveFileSyncServiceMockTest, RemoteChange_UpdateFile) { |
| const std::string kFileResourceId("file:2_file_resource_id"); |
| metadata_store()->SetSyncRootDirectory(kSyncRootResourceId); |
| - metadata_store()->AddBatchSyncOrigin(kOrigin, kDirectoryResourceId); |
| - metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin); |
| + metadata_store()->AddIncrementalSyncOrigin(kOrigin, kDirectoryResourceId); |
| EXPECT_CALL(*mock_remote_observer(), OnRemoteChangeQueueUpdated(_)) |
| .Times(AnyNumber()); |
| @@ -1028,7 +949,7 @@ TEST_F(DriveFileSyncServiceMockTest, RegisterOriginWithSyncDisabled) { |
| // We must not have started batch sync for the newly registered origin, |
| // so it should still be in the batch_sync_origins. |
| - VerifySizeOfRegisteredOrigins(1u, 0u, 0u); |
| + EXPECT_EQ(1u, pending_batch_sync_origins()->size()); |
|
tzik
2013/05/23 04:03:05
Can we revert this?
calvinlo
2013/05/23 08:23:04
Done.
|
| EXPECT_TRUE(!remote_change_handler().HasChanges()); |
| } |
| @@ -1042,8 +963,7 @@ TEST_F(DriveFileSyncServiceMockTest, RemoteChange_Override) { |
| const fileapi::FileSystemURL kURL(CreateURL(kOrigin, kFilePath.value())); |
| metadata_store()->SetSyncRootDirectory(kSyncRootResourceId); |
| - metadata_store()->AddBatchSyncOrigin(kOrigin, kDirectoryResourceId); |
| - metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin); |
| + metadata_store()->AddIncrementalSyncOrigin(kOrigin, kDirectoryResourceId); |
| EXPECT_CALL(*mock_remote_observer(), OnRemoteChangeQueueUpdated(_)) |
| .Times(AnyNumber()); |
| @@ -1103,8 +1023,7 @@ TEST_F(DriveFileSyncServiceMockTest, RemoteChange_Folder) { |
| const std::string kSyncRootResourceId("folder:sync_root_resource_id"); |
| metadata_store()->SetSyncRootDirectory(kSyncRootResourceId); |
| - metadata_store()->AddBatchSyncOrigin(kOrigin, kDirectoryResourceId); |
| - metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin); |
| + metadata_store()->AddIncrementalSyncOrigin(kOrigin, kDirectoryResourceId); |
| EXPECT_CALL(*mock_remote_observer(), OnRemoteChangeQueueUpdated(_)) |
| .Times(AnyNumber()); |