OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/chromeos/drive/job_scheduler.h" | 5 #include "chrome/browser/chromeos/drive/job_scheduler.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
(...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
352 ASSERT_TRUE(file_list); | 352 ASSERT_TRUE(file_list); |
353 } | 353 } |
354 | 354 |
355 TEST_F(JobSchedulerTest, GetFileResource) { | 355 TEST_F(JobSchedulerTest, GetFileResource) { |
356 ConnectToWifi(); | 356 ConnectToWifi(); |
357 | 357 |
358 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; | 358 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
359 scoped_ptr<google_apis::FileResource> entry; | 359 scoped_ptr<google_apis::FileResource> entry; |
360 | 360 |
361 scheduler_->GetFileResource( | 361 scheduler_->GetFileResource( |
362 "file:2_file_resource_id", // resource ID | 362 "2_file_resource_id", // resource ID |
363 ClientContext(USER_INITIATED), | 363 ClientContext(USER_INITIATED), |
364 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); | 364 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); |
365 base::RunLoop().RunUntilIdle(); | 365 base::RunLoop().RunUntilIdle(); |
366 | 366 |
367 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); | 367 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); |
368 ASSERT_TRUE(entry); | 368 ASSERT_TRUE(entry); |
369 } | 369 } |
370 | 370 |
371 TEST_F(JobSchedulerTest, GetShareUrl) { | 371 TEST_F(JobSchedulerTest, GetShareUrl) { |
372 ConnectToWifi(); | 372 ConnectToWifi(); |
373 | 373 |
374 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; | 374 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
375 GURL share_url; | 375 GURL share_url; |
376 | 376 |
377 scheduler_->GetShareUrl( | 377 scheduler_->GetShareUrl( |
378 "file:2_file_resource_id", // resource ID | 378 "2_file_resource_id", // resource ID |
379 GURL("chrome-extension://test-id/"), // embed origin | 379 GURL("chrome-extension://test-id/"), // embed origin |
380 ClientContext(USER_INITIATED), | 380 ClientContext(USER_INITIATED), |
381 google_apis::test_util::CreateCopyResultCallback(&error, &share_url)); | 381 google_apis::test_util::CreateCopyResultCallback(&error, &share_url)); |
382 base::RunLoop().RunUntilIdle(); | 382 base::RunLoop().RunUntilIdle(); |
383 | 383 |
384 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); | 384 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); |
385 ASSERT_FALSE(share_url.is_empty()); | 385 ASSERT_FALSE(share_url.is_empty()); |
386 } | 386 } |
387 | 387 |
388 TEST_F(JobSchedulerTest, TrashResource) { | 388 TEST_F(JobSchedulerTest, TrashResource) { |
389 ConnectToWifi(); | 389 ConnectToWifi(); |
390 | 390 |
391 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; | 391 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
392 | 392 |
393 scheduler_->TrashResource( | 393 scheduler_->TrashResource( |
394 "file:2_file_resource_id", | 394 "2_file_resource_id", |
395 ClientContext(USER_INITIATED), | 395 ClientContext(USER_INITIATED), |
396 google_apis::test_util::CreateCopyResultCallback(&error)); | 396 google_apis::test_util::CreateCopyResultCallback(&error)); |
397 base::RunLoop().RunUntilIdle(); | 397 base::RunLoop().RunUntilIdle(); |
398 | 398 |
399 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); | 399 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); |
400 } | 400 } |
401 | 401 |
402 TEST_F(JobSchedulerTest, CopyResource) { | 402 TEST_F(JobSchedulerTest, CopyResource) { |
403 ConnectToWifi(); | 403 ConnectToWifi(); |
404 | 404 |
405 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; | 405 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
406 scoped_ptr<google_apis::FileResource> entry; | 406 scoped_ptr<google_apis::FileResource> entry; |
407 | 407 |
408 scheduler_->CopyResource( | 408 scheduler_->CopyResource( |
409 "file:2_file_resource_id", // resource ID | 409 "2_file_resource_id", // resource ID |
410 "folder:1_folder_resource_id", // parent resource ID | 410 "1_folder_resource_id", // parent resource ID |
411 "New Document", // new title | 411 "New Document", // new title |
412 base::Time(), | 412 base::Time(), |
413 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); | 413 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); |
414 base::RunLoop().RunUntilIdle(); | 414 base::RunLoop().RunUntilIdle(); |
415 | 415 |
416 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); | 416 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); |
417 ASSERT_TRUE(entry); | 417 ASSERT_TRUE(entry); |
418 } | 418 } |
419 | 419 |
420 TEST_F(JobSchedulerTest, UpdateResource) { | 420 TEST_F(JobSchedulerTest, UpdateResource) { |
421 ConnectToWifi(); | 421 ConnectToWifi(); |
422 | 422 |
423 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; | 423 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
424 scoped_ptr<google_apis::FileResource> entry; | 424 scoped_ptr<google_apis::FileResource> entry; |
425 | 425 |
426 scheduler_->UpdateResource( | 426 scheduler_->UpdateResource( |
427 "file:2_file_resource_id", // resource ID | 427 "2_file_resource_id", // resource ID |
428 "folder:1_folder_resource_id", // parent resource ID | 428 "1_folder_resource_id", // parent resource ID |
429 "New Document", // new title | 429 "New Document", // new title |
430 base::Time(), | 430 base::Time(), |
431 base::Time(), | 431 base::Time(), |
432 ClientContext(USER_INITIATED), | 432 ClientContext(USER_INITIATED), |
433 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); | 433 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); |
434 base::RunLoop().RunUntilIdle(); | 434 base::RunLoop().RunUntilIdle(); |
435 | 435 |
436 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); | 436 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); |
437 ASSERT_TRUE(entry); | 437 ASSERT_TRUE(entry); |
438 } | 438 } |
439 | 439 |
440 TEST_F(JobSchedulerTest, RenameResource) { | 440 TEST_F(JobSchedulerTest, RenameResource) { |
441 ConnectToWifi(); | 441 ConnectToWifi(); |
442 | 442 |
443 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; | 443 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
444 | 444 |
445 scheduler_->RenameResource( | 445 scheduler_->RenameResource( |
446 "file:2_file_resource_id", | 446 "2_file_resource_id", |
447 "New Title", | 447 "New Title", |
448 google_apis::test_util::CreateCopyResultCallback(&error)); | 448 google_apis::test_util::CreateCopyResultCallback(&error)); |
449 base::RunLoop().RunUntilIdle(); | 449 base::RunLoop().RunUntilIdle(); |
450 | 450 |
451 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); | 451 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); |
452 } | 452 } |
453 | 453 |
454 TEST_F(JobSchedulerTest, AddResourceToDirectory) { | 454 TEST_F(JobSchedulerTest, AddResourceToDirectory) { |
455 ConnectToWifi(); | 455 ConnectToWifi(); |
456 | 456 |
457 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; | 457 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
458 | 458 |
459 scheduler_->AddResourceToDirectory( | 459 scheduler_->AddResourceToDirectory( |
460 "folder:1_folder_resource_id", | 460 "1_folder_resource_id", |
461 "file:2_file_resource_id", | 461 "2_file_resource_id", |
462 google_apis::test_util::CreateCopyResultCallback(&error)); | 462 google_apis::test_util::CreateCopyResultCallback(&error)); |
463 base::RunLoop().RunUntilIdle(); | 463 base::RunLoop().RunUntilIdle(); |
464 | 464 |
465 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); | 465 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); |
466 } | 466 } |
467 | 467 |
468 TEST_F(JobSchedulerTest, RemoveResourceFromDirectory) { | 468 TEST_F(JobSchedulerTest, RemoveResourceFromDirectory) { |
469 ConnectToWifi(); | 469 ConnectToWifi(); |
470 | 470 |
471 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; | 471 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
472 | 472 |
473 scheduler_->RemoveResourceFromDirectory( | 473 scheduler_->RemoveResourceFromDirectory( |
474 "folder:1_folder_resource_id", | 474 "1_folder_resource_id", |
475 "file:subdirectory_file_1_id", // resource ID | 475 "subdirectory_file_1_id", // resource ID |
476 ClientContext(USER_INITIATED), | 476 ClientContext(USER_INITIATED), |
477 google_apis::test_util::CreateCopyResultCallback(&error)); | 477 google_apis::test_util::CreateCopyResultCallback(&error)); |
478 base::RunLoop().RunUntilIdle(); | 478 base::RunLoop().RunUntilIdle(); |
479 | 479 |
480 ASSERT_EQ(google_apis::HTTP_NO_CONTENT, error); | 480 ASSERT_EQ(google_apis::HTTP_NO_CONTENT, error); |
481 } | 481 } |
482 | 482 |
483 TEST_F(JobSchedulerTest, AddNewDirectory) { | 483 TEST_F(JobSchedulerTest, AddNewDirectory) { |
484 ConnectToWifi(); | 484 ConnectToWifi(); |
485 | 485 |
(...skipping 11 matching lines...) Expand all Loading... |
497 ASSERT_EQ(google_apis::HTTP_CREATED, error); | 497 ASSERT_EQ(google_apis::HTTP_CREATED, error); |
498 ASSERT_TRUE(entry); | 498 ASSERT_TRUE(entry); |
499 } | 499 } |
500 | 500 |
501 TEST_F(JobSchedulerTest, PriorityHandling) { | 501 TEST_F(JobSchedulerTest, PriorityHandling) { |
502 // Saturate the metadata job queue with uninteresting jobs to prevent | 502 // Saturate the metadata job queue with uninteresting jobs to prevent |
503 // following jobs from starting. | 503 // following jobs from starting. |
504 google_apis::GDataErrorCode error_dontcare = google_apis::GDATA_OTHER_ERROR; | 504 google_apis::GDataErrorCode error_dontcare = google_apis::GDATA_OTHER_ERROR; |
505 scoped_ptr<google_apis::FileResource> entry_dontcare; | 505 scoped_ptr<google_apis::FileResource> entry_dontcare; |
506 for (int i = 0; i < GetMetadataQueueMaxJobCount(); ++i) { | 506 for (int i = 0; i < GetMetadataQueueMaxJobCount(); ++i) { |
507 std::string resource_id("file:2_file_resource_id"); | 507 std::string resource_id("2_file_resource_id"); |
508 scheduler_->GetFileResource( | 508 scheduler_->GetFileResource( |
509 resource_id, | 509 resource_id, |
510 ClientContext(USER_INITIATED), | 510 ClientContext(USER_INITIATED), |
511 google_apis::test_util::CreateCopyResultCallback(&error_dontcare, | 511 google_apis::test_util::CreateCopyResultCallback(&error_dontcare, |
512 &entry_dontcare)); | 512 &entry_dontcare)); |
513 } | 513 } |
514 | 514 |
515 // Start jobs with different priorities. | 515 // Start jobs with different priorities. |
516 std::string title_1("new file 1"); | 516 std::string title_1("new file 1"); |
517 std::string title_2("new file 2"); | 517 std::string title_2("new file 2"); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
549 ASSERT_EQ(4ul, titles.size()); | 549 ASSERT_EQ(4ul, titles.size()); |
550 EXPECT_EQ(title_1, titles[0]); | 550 EXPECT_EQ(title_1, titles[0]); |
551 EXPECT_EQ(title_4, titles[1]); | 551 EXPECT_EQ(title_4, titles[1]); |
552 EXPECT_EQ(title_2, titles[2]); | 552 EXPECT_EQ(title_2, titles[2]); |
553 EXPECT_EQ(title_3, titles[3]); | 553 EXPECT_EQ(title_3, titles[3]); |
554 } | 554 } |
555 | 555 |
556 TEST_F(JobSchedulerTest, NoConnectionUserInitiated) { | 556 TEST_F(JobSchedulerTest, NoConnectionUserInitiated) { |
557 ConnectToNone(); | 557 ConnectToNone(); |
558 | 558 |
559 std::string resource_id("file:2_file_resource_id"); | 559 std::string resource_id("2_file_resource_id"); |
560 | 560 |
561 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; | 561 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
562 scoped_ptr<google_apis::FileResource> entry; | 562 scoped_ptr<google_apis::FileResource> entry; |
563 scheduler_->GetFileResource( | 563 scheduler_->GetFileResource( |
564 resource_id, | 564 resource_id, |
565 ClientContext(USER_INITIATED), | 565 ClientContext(USER_INITIATED), |
566 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); | 566 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); |
567 base::RunLoop().RunUntilIdle(); | 567 base::RunLoop().RunUntilIdle(); |
568 | 568 |
569 EXPECT_EQ(google_apis::GDATA_NO_CONNECTION, error); | 569 EXPECT_EQ(google_apis::GDATA_NO_CONNECTION, error); |
570 } | 570 } |
571 | 571 |
572 TEST_F(JobSchedulerTest, NoConnectionBackground) { | 572 TEST_F(JobSchedulerTest, NoConnectionBackground) { |
573 ConnectToNone(); | 573 ConnectToNone(); |
574 | 574 |
575 std::string resource_id("file:2_file_resource_id"); | 575 std::string resource_id("2_file_resource_id"); |
576 | 576 |
577 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; | 577 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
578 scoped_ptr<google_apis::FileResource> entry; | 578 scoped_ptr<google_apis::FileResource> entry; |
579 scheduler_->GetFileResource( | 579 scheduler_->GetFileResource( |
580 resource_id, | 580 resource_id, |
581 ClientContext(BACKGROUND), | 581 ClientContext(BACKGROUND), |
582 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); | 582 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); |
583 base::RunLoop().RunUntilIdle(); | 583 base::RunLoop().RunUntilIdle(); |
584 | 584 |
585 EXPECT_FALSE(entry); | 585 EXPECT_FALSE(entry); |
(...skipping 18 matching lines...) Expand all Loading... |
604 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 604 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
605 | 605 |
606 const base::FilePath kOutputFilePath = | 606 const base::FilePath kOutputFilePath = |
607 temp_dir.path().AppendASCII("whatever.txt"); | 607 temp_dir.path().AppendASCII("whatever.txt"); |
608 google_apis::GDataErrorCode download_error = google_apis::GDATA_OTHER_ERROR; | 608 google_apis::GDataErrorCode download_error = google_apis::GDATA_OTHER_ERROR; |
609 base::FilePath output_file_path; | 609 base::FilePath output_file_path; |
610 scheduler_->DownloadFile( | 610 scheduler_->DownloadFile( |
611 base::FilePath::FromUTF8Unsafe("drive/whatever.txt"), // virtual path | 611 base::FilePath::FromUTF8Unsafe("drive/whatever.txt"), // virtual path |
612 kDummyDownloadFileSize, | 612 kDummyDownloadFileSize, |
613 kOutputFilePath, | 613 kOutputFilePath, |
614 "file:2_file_resource_id", | 614 "2_file_resource_id", |
615 ClientContext(BACKGROUND), | 615 ClientContext(BACKGROUND), |
616 google_apis::test_util::CreateCopyResultCallback( | 616 google_apis::test_util::CreateCopyResultCallback( |
617 &download_error, &output_file_path), | 617 &download_error, &output_file_path), |
618 google_apis::GetContentCallback()); | 618 google_apis::GetContentCallback()); |
619 // Metadata should still work | 619 // Metadata should still work |
620 google_apis::GDataErrorCode metadata_error = google_apis::GDATA_OTHER_ERROR; | 620 google_apis::GDataErrorCode metadata_error = google_apis::GDATA_OTHER_ERROR; |
621 scoped_ptr<google_apis::AboutResource> about_resource; | 621 scoped_ptr<google_apis::AboutResource> about_resource; |
622 | 622 |
623 // Try to get the metadata | 623 // Try to get the metadata |
624 scheduler_->GetAboutResource( | 624 scheduler_->GetAboutResource( |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
657 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 657 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
658 | 658 |
659 const base::FilePath kOutputFilePath = | 659 const base::FilePath kOutputFilePath = |
660 temp_dir.path().AppendASCII("whatever.txt"); | 660 temp_dir.path().AppendASCII("whatever.txt"); |
661 google_apis::GDataErrorCode download_error = google_apis::GDATA_OTHER_ERROR; | 661 google_apis::GDataErrorCode download_error = google_apis::GDATA_OTHER_ERROR; |
662 base::FilePath output_file_path; | 662 base::FilePath output_file_path; |
663 scheduler_->DownloadFile( | 663 scheduler_->DownloadFile( |
664 base::FilePath::FromUTF8Unsafe("drive/whatever.txt"), // virtual path | 664 base::FilePath::FromUTF8Unsafe("drive/whatever.txt"), // virtual path |
665 kDummyDownloadFileSize, | 665 kDummyDownloadFileSize, |
666 kOutputFilePath, | 666 kOutputFilePath, |
667 "file:2_file_resource_id", | 667 "2_file_resource_id", |
668 ClientContext(BACKGROUND), | 668 ClientContext(BACKGROUND), |
669 google_apis::test_util::CreateCopyResultCallback( | 669 google_apis::test_util::CreateCopyResultCallback( |
670 &download_error, &output_file_path), | 670 &download_error, &output_file_path), |
671 google_apis::GetContentCallback()); | 671 google_apis::GetContentCallback()); |
672 // Metadata should still work | 672 // Metadata should still work |
673 google_apis::GDataErrorCode metadata_error = google_apis::GDATA_OTHER_ERROR; | 673 google_apis::GDataErrorCode metadata_error = google_apis::GDATA_OTHER_ERROR; |
674 scoped_ptr<google_apis::AboutResource> about_resource; | 674 scoped_ptr<google_apis::AboutResource> about_resource; |
675 | 675 |
676 // Try to get the metadata | 676 // Try to get the metadata |
677 scheduler_->GetAboutResource( | 677 scheduler_->GetAboutResource( |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
710 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 710 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
711 | 711 |
712 const base::FilePath kOutputFilePath = | 712 const base::FilePath kOutputFilePath = |
713 temp_dir.path().AppendASCII("whatever.txt"); | 713 temp_dir.path().AppendASCII("whatever.txt"); |
714 google_apis::GDataErrorCode download_error = google_apis::GDATA_OTHER_ERROR; | 714 google_apis::GDataErrorCode download_error = google_apis::GDATA_OTHER_ERROR; |
715 base::FilePath output_file_path; | 715 base::FilePath output_file_path; |
716 scheduler_->DownloadFile( | 716 scheduler_->DownloadFile( |
717 base::FilePath::FromUTF8Unsafe("drive/whatever.txt"), // virtual path | 717 base::FilePath::FromUTF8Unsafe("drive/whatever.txt"), // virtual path |
718 kDummyDownloadFileSize, | 718 kDummyDownloadFileSize, |
719 kOutputFilePath, | 719 kOutputFilePath, |
720 "file:2_file_resource_id", | 720 "2_file_resource_id", |
721 ClientContext(BACKGROUND), | 721 ClientContext(BACKGROUND), |
722 google_apis::test_util::CreateCopyResultCallback( | 722 google_apis::test_util::CreateCopyResultCallback( |
723 &download_error, &output_file_path), | 723 &download_error, &output_file_path), |
724 google_apis::GetContentCallback()); | 724 google_apis::GetContentCallback()); |
725 // Metadata should still work | 725 // Metadata should still work |
726 google_apis::GDataErrorCode metadata_error = google_apis::GDATA_OTHER_ERROR; | 726 google_apis::GDataErrorCode metadata_error = google_apis::GDATA_OTHER_ERROR; |
727 scoped_ptr<google_apis::AboutResource> about_resource; | 727 scoped_ptr<google_apis::AboutResource> about_resource; |
728 | 728 |
729 // Try to get the metadata | 729 // Try to get the metadata |
730 scheduler_->GetAboutResource( | 730 scheduler_->GetAboutResource( |
(...skipping 24 matching lines...) Expand all Loading... |
755 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 755 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
756 | 756 |
757 const base::FilePath kOutputFilePath = | 757 const base::FilePath kOutputFilePath = |
758 temp_dir.path().AppendASCII("whatever.txt"); | 758 temp_dir.path().AppendASCII("whatever.txt"); |
759 google_apis::GDataErrorCode download_error = google_apis::GDATA_OTHER_ERROR; | 759 google_apis::GDataErrorCode download_error = google_apis::GDATA_OTHER_ERROR; |
760 base::FilePath output_file_path; | 760 base::FilePath output_file_path; |
761 scheduler_->DownloadFile( | 761 scheduler_->DownloadFile( |
762 base::FilePath::FromUTF8Unsafe("drive/whatever.txt"), // virtual path | 762 base::FilePath::FromUTF8Unsafe("drive/whatever.txt"), // virtual path |
763 kDummyDownloadFileSize, | 763 kDummyDownloadFileSize, |
764 kOutputFilePath, | 764 kOutputFilePath, |
765 "file:2_file_resource_id", | 765 "2_file_resource_id", |
766 ClientContext(BACKGROUND), | 766 ClientContext(BACKGROUND), |
767 google_apis::test_util::CreateCopyResultCallback( | 767 google_apis::test_util::CreateCopyResultCallback( |
768 &download_error, &output_file_path), | 768 &download_error, &output_file_path), |
769 google_apis::GetContentCallback()); | 769 google_apis::GetContentCallback()); |
770 // Metadata should still work | 770 // Metadata should still work |
771 google_apis::GDataErrorCode metadata_error = google_apis::GDATA_OTHER_ERROR; | 771 google_apis::GDataErrorCode metadata_error = google_apis::GDATA_OTHER_ERROR; |
772 scoped_ptr<google_apis::AboutResource> about_resource; | 772 scoped_ptr<google_apis::AboutResource> about_resource; |
773 | 773 |
774 // Try to get the metadata | 774 // Try to get the metadata |
775 scheduler_->GetAboutResource( | 775 scheduler_->GetAboutResource( |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
814 "New Directory", | 814 "New Directory", |
815 DriveServiceInterface::AddNewDirectoryOptions(), | 815 DriveServiceInterface::AddNewDirectoryOptions(), |
816 ClientContext(USER_INITIATED), | 816 ClientContext(USER_INITIATED), |
817 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); | 817 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); |
818 expected_types.insert(TYPE_GET_ABOUT_RESOURCE); | 818 expected_types.insert(TYPE_GET_ABOUT_RESOURCE); |
819 scheduler_->GetAboutResource( | 819 scheduler_->GetAboutResource( |
820 google_apis::test_util::CreateCopyResultCallback( | 820 google_apis::test_util::CreateCopyResultCallback( |
821 &error, &about_resource)); | 821 &error, &about_resource)); |
822 expected_types.insert(TYPE_RENAME_RESOURCE); | 822 expected_types.insert(TYPE_RENAME_RESOURCE); |
823 scheduler_->RenameResource( | 823 scheduler_->RenameResource( |
824 "file:2_file_resource_id", | 824 "2_file_resource_id", |
825 "New Title", | 825 "New Title", |
826 google_apis::test_util::CreateCopyResultCallback(&error)); | 826 google_apis::test_util::CreateCopyResultCallback(&error)); |
827 expected_types.insert(TYPE_DOWNLOAD_FILE); | 827 expected_types.insert(TYPE_DOWNLOAD_FILE); |
828 scheduler_->DownloadFile( | 828 scheduler_->DownloadFile( |
829 base::FilePath::FromUTF8Unsafe("drive/whatever.txt"), // virtual path | 829 base::FilePath::FromUTF8Unsafe("drive/whatever.txt"), // virtual path |
830 kDummyDownloadFileSize, | 830 kDummyDownloadFileSize, |
831 temp_dir.path().AppendASCII("whatever.txt"), | 831 temp_dir.path().AppendASCII("whatever.txt"), |
832 "file:2_file_resource_id", | 832 "2_file_resource_id", |
833 ClientContext(BACKGROUND), | 833 ClientContext(BACKGROUND), |
834 google_apis::test_util::CreateCopyResultCallback(&error, &path), | 834 google_apis::test_util::CreateCopyResultCallback(&error, &path), |
835 google_apis::GetContentCallback()); | 835 google_apis::GetContentCallback()); |
836 | 836 |
837 // The number of jobs queued so far. | 837 // The number of jobs queued so far. |
838 EXPECT_EQ(4U, scheduler_->GetJobInfoList().size()); | 838 EXPECT_EQ(4U, scheduler_->GetJobInfoList().size()); |
839 EXPECT_TRUE(logger.Has(JobListLogger::ADDED, TYPE_ADD_NEW_DIRECTORY)); | 839 EXPECT_TRUE(logger.Has(JobListLogger::ADDED, TYPE_ADD_NEW_DIRECTORY)); |
840 EXPECT_TRUE(logger.Has(JobListLogger::ADDED, TYPE_GET_ABOUT_RESOURCE)); | 840 EXPECT_TRUE(logger.Has(JobListLogger::ADDED, TYPE_GET_ABOUT_RESOURCE)); |
841 EXPECT_TRUE(logger.Has(JobListLogger::ADDED, TYPE_RENAME_RESOURCE)); | 841 EXPECT_TRUE(logger.Has(JobListLogger::ADDED, TYPE_RENAME_RESOURCE)); |
842 EXPECT_TRUE(logger.Has(JobListLogger::ADDED, TYPE_DOWNLOAD_FILE)); | 842 EXPECT_TRUE(logger.Has(JobListLogger::ADDED, TYPE_DOWNLOAD_FILE)); |
843 EXPECT_FALSE(logger.Has(JobListLogger::DONE, TYPE_ADD_NEW_DIRECTORY)); | 843 EXPECT_FALSE(logger.Has(JobListLogger::DONE, TYPE_ADD_NEW_DIRECTORY)); |
844 EXPECT_FALSE(logger.Has(JobListLogger::DONE, TYPE_GET_ABOUT_RESOURCE)); | 844 EXPECT_FALSE(logger.Has(JobListLogger::DONE, TYPE_GET_ABOUT_RESOURCE)); |
845 EXPECT_FALSE(logger.Has(JobListLogger::DONE, TYPE_RENAME_RESOURCE)); | 845 EXPECT_FALSE(logger.Has(JobListLogger::DONE, TYPE_RENAME_RESOURCE)); |
846 EXPECT_FALSE(logger.Has(JobListLogger::DONE, TYPE_DOWNLOAD_FILE)); | 846 EXPECT_FALSE(logger.Has(JobListLogger::DONE, TYPE_DOWNLOAD_FILE)); |
847 | 847 |
848 // Add more jobs. | 848 // Add more jobs. |
849 expected_types.insert(TYPE_ADD_RESOURCE_TO_DIRECTORY); | 849 expected_types.insert(TYPE_ADD_RESOURCE_TO_DIRECTORY); |
850 scheduler_->AddResourceToDirectory( | 850 scheduler_->AddResourceToDirectory( |
851 "folder:1_folder_resource_id", | 851 "1_folder_resource_id", |
852 "file:2_file_resource_id", | 852 "2_file_resource_id", |
853 google_apis::test_util::CreateCopyResultCallback(&error)); | 853 google_apis::test_util::CreateCopyResultCallback(&error)); |
854 expected_types.insert(TYPE_COPY_RESOURCE); | 854 expected_types.insert(TYPE_COPY_RESOURCE); |
855 scheduler_->CopyResource( | 855 scheduler_->CopyResource( |
856 "document:5_document_resource_id", | 856 "5_document_resource_id", |
857 fake_drive_service_->GetRootResourceId(), | 857 fake_drive_service_->GetRootResourceId(), |
858 "New Document", | 858 "New Document", |
859 base::Time(), // last_modified | 859 base::Time(), // last_modified |
860 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); | 860 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); |
861 | 861 |
862 // 6 jobs in total were queued. | 862 // 6 jobs in total were queued. |
863 std::vector<JobInfo> jobs = scheduler_->GetJobInfoList(); | 863 std::vector<JobInfo> jobs = scheduler_->GetJobInfoList(); |
864 EXPECT_EQ(6U, jobs.size()); | 864 EXPECT_EQ(6U, jobs.size()); |
865 std::set<JobType> actual_types; | 865 std::set<JobType> actual_types; |
866 std::set<JobID> job_ids; | 866 std::set<JobID> job_ids; |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
919 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 919 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
920 | 920 |
921 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; | 921 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
922 base::FilePath path; | 922 base::FilePath path; |
923 | 923 |
924 // Download job. | 924 // Download job. |
925 scheduler_->DownloadFile( | 925 scheduler_->DownloadFile( |
926 base::FilePath::FromUTF8Unsafe("drive/whatever.txt"), // virtual path | 926 base::FilePath::FromUTF8Unsafe("drive/whatever.txt"), // virtual path |
927 kDummyDownloadFileSize, | 927 kDummyDownloadFileSize, |
928 temp_dir.path().AppendASCII("whatever.txt"), | 928 temp_dir.path().AppendASCII("whatever.txt"), |
929 "file:2_file_resource_id", | 929 "2_file_resource_id", |
930 ClientContext(BACKGROUND), | 930 ClientContext(BACKGROUND), |
931 google_apis::test_util::CreateCopyResultCallback(&error, &path), | 931 google_apis::test_util::CreateCopyResultCallback(&error, &path), |
932 google_apis::GetContentCallback()); | 932 google_apis::GetContentCallback()); |
933 base::RunLoop().RunUntilIdle(); | 933 base::RunLoop().RunUntilIdle(); |
934 | 934 |
935 std::vector<int64> download_progress; | 935 std::vector<int64> download_progress; |
936 logger.GetProgressInfo(TYPE_DOWNLOAD_FILE, &download_progress); | 936 logger.GetProgressInfo(TYPE_DOWNLOAD_FILE, &download_progress); |
937 ASSERT_TRUE(!download_progress.empty()); | 937 ASSERT_TRUE(!download_progress.empty()); |
938 EXPECT_TRUE(base::STLIsSorted(download_progress)); | 938 EXPECT_TRUE(base::STLIsSorted(download_progress)); |
939 EXPECT_GE(download_progress.front(), 0); | 939 EXPECT_GE(download_progress.front(), 0); |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1061 scheduler_->CancelJob(first_job_id); | 1061 scheduler_->CancelJob(first_job_id); |
1062 | 1062 |
1063 // Only the first job should be cancelled. | 1063 // Only the first job should be cancelled. |
1064 base::RunLoop().RunUntilIdle(); | 1064 base::RunLoop().RunUntilIdle(); |
1065 EXPECT_EQ(google_apis::GDATA_CANCELLED, error1); | 1065 EXPECT_EQ(google_apis::GDATA_CANCELLED, error1); |
1066 EXPECT_EQ(google_apis::HTTP_SUCCESS, error2); | 1066 EXPECT_EQ(google_apis::HTTP_SUCCESS, error2); |
1067 EXPECT_TRUE(scheduler_->GetJobInfoList().empty()); | 1067 EXPECT_TRUE(scheduler_->GetJobInfoList().empty()); |
1068 } | 1068 } |
1069 | 1069 |
1070 } // namespace drive | 1070 } // namespace drive |
OLD | NEW |