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 |