Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(80)

Side by Side Diff: chrome/browser/sync_file_system/drive_backend/drive_backend_sync_unittest.cc

Issue 2230203002: chrome: Use stl utilities from the base namespace (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed accidental components/ change Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <stddef.h> 5 #include <stddef.h>
6 #include <stdint.h> 6 #include <stdint.h>
7 #include <algorithm> 7 #include <algorithm>
8 #include <stack> 8 #include <stack>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 base::Bind( 225 base::Bind(
226 &SetValueAndCallClosure<bool>, run_loop.QuitClosure(), &success)); 226 &SetValueAndCallClosure<bool>, run_loop.QuitClosure(), &success));
227 run_loop.Run(); 227 run_loop.Run();
228 EXPECT_TRUE(success); 228 EXPECT_TRUE(success);
229 EXPECT_EQ(normalized_path, result_path); 229 EXPECT_EQ(normalized_path, result_path);
230 return tracker.file_id(); 230 return tracker.file_id();
231 } 231 }
232 232
233 SyncStatusCode RegisterApp(const std::string& app_id) { 233 SyncStatusCode RegisterApp(const std::string& app_id) {
234 GURL origin = extensions::Extension::GetBaseURLFromExtensionId(app_id); 234 GURL origin = extensions::Extension::GetBaseURLFromExtensionId(app_id);
235 if (!ContainsKey(file_systems_, app_id)) { 235 if (!base::ContainsKey(file_systems_, app_id)) {
236 CannedSyncableFileSystem* file_system = new CannedSyncableFileSystem( 236 CannedSyncableFileSystem* file_system = new CannedSyncableFileSystem(
237 origin, in_memory_env_.get(), 237 origin, in_memory_env_.get(),
238 io_task_runner_.get(), file_task_runner_.get()); 238 io_task_runner_.get(), file_task_runner_.get());
239 file_system->SetUp(CannedSyncableFileSystem::QUOTA_DISABLED); 239 file_system->SetUp(CannedSyncableFileSystem::QUOTA_DISABLED);
240 240
241 SyncStatusCode status = SYNC_STATUS_UNKNOWN; 241 SyncStatusCode status = SYNC_STATUS_UNKNOWN;
242 base::RunLoop run_loop; 242 base::RunLoop run_loop;
243 local_sync_service_->MaybeInitializeFileSystemContext( 243 local_sync_service_->MaybeInitializeFileSystemContext(
244 origin, file_system->file_system_context(), 244 origin, file_system->file_system_context(),
245 base::Bind(&SetValueAndCallClosure<SyncStatusCode>, 245 base::Bind(&SetValueAndCallClosure<SyncStatusCode>,
(...skipping 13 matching lines...) Expand all
259 remote_sync_service_->RegisterOrigin( 259 remote_sync_service_->RegisterOrigin(
260 origin, 260 origin,
261 base::Bind(&SetValueAndCallClosure<SyncStatusCode>, 261 base::Bind(&SetValueAndCallClosure<SyncStatusCode>,
262 run_loop.QuitClosure(), &status)); 262 run_loop.QuitClosure(), &status));
263 run_loop.Run(); 263 run_loop.Run();
264 return status; 264 return status;
265 } 265 }
266 266
267 void AddLocalFolder(const std::string& app_id, 267 void AddLocalFolder(const std::string& app_id,
268 const base::FilePath::StringType& path) { 268 const base::FilePath::StringType& path) {
269 ASSERT_TRUE(ContainsKey(file_systems_, app_id)); 269 ASSERT_TRUE(base::ContainsKey(file_systems_, app_id));
270 EXPECT_EQ(base::File::FILE_OK, 270 EXPECT_EQ(base::File::FILE_OK,
271 file_systems_[app_id]->CreateDirectory( 271 file_systems_[app_id]->CreateDirectory(
272 CreateURL(app_id, path))); 272 CreateURL(app_id, path)));
273 } 273 }
274 274
275 void AddOrUpdateLocalFile(const std::string& app_id, 275 void AddOrUpdateLocalFile(const std::string& app_id,
276 const base::FilePath::StringType& path, 276 const base::FilePath::StringType& path,
277 const std::string& content) { 277 const std::string& content) {
278 storage::FileSystemURL url(CreateURL(app_id, path)); 278 storage::FileSystemURL url(CreateURL(app_id, path));
279 ASSERT_TRUE(ContainsKey(file_systems_, app_id)); 279 ASSERT_TRUE(base::ContainsKey(file_systems_, app_id));
280 EXPECT_EQ(base::File::FILE_OK, file_systems_[app_id]->CreateFile(url)); 280 EXPECT_EQ(base::File::FILE_OK, file_systems_[app_id]->CreateFile(url));
281 int64_t bytes_written = file_systems_[app_id]->WriteString(url, content); 281 int64_t bytes_written = file_systems_[app_id]->WriteString(url, content);
282 EXPECT_EQ(static_cast<int64_t>(content.size()), bytes_written); 282 EXPECT_EQ(static_cast<int64_t>(content.size()), bytes_written);
283 base::RunLoop().RunUntilIdle(); 283 base::RunLoop().RunUntilIdle();
284 } 284 }
285 285
286 void UpdateLocalFile(const std::string& app_id, 286 void UpdateLocalFile(const std::string& app_id,
287 const base::FilePath::StringType& path, 287 const base::FilePath::StringType& path,
288 const std::string& content) { 288 const std::string& content) {
289 ASSERT_TRUE(ContainsKey(file_systems_, app_id)); 289 ASSERT_TRUE(base::ContainsKey(file_systems_, app_id));
290 int64_t bytes_written = 290 int64_t bytes_written =
291 file_systems_[app_id]->WriteString(CreateURL(app_id, path), content); 291 file_systems_[app_id]->WriteString(CreateURL(app_id, path), content);
292 EXPECT_EQ(static_cast<int64_t>(content.size()), bytes_written); 292 EXPECT_EQ(static_cast<int64_t>(content.size()), bytes_written);
293 base::RunLoop().RunUntilIdle(); 293 base::RunLoop().RunUntilIdle();
294 } 294 }
295 295
296 void RemoveLocal(const std::string& app_id, 296 void RemoveLocal(const std::string& app_id,
297 const base::FilePath::StringType& path) { 297 const base::FilePath::StringType& path) {
298 ASSERT_TRUE(ContainsKey(file_systems_, app_id)); 298 ASSERT_TRUE(base::ContainsKey(file_systems_, app_id));
299 EXPECT_EQ(base::File::FILE_OK, 299 EXPECT_EQ(base::File::FILE_OK,
300 file_systems_[app_id]->Remove( 300 file_systems_[app_id]->Remove(
301 CreateURL(app_id, path), 301 CreateURL(app_id, path),
302 true /* recursive */)); 302 true /* recursive */));
303 base::RunLoop().RunUntilIdle(); 303 base::RunLoop().RunUntilIdle();
304 } 304 }
305 305
306 SyncStatusCode ProcessLocalChange() { 306 SyncStatusCode ProcessLocalChange() {
307 SyncStatusCode status = SYNC_STATUS_UNKNOWN; 307 SyncStatusCode status = SYNC_STATUS_UNKNOWN;
308 storage::FileSystemURL url; 308 storage::FileSystemURL url;
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
417 ScopedVector<google_apis::FileResource> remote_entries; 417 ScopedVector<google_apis::FileResource> remote_entries;
418 EXPECT_EQ(google_apis::HTTP_SUCCESS, 418 EXPECT_EQ(google_apis::HTTP_SUCCESS,
419 fake_drive_service_helper_->ListFilesInFolder( 419 fake_drive_service_helper_->ListFilesInFolder(
420 sync_root_folder_id, &remote_entries)); 420 sync_root_folder_id, &remote_entries));
421 std::map<std::string, const google_apis::FileResource*> app_root_by_title; 421 std::map<std::string, const google_apis::FileResource*> app_root_by_title;
422 for (ScopedVector<google_apis::FileResource>::iterator itr = 422 for (ScopedVector<google_apis::FileResource>::iterator itr =
423 remote_entries.begin(); 423 remote_entries.begin();
424 itr != remote_entries.end(); 424 itr != remote_entries.end();
425 ++itr) { 425 ++itr) {
426 const google_apis::FileResource& remote_entry = **itr; 426 const google_apis::FileResource& remote_entry = **itr;
427 EXPECT_FALSE(ContainsKey(app_root_by_title, remote_entry.title())); 427 EXPECT_FALSE(base::ContainsKey(app_root_by_title, remote_entry.title()));
428 app_root_by_title[remote_entry.title()] = *itr; 428 app_root_by_title[remote_entry.title()] = *itr;
429 } 429 }
430 430
431 for (std::map<std::string, CannedSyncableFileSystem*>::const_iterator itr = 431 for (std::map<std::string, CannedSyncableFileSystem*>::const_iterator itr =
432 file_systems_.begin(); 432 file_systems_.begin();
433 itr != file_systems_.end(); ++itr) { 433 itr != file_systems_.end(); ++itr) {
434 const std::string& app_id = itr->first; 434 const std::string& app_id = itr->first;
435 SCOPED_TRACE(testing::Message() << "Verifying app: " << app_id); 435 SCOPED_TRACE(testing::Message() << "Verifying app: " << app_id);
436 CannedSyncableFileSystem* file_system = itr->second; 436 CannedSyncableFileSystem* file_system = itr->second;
437 ASSERT_TRUE(ContainsKey(app_root_by_title, app_id)); 437 ASSERT_TRUE(base::ContainsKey(app_root_by_title, app_id));
438 VerifyConsistencyForFolder( 438 VerifyConsistencyForFolder(
439 app_id, base::FilePath(), 439 app_id, base::FilePath(),
440 app_root_by_title[app_id]->file_id(), 440 app_root_by_title[app_id]->file_id(),
441 file_system); 441 file_system);
442 } 442 }
443 } 443 }
444 444
445 void VerifyConsistencyForFolder(const std::string& app_id, 445 void VerifyConsistencyForFolder(const std::string& app_id,
446 const base::FilePath& path, 446 const base::FilePath& path,
447 const std::string& folder_id, 447 const std::string& folder_id,
448 CannedSyncableFileSystem* file_system) { 448 CannedSyncableFileSystem* file_system) {
449 SCOPED_TRACE(testing::Message() << "Verifying folder: " << path.value()); 449 SCOPED_TRACE(testing::Message() << "Verifying folder: " << path.value());
450 450
451 ScopedVector<google_apis::FileResource> remote_entries; 451 ScopedVector<google_apis::FileResource> remote_entries;
452 EXPECT_EQ(google_apis::HTTP_SUCCESS, 452 EXPECT_EQ(google_apis::HTTP_SUCCESS,
453 fake_drive_service_helper_->ListFilesInFolder( 453 fake_drive_service_helper_->ListFilesInFolder(
454 folder_id, &remote_entries)); 454 folder_id, &remote_entries));
455 std::map<std::string, const google_apis::FileResource*> 455 std::map<std::string, const google_apis::FileResource*>
456 remote_entry_by_title; 456 remote_entry_by_title;
457 for (size_t i = 0; i < remote_entries.size(); ++i) { 457 for (size_t i = 0; i < remote_entries.size(); ++i) {
458 google_apis::FileResource* remote_entry = remote_entries[i]; 458 google_apis::FileResource* remote_entry = remote_entries[i];
459 EXPECT_FALSE(ContainsKey(remote_entry_by_title, remote_entry->title())) 459 EXPECT_FALSE(
460 base::ContainsKey(remote_entry_by_title, remote_entry->title()))
460 << "title: " << remote_entry->title(); 461 << "title: " << remote_entry->title();
461 remote_entry_by_title[remote_entry->title()] = remote_entry; 462 remote_entry_by_title[remote_entry->title()] = remote_entry;
462 } 463 }
463 464
464 storage::FileSystemURL url(CreateURL(app_id, path)); 465 storage::FileSystemURL url(CreateURL(app_id, path));
465 FileEntryList local_entries; 466 FileEntryList local_entries;
466 EXPECT_EQ(base::File::FILE_OK, 467 EXPECT_EQ(base::File::FILE_OK,
467 file_system->ReadDirectory(url, &local_entries)); 468 file_system->ReadDirectory(url, &local_entries));
468 for (FileEntryList::iterator itr = local_entries.begin(); 469 for (FileEntryList::iterator itr = local_entries.begin();
469 itr != local_entries.end(); 470 itr != local_entries.end();
470 ++itr) { 471 ++itr) {
471 const storage::DirectoryEntry& local_entry = *itr; 472 const storage::DirectoryEntry& local_entry = *itr;
472 storage::FileSystemURL entry_url( 473 storage::FileSystemURL entry_url(
473 CreateURL(app_id, path.Append(local_entry.name))); 474 CreateURL(app_id, path.Append(local_entry.name)));
474 std::string title = 475 std::string title =
475 storage::VirtualPath::BaseName(entry_url.path()).AsUTF8Unsafe(); 476 storage::VirtualPath::BaseName(entry_url.path()).AsUTF8Unsafe();
476 SCOPED_TRACE(testing::Message() << "Verifying entry: " << title); 477 SCOPED_TRACE(testing::Message() << "Verifying entry: " << title);
477 478
478 ASSERT_TRUE(ContainsKey(remote_entry_by_title, title)); 479 ASSERT_TRUE(base::ContainsKey(remote_entry_by_title, title));
479 const google_apis::FileResource& remote_entry = 480 const google_apis::FileResource& remote_entry =
480 *remote_entry_by_title[title]; 481 *remote_entry_by_title[title];
481 if (local_entry.is_directory) { 482 if (local_entry.is_directory) {
482 ASSERT_TRUE(remote_entry.IsDirectory()); 483 ASSERT_TRUE(remote_entry.IsDirectory());
483 VerifyConsistencyForFolder(app_id, entry_url.path(), 484 VerifyConsistencyForFolder(app_id, entry_url.path(),
484 remote_entry.file_id(), 485 remote_entry.file_id(),
485 file_system); 486 file_system);
486 } else { 487 } else {
487 ASSERT_FALSE(remote_entry.IsDirectory()); 488 ASSERT_FALSE(remote_entry.IsDirectory());
488 VerifyConsistencyForFile(app_id, entry_url.path(), 489 VerifyConsistencyForFile(app_id, entry_url.path(),
(...skipping 16 matching lines...) Expand all
505 fake_drive_service_helper_->ReadFile(file_id, &file_content)); 506 fake_drive_service_helper_->ReadFile(file_id, &file_content));
506 EXPECT_EQ(base::File::FILE_OK, 507 EXPECT_EQ(base::File::FILE_OK,
507 file_system->VerifyFile(url, file_content)); 508 file_system->VerifyFile(url, file_content));
508 } 509 }
509 510
510 size_t CountApp() { 511 size_t CountApp() {
511 return file_systems_.size(); 512 return file_systems_.size();
512 } 513 }
513 514
514 size_t CountLocalFile(const std::string& app_id) { 515 size_t CountLocalFile(const std::string& app_id) {
515 if (!ContainsKey(file_systems_, app_id)) 516 if (!base::ContainsKey(file_systems_, app_id))
516 return 0; 517 return 0;
517 518
518 CannedSyncableFileSystem* file_system = file_systems_[app_id]; 519 CannedSyncableFileSystem* file_system = file_systems_[app_id];
519 std::stack<base::FilePath> folders; 520 std::stack<base::FilePath> folders;
520 folders.push(base::FilePath()); // root folder 521 folders.push(base::FilePath()); // root folder
521 522
522 size_t result = 1; 523 size_t result = 1;
523 while (!folders.empty()) { 524 while (!folders.empty()) {
524 storage::FileSystemURL url(CreateURL(app_id, folders.top())); 525 storage::FileSystemURL url(CreateURL(app_id, folders.top()));
525 folders.pop(); 526 folders.pop();
(...skipping 11 matching lines...) Expand all
537 538
538 return result; 539 return result;
539 } 540 }
540 541
541 void VerifyLocalFile(const std::string& app_id, 542 void VerifyLocalFile(const std::string& app_id,
542 const base::FilePath::StringType& path, 543 const base::FilePath::StringType& path,
543 const std::string& content) { 544 const std::string& content) {
544 SCOPED_TRACE(testing::Message() << "Verifying local file: " 545 SCOPED_TRACE(testing::Message() << "Verifying local file: "
545 << "app_id = " << app_id 546 << "app_id = " << app_id
546 << ", path = " << path); 547 << ", path = " << path);
547 ASSERT_TRUE(ContainsKey(file_systems_, app_id)); 548 ASSERT_TRUE(base::ContainsKey(file_systems_, app_id));
548 EXPECT_EQ(base::File::FILE_OK, 549 EXPECT_EQ(base::File::FILE_OK,
549 file_systems_[app_id]->VerifyFile( 550 file_systems_[app_id]->VerifyFile(
550 CreateURL(app_id, path), content)); 551 CreateURL(app_id, path), content));
551 } 552 }
552 553
553 void VerifyLocalFolder(const std::string& app_id, 554 void VerifyLocalFolder(const std::string& app_id,
554 const base::FilePath::StringType& path) { 555 const base::FilePath::StringType& path) {
555 SCOPED_TRACE(testing::Message() << "Verifying local file: " 556 SCOPED_TRACE(testing::Message() << "Verifying local file: "
556 << "app_id = " << app_id 557 << "app_id = " << app_id
557 << ", path = " << path); 558 << ", path = " << path);
558 ASSERT_TRUE(ContainsKey(file_systems_, app_id)); 559 ASSERT_TRUE(base::ContainsKey(file_systems_, app_id));
559 EXPECT_EQ(base::File::FILE_OK, 560 EXPECT_EQ(base::File::FILE_OK,
560 file_systems_[app_id]->DirectoryExists(CreateURL(app_id, path))); 561 file_systems_[app_id]->DirectoryExists(CreateURL(app_id, path)));
561 } 562 }
562 563
563 size_t CountMetadata() { 564 size_t CountMetadata() {
564 size_t count = 0; 565 size_t count = 0;
565 base::RunLoop run_loop; 566 base::RunLoop run_loop;
566 PostTaskAndReplyWithResult( 567 PostTaskAndReplyWithResult(
567 worker_task_runner_.get(), 568 worker_task_runner_.get(),
568 FROM_HERE, 569 FROM_HERE,
(...skipping 1154 matching lines...) Expand 10 before | Expand all | Expand 10 after
1723 1724
1724 EXPECT_EQ(1u, CountApp()); 1725 EXPECT_EQ(1u, CountApp());
1725 EXPECT_EQ(1u, CountLocalFile(app_id)); 1726 EXPECT_EQ(1u, CountLocalFile(app_id));
1726 1727
1727 EXPECT_EQ(2u, CountMetadata()); 1728 EXPECT_EQ(2u, CountMetadata());
1728 EXPECT_EQ(2u, CountTracker()); 1729 EXPECT_EQ(2u, CountTracker());
1729 } 1730 }
1730 1731
1731 } // namespace drive_backend 1732 } // namespace drive_backend
1732 } // namespace sync_file_system 1733 } // namespace sync_file_system
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698