| 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 |