| 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/register_app_task.h" | 5 #include "chrome/browser/sync_file_system/drive_backend/register_app_task.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 #include <utility> |
| 10 #include <vector> | 10 #include <vector> |
| 11 | 11 |
| 12 #include "base/files/scoped_temp_dir.h" | 12 #include "base/files/scoped_temp_dir.h" |
| 13 #include "base/format_macros.h" | 13 #include "base/format_macros.h" |
| 14 #include "base/macros.h" | 14 #include "base/macros.h" |
| 15 #include "base/run_loop.h" | 15 #include "base/run_loop.h" |
| 16 #include "base/strings/string_number_conversions.h" | 16 #include "base/strings/string_number_conversions.h" |
| 17 #include "base/strings/stringprintf.h" | 17 #include "base/strings/stringprintf.h" |
| 18 #include "base/thread_task_runner_handle.h" | 18 #include "base/thread_task_runner_handle.h" |
| 19 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_constants.
h" | 19 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_constants.
h" |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 fake_drive_service(new drive::FakeDriveService); | 55 fake_drive_service(new drive::FakeDriveService); |
| 56 scoped_ptr<drive::DriveUploaderInterface> | 56 scoped_ptr<drive::DriveUploaderInterface> |
| 57 drive_uploader(new drive::DriveUploader( | 57 drive_uploader(new drive::DriveUploader( |
| 58 fake_drive_service.get(), | 58 fake_drive_service.get(), |
| 59 base::ThreadTaskRunnerHandle::Get())); | 59 base::ThreadTaskRunnerHandle::Get())); |
| 60 | 60 |
| 61 fake_drive_service_helper_.reset(new FakeDriveServiceHelper( | 61 fake_drive_service_helper_.reset(new FakeDriveServiceHelper( |
| 62 fake_drive_service.get(), drive_uploader.get(), | 62 fake_drive_service.get(), drive_uploader.get(), |
| 63 kSyncRootFolderTitle)); | 63 kSyncRootFolderTitle)); |
| 64 | 64 |
| 65 context_.reset(new SyncEngineContext(fake_drive_service.Pass(), | 65 context_.reset(new SyncEngineContext( |
| 66 drive_uploader.Pass(), | 66 std::move(fake_drive_service), std::move(drive_uploader), |
| 67 nullptr /* task_logger */, | 67 nullptr /* task_logger */, base::ThreadTaskRunnerHandle::Get(), |
| 68 base::ThreadTaskRunnerHandle::Get(), | 68 base::ThreadTaskRunnerHandle::Get(), nullptr /* worker_pool */)); |
| 69 base::ThreadTaskRunnerHandle::Get(), | |
| 70 nullptr /* worker_pool */)); | |
| 71 | 69 |
| 72 ASSERT_EQ(google_apis::HTTP_CREATED, | 70 ASSERT_EQ(google_apis::HTTP_CREATED, |
| 73 fake_drive_service_helper_->AddOrphanedFolder( | 71 fake_drive_service_helper_->AddOrphanedFolder( |
| 74 kSyncRootFolderTitle, &sync_root_folder_id_)); | 72 kSyncRootFolderTitle, &sync_root_folder_id_)); |
| 75 } | 73 } |
| 76 | 74 |
| 77 void TearDown() override { | 75 void TearDown() override { |
| 78 context_.reset(); | 76 context_.reset(); |
| 79 base::RunLoop().RunUntilIdle(); | 77 base::RunLoop().RunUntilIdle(); |
| 80 } | 78 } |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 119 PutServiceMetadataToDB(service_metadata, db); | 117 PutServiceMetadataToDB(service_metadata, db); |
| 120 PutFileMetadataToDB(sync_root_metadata, db); | 118 PutFileMetadataToDB(sync_root_metadata, db); |
| 121 PutFileTrackerToDB(sync_root_tracker, db); | 119 PutFileTrackerToDB(sync_root_tracker, db); |
| 122 EXPECT_TRUE(db->Commit().ok()); | 120 EXPECT_TRUE(db->Commit().ok()); |
| 123 } | 121 } |
| 124 | 122 |
| 125 void CreateMetadataDatabase(scoped_ptr<LevelDBWrapper> db) { | 123 void CreateMetadataDatabase(scoped_ptr<LevelDBWrapper> db) { |
| 126 ASSERT_TRUE(db); | 124 ASSERT_TRUE(db); |
| 127 ASSERT_FALSE(context_->GetMetadataDatabase()); | 125 ASSERT_FALSE(context_->GetMetadataDatabase()); |
| 128 scoped_ptr<MetadataDatabase> metadata_db; | 126 scoped_ptr<MetadataDatabase> metadata_db; |
| 129 ASSERT_EQ(SYNC_STATUS_OK, | 127 ASSERT_EQ( |
| 130 MetadataDatabase::CreateForTesting( | 128 SYNC_STATUS_OK, |
| 131 db.Pass(), true /* enable_on_disk_index */, &metadata_db)); | 129 MetadataDatabase::CreateForTesting( |
| 132 context_->SetMetadataDatabase(metadata_db.Pass()); | 130 std::move(db), true /* enable_on_disk_index */, &metadata_db)); |
| 131 context_->SetMetadataDatabase(std::move(metadata_db)); |
| 133 } | 132 } |
| 134 | 133 |
| 135 SyncStatusCode RunRegisterAppTask(const std::string& app_id) { | 134 SyncStatusCode RunRegisterAppTask(const std::string& app_id) { |
| 136 RegisterAppTask task(context_.get(), app_id); | 135 RegisterAppTask task(context_.get(), app_id); |
| 137 SyncStatusCode status = SYNC_STATUS_UNKNOWN; | 136 SyncStatusCode status = SYNC_STATUS_UNKNOWN; |
| 138 task.RunExclusive(CreateResultReceiver(&status)); | 137 task.RunExclusive(CreateResultReceiver(&status)); |
| 139 base::RunLoop().RunUntilIdle(); | 138 base::RunLoop().RunUntilIdle(); |
| 140 return status; | 139 return status; |
| 141 } | 140 } |
| 142 | 141 |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 278 }; | 277 }; |
| 279 | 278 |
| 280 TEST_F(RegisterAppTaskTest, AlreadyRegistered) { | 279 TEST_F(RegisterAppTaskTest, AlreadyRegistered) { |
| 281 scoped_ptr<LevelDBWrapper> db = OpenLevelDB(); | 280 scoped_ptr<LevelDBWrapper> db = OpenLevelDB(); |
| 282 ASSERT_TRUE(db); | 281 ASSERT_TRUE(db); |
| 283 SetUpInitialData(db.get()); | 282 SetUpInitialData(db.get()); |
| 284 | 283 |
| 285 const std::string kAppID = "app_id"; | 284 const std::string kAppID = "app_id"; |
| 286 SetUpRegisteredAppRoot(kAppID, db.get()); | 285 SetUpRegisteredAppRoot(kAppID, db.get()); |
| 287 | 286 |
| 288 CreateMetadataDatabase(db.Pass()); | 287 CreateMetadataDatabase(std::move(db)); |
| 289 EXPECT_EQ(SYNC_STATUS_OK, RunRegisterAppTask(kAppID)); | 288 EXPECT_EQ(SYNC_STATUS_OK, RunRegisterAppTask(kAppID)); |
| 290 | 289 |
| 291 EXPECT_EQ(1u, CountRegisteredAppRoot()); | 290 EXPECT_EQ(1u, CountRegisteredAppRoot()); |
| 292 EXPECT_TRUE(IsAppRegistered(kAppID)); | 291 EXPECT_TRUE(IsAppRegistered(kAppID)); |
| 293 } | 292 } |
| 294 | 293 |
| 295 TEST_F(RegisterAppTaskTest, CreateAppFolder) { | 294 TEST_F(RegisterAppTaskTest, CreateAppFolder) { |
| 296 scoped_ptr<LevelDBWrapper> db = OpenLevelDB(); | 295 scoped_ptr<LevelDBWrapper> db = OpenLevelDB(); |
| 297 ASSERT_TRUE(db); | 296 ASSERT_TRUE(db); |
| 298 SetUpInitialData(db.get()); | 297 SetUpInitialData(db.get()); |
| 299 | 298 |
| 300 const std::string kAppID = "app_id"; | 299 const std::string kAppID = "app_id"; |
| 301 CreateMetadataDatabase(db.Pass()); | 300 CreateMetadataDatabase(std::move(db)); |
| 302 RunRegisterAppTask(kAppID); | 301 RunRegisterAppTask(kAppID); |
| 303 | 302 |
| 304 EXPECT_EQ(1u, CountRegisteredAppRoot()); | 303 EXPECT_EQ(1u, CountRegisteredAppRoot()); |
| 305 EXPECT_TRUE(IsAppRegistered(kAppID)); | 304 EXPECT_TRUE(IsAppRegistered(kAppID)); |
| 306 | 305 |
| 307 EXPECT_EQ(1u, CountRemoteFileInSyncRoot()); | 306 EXPECT_EQ(1u, CountRemoteFileInSyncRoot()); |
| 308 EXPECT_TRUE(HasRemoteAppRoot(kAppID)); | 307 EXPECT_TRUE(HasRemoteAppRoot(kAppID)); |
| 309 EXPECT_TRUE(VerifyRemoteAppRootVisibility(kAppID)); | 308 EXPECT_TRUE(VerifyRemoteAppRootVisibility(kAppID)); |
| 310 } | 309 } |
| 311 | 310 |
| 312 TEST_F(RegisterAppTaskTest, RegisterExistingFolder) { | 311 TEST_F(RegisterAppTaskTest, RegisterExistingFolder) { |
| 313 scoped_ptr<LevelDBWrapper> db = OpenLevelDB(); | 312 scoped_ptr<LevelDBWrapper> db = OpenLevelDB(); |
| 314 ASSERT_TRUE(db); | 313 ASSERT_TRUE(db); |
| 315 SetUpInitialData(db.get()); | 314 SetUpInitialData(db.get()); |
| 316 | 315 |
| 317 const std::string kAppID = "app_id"; | 316 const std::string kAppID = "app_id"; |
| 318 SetUpUnregisteredAppRoot(kAppID, db.get()); | 317 SetUpUnregisteredAppRoot(kAppID, db.get()); |
| 319 | 318 |
| 320 CreateMetadataDatabase(db.Pass()); | 319 CreateMetadataDatabase(std::move(db)); |
| 321 RunRegisterAppTask(kAppID); | 320 RunRegisterAppTask(kAppID); |
| 322 | 321 |
| 323 EXPECT_EQ(1u, CountRegisteredAppRoot()); | 322 EXPECT_EQ(1u, CountRegisteredAppRoot()); |
| 324 EXPECT_TRUE(IsAppRegistered(kAppID)); | 323 EXPECT_TRUE(IsAppRegistered(kAppID)); |
| 325 } | 324 } |
| 326 | 325 |
| 327 TEST_F(RegisterAppTaskTest, RegisterExistingFolder_MultipleCandidate) { | 326 TEST_F(RegisterAppTaskTest, RegisterExistingFolder_MultipleCandidate) { |
| 328 scoped_ptr<LevelDBWrapper> db = OpenLevelDB(); | 327 scoped_ptr<LevelDBWrapper> db = OpenLevelDB(); |
| 329 ASSERT_TRUE(db); | 328 ASSERT_TRUE(db); |
| 330 SetUpInitialData(db.get()); | 329 SetUpInitialData(db.get()); |
| 331 | 330 |
| 332 const std::string kAppID = "app_id"; | 331 const std::string kAppID = "app_id"; |
| 333 SetUpUnregisteredAppRoot(kAppID, db.get()); | 332 SetUpUnregisteredAppRoot(kAppID, db.get()); |
| 334 SetUpUnregisteredAppRoot(kAppID, db.get()); | 333 SetUpUnregisteredAppRoot(kAppID, db.get()); |
| 335 | 334 |
| 336 CreateMetadataDatabase(db.Pass()); | 335 CreateMetadataDatabase(std::move(db)); |
| 337 RunRegisterAppTask(kAppID); | 336 RunRegisterAppTask(kAppID); |
| 338 | 337 |
| 339 EXPECT_EQ(1u, CountRegisteredAppRoot()); | 338 EXPECT_EQ(1u, CountRegisteredAppRoot()); |
| 340 EXPECT_TRUE(IsAppRegistered(kAppID)); | 339 EXPECT_TRUE(IsAppRegistered(kAppID)); |
| 341 } | 340 } |
| 342 | 341 |
| 343 } // namespace drive_backend | 342 } // namespace drive_backend |
| 344 } // namespace sync_file_system | 343 } // namespace sync_file_system |
| OLD | NEW |