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

Side by Side Diff: chrome/browser/google_apis/gdata_wapi_operations_unittest.cc

Issue 14113053: chrome: Use base::MessageLoop. (Part 3) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 7 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 | Annotate | Revision Log
OLDNEW
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 <algorithm> 5 #include <algorithm>
6 #include <map> 6 #include <map>
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 "bytes=0-" + base::Int64ToString(received_bytes_ - 1)); 286 "bytes=0-" + base::Int64ToString(received_bytes_ - 1));
287 } 287 }
288 288
289 // Change the code to RESUME_INCOMPLETE if upload is not complete. 289 // Change the code to RESUME_INCOMPLETE if upload is not complete.
290 if (received_bytes_ < content_length_) 290 if (received_bytes_ < content_length_)
291 response->set_code(test_server::RESUME_INCOMPLETE); 291 response->set_code(test_server::RESUME_INCOMPLETE);
292 292
293 return response.Pass(); 293 return response.Pass();
294 } 294 }
295 295
296 MessageLoopForUI message_loop_; 296 base::MessageLoopForUI message_loop_;
297 content::TestBrowserThread ui_thread_; 297 content::TestBrowserThread ui_thread_;
298 content::TestBrowserThread file_thread_; 298 content::TestBrowserThread file_thread_;
299 content::TestBrowserThread io_thread_; 299 content::TestBrowserThread io_thread_;
300 test_server::HttpServer test_server_; 300 test_server::HttpServer test_server_;
301 scoped_ptr<TestingProfile> profile_; 301 scoped_ptr<TestingProfile> profile_;
302 OperationRegistry operation_registry_; 302 OperationRegistry operation_registry_;
303 scoped_ptr<GDataWapiUrlGenerator> url_generator_; 303 scoped_ptr<GDataWapiUrlGenerator> url_generator_;
304 scoped_refptr<net::TestURLRequestContextGetter> request_context_getter_; 304 scoped_refptr<net::TestURLRequestContextGetter> request_context_getter_;
305 305
306 // These fields are used to keep the current upload state during a 306 // These fields are used to keep the current upload state during a
(...skipping 22 matching lines...) Expand all
329 *url_generator_, 329 *url_generator_,
330 GURL(), // Pass an empty URL to use the default feed 330 GURL(), // Pass an empty URL to use the default feed
331 0, // start changestamp 331 0, // start changestamp
332 std::string(), // search string 332 std::string(), // search string
333 std::string(), // directory resource ID 333 std::string(), // directory resource ID
334 CreateComposedCallback( 334 CreateComposedCallback(
335 base::Bind(&test_util::RunAndQuit), 335 base::Bind(&test_util::RunAndQuit),
336 test_util::CreateCopyResultCallback(&result_code, &result_data))); 336 test_util::CreateCopyResultCallback(&result_code, &result_data)));
337 operation->Start(kTestGDataAuthToken, kTestUserAgent, 337 operation->Start(kTestGDataAuthToken, kTestUserAgent,
338 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 338 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
339 MessageLoop::current()->Run(); 339 base::MessageLoop::current()->Run();
340 340
341 EXPECT_EQ(HTTP_SUCCESS, result_code); 341 EXPECT_EQ(HTTP_SUCCESS, result_code);
342 EXPECT_EQ(test_server::METHOD_GET, http_request_.method); 342 EXPECT_EQ(test_server::METHOD_GET, http_request_.method);
343 EXPECT_EQ("/feeds/default/private/full?v=3&alt=json&showroot=true&" 343 EXPECT_EQ("/feeds/default/private/full?v=3&alt=json&showroot=true&"
344 "showfolders=true&include-shared=true&max-results=500", 344 "showfolders=true&include-shared=true&max-results=500",
345 http_request_.relative_url); 345 http_request_.relative_url);
346 346
347 // Sanity check of the result. 347 // Sanity check of the result.
348 scoped_ptr<ResourceList> expected( 348 scoped_ptr<ResourceList> expected(
349 ResourceList::ExtractAndParse( 349 ResourceList::ExtractAndParse(
(...skipping 12 matching lines...) Expand all
362 *url_generator_, 362 *url_generator_,
363 test_server_.GetURL("/files/chromeos/gdata/root_feed.json"), 363 test_server_.GetURL("/files/chromeos/gdata/root_feed.json"),
364 0, // start changestamp 364 0, // start changestamp
365 std::string(), // search string 365 std::string(), // search string
366 std::string(), // directory resource ID 366 std::string(), // directory resource ID
367 CreateComposedCallback( 367 CreateComposedCallback(
368 base::Bind(&test_util::RunAndQuit), 368 base::Bind(&test_util::RunAndQuit),
369 test_util::CreateCopyResultCallback(&result_code, &result_data))); 369 test_util::CreateCopyResultCallback(&result_code, &result_data)));
370 operation->Start(kTestGDataAuthToken, kTestUserAgent, 370 operation->Start(kTestGDataAuthToken, kTestUserAgent,
371 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 371 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
372 MessageLoop::current()->Run(); 372 base::MessageLoop::current()->Run();
373 373
374 EXPECT_EQ(HTTP_SUCCESS, result_code); 374 EXPECT_EQ(HTTP_SUCCESS, result_code);
375 EXPECT_EQ(test_server::METHOD_GET, http_request_.method); 375 EXPECT_EQ(test_server::METHOD_GET, http_request_.method);
376 EXPECT_EQ("/files/chromeos/gdata/root_feed.json?v=3&alt=json&showroot=true&" 376 EXPECT_EQ("/files/chromeos/gdata/root_feed.json?v=3&alt=json&showroot=true&"
377 "showfolders=true&include-shared=true&max-results=500", 377 "showfolders=true&include-shared=true&max-results=500",
378 http_request_.relative_url); 378 http_request_.relative_url);
379 379
380 scoped_ptr<ResourceList> expected( 380 scoped_ptr<ResourceList> expected(
381 ResourceList::ExtractAndParse( 381 ResourceList::ExtractAndParse(
382 *test_util::LoadJSONFile("chromeos/gdata/root_feed.json"))); 382 *test_util::LoadJSONFile("chromeos/gdata/root_feed.json")));
(...skipping 13 matching lines...) Expand all
396 *url_generator_, 396 *url_generator_,
397 test_server_.GetURL("/files/chromeos/gdata/testfile.txt"), 397 test_server_.GetURL("/files/chromeos/gdata/testfile.txt"),
398 0, // start changestamp 398 0, // start changestamp
399 std::string(), // search string 399 std::string(), // search string
400 std::string(), // directory resource ID 400 std::string(), // directory resource ID
401 CreateComposedCallback( 401 CreateComposedCallback(
402 base::Bind(&test_util::RunAndQuit), 402 base::Bind(&test_util::RunAndQuit),
403 test_util::CreateCopyResultCallback(&result_code, &result_data))); 403 test_util::CreateCopyResultCallback(&result_code, &result_data)));
404 operation->Start(kTestGDataAuthToken, kTestUserAgent, 404 operation->Start(kTestGDataAuthToken, kTestUserAgent,
405 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 405 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
406 MessageLoop::current()->Run(); 406 base::MessageLoop::current()->Run();
407 407
408 EXPECT_EQ(GDATA_PARSE_ERROR, result_code); 408 EXPECT_EQ(GDATA_PARSE_ERROR, result_code);
409 EXPECT_EQ(test_server::METHOD_GET, http_request_.method); 409 EXPECT_EQ(test_server::METHOD_GET, http_request_.method);
410 EXPECT_EQ("/files/chromeos/gdata/testfile.txt?v=3&alt=json&showroot=true&" 410 EXPECT_EQ("/files/chromeos/gdata/testfile.txt?v=3&alt=json&showroot=true&"
411 "showfolders=true&include-shared=true&max-results=500", 411 "showfolders=true&include-shared=true&max-results=500",
412 http_request_.relative_url); 412 http_request_.relative_url);
413 EXPECT_FALSE(result_data); 413 EXPECT_FALSE(result_data);
414 } 414 }
415 415
416 TEST_F(GDataWapiOperationsTest, SearchByTitleOperation) { 416 TEST_F(GDataWapiOperationsTest, SearchByTitleOperation) {
417 GDataErrorCode result_code = GDATA_OTHER_ERROR; 417 GDataErrorCode result_code = GDATA_OTHER_ERROR;
418 scoped_ptr<ResourceList> result_data; 418 scoped_ptr<ResourceList> result_data;
419 419
420 SearchByTitleOperation* operation = new SearchByTitleOperation( 420 SearchByTitleOperation* operation = new SearchByTitleOperation(
421 &operation_registry_, 421 &operation_registry_,
422 request_context_getter_.get(), 422 request_context_getter_.get(),
423 *url_generator_, 423 *url_generator_,
424 "search-title", 424 "search-title",
425 std::string(), // directory resource id 425 std::string(), // directory resource id
426 CreateComposedCallback( 426 CreateComposedCallback(
427 base::Bind(&test_util::RunAndQuit), 427 base::Bind(&test_util::RunAndQuit),
428 test_util::CreateCopyResultCallback(&result_code, &result_data))); 428 test_util::CreateCopyResultCallback(&result_code, &result_data)));
429 operation->Start(kTestGDataAuthToken, kTestUserAgent, 429 operation->Start(kTestGDataAuthToken, kTestUserAgent,
430 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 430 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
431 MessageLoop::current()->Run(); 431 base::MessageLoop::current()->Run();
432 432
433 EXPECT_EQ(HTTP_SUCCESS, result_code); 433 EXPECT_EQ(HTTP_SUCCESS, result_code);
434 EXPECT_EQ(test_server::METHOD_GET, http_request_.method); 434 EXPECT_EQ(test_server::METHOD_GET, http_request_.method);
435 EXPECT_EQ("/feeds/default/private/full?v=3&alt=json&showroot=true&" 435 EXPECT_EQ("/feeds/default/private/full?v=3&alt=json&showroot=true&"
436 "showfolders=true&include-shared=true&max-results=500" 436 "showfolders=true&include-shared=true&max-results=500"
437 "&title=search-title&title-exact=true", 437 "&title=search-title&title-exact=true",
438 http_request_.relative_url); 438 http_request_.relative_url);
439 EXPECT_TRUE(result_data); 439 EXPECT_TRUE(result_data);
440 } 440 }
441 441
442 TEST_F(GDataWapiOperationsTest, GetResourceEntryOperation_ValidResourceId) { 442 TEST_F(GDataWapiOperationsTest, GetResourceEntryOperation_ValidResourceId) {
443 GDataErrorCode result_code = GDATA_OTHER_ERROR; 443 GDataErrorCode result_code = GDATA_OTHER_ERROR;
444 scoped_ptr<base::Value> result_data; 444 scoped_ptr<base::Value> result_data;
445 445
446 GetResourceEntryOperation* operation = new GetResourceEntryOperation( 446 GetResourceEntryOperation* operation = new GetResourceEntryOperation(
447 &operation_registry_, 447 &operation_registry_,
448 request_context_getter_.get(), 448 request_context_getter_.get(),
449 *url_generator_, 449 *url_generator_,
450 "file:2_file_resource_id", // resource ID 450 "file:2_file_resource_id", // resource ID
451 CreateComposedCallback( 451 CreateComposedCallback(
452 base::Bind(&test_util::RunAndQuit), 452 base::Bind(&test_util::RunAndQuit),
453 test_util::CreateCopyResultCallback(&result_code, &result_data))); 453 test_util::CreateCopyResultCallback(&result_code, &result_data)));
454 operation->Start(kTestGDataAuthToken, kTestUserAgent, 454 operation->Start(kTestGDataAuthToken, kTestUserAgent,
455 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 455 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
456 MessageLoop::current()->Run(); 456 base::MessageLoop::current()->Run();
457 457
458 EXPECT_EQ(HTTP_SUCCESS, result_code); 458 EXPECT_EQ(HTTP_SUCCESS, result_code);
459 EXPECT_EQ(test_server::METHOD_GET, http_request_.method); 459 EXPECT_EQ(test_server::METHOD_GET, http_request_.method);
460 EXPECT_EQ("/feeds/default/private/full/file%3A2_file_resource_id" 460 EXPECT_EQ("/feeds/default/private/full/file%3A2_file_resource_id"
461 "?v=3&alt=json&showroot=true", 461 "?v=3&alt=json&showroot=true",
462 http_request_.relative_url); 462 http_request_.relative_url);
463 EXPECT_TRUE(test_util::VerifyJsonData( 463 EXPECT_TRUE(test_util::VerifyJsonData(
464 test_util::GetTestFilePath("chromeos/gdata/file_entry.json"), 464 test_util::GetTestFilePath("chromeos/gdata/file_entry.json"),
465 result_data.get())); 465 result_data.get()));
466 } 466 }
467 467
468 TEST_F(GDataWapiOperationsTest, GetResourceEntryOperation_InvalidResourceId) { 468 TEST_F(GDataWapiOperationsTest, GetResourceEntryOperation_InvalidResourceId) {
469 GDataErrorCode result_code = GDATA_OTHER_ERROR; 469 GDataErrorCode result_code = GDATA_OTHER_ERROR;
470 scoped_ptr<base::Value> result_data; 470 scoped_ptr<base::Value> result_data;
471 471
472 GetResourceEntryOperation* operation = new GetResourceEntryOperation( 472 GetResourceEntryOperation* operation = new GetResourceEntryOperation(
473 &operation_registry_, 473 &operation_registry_,
474 request_context_getter_.get(), 474 request_context_getter_.get(),
475 *url_generator_, 475 *url_generator_,
476 "<invalid>", // resource ID 476 "<invalid>", // resource ID
477 CreateComposedCallback( 477 CreateComposedCallback(
478 base::Bind(&test_util::RunAndQuit), 478 base::Bind(&test_util::RunAndQuit),
479 test_util::CreateCopyResultCallback(&result_code, &result_data))); 479 test_util::CreateCopyResultCallback(&result_code, &result_data)));
480 operation->Start(kTestGDataAuthToken, kTestUserAgent, 480 operation->Start(kTestGDataAuthToken, kTestUserAgent,
481 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 481 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
482 MessageLoop::current()->Run(); 482 base::MessageLoop::current()->Run();
483 483
484 EXPECT_EQ(HTTP_NOT_FOUND, result_code); 484 EXPECT_EQ(HTTP_NOT_FOUND, result_code);
485 EXPECT_EQ(test_server::METHOD_GET, http_request_.method); 485 EXPECT_EQ(test_server::METHOD_GET, http_request_.method);
486 EXPECT_EQ("/feeds/default/private/full/%3Cinvalid%3E?v=3&alt=json" 486 EXPECT_EQ("/feeds/default/private/full/%3Cinvalid%3E?v=3&alt=json"
487 "&showroot=true", 487 "&showroot=true",
488 http_request_.relative_url); 488 http_request_.relative_url);
489 ASSERT_FALSE(result_data); 489 ASSERT_FALSE(result_data);
490 } 490 }
491 491
492 TEST_F(GDataWapiOperationsTest, GetAccountMetadataOperation) { 492 TEST_F(GDataWapiOperationsTest, GetAccountMetadataOperation) {
493 GDataErrorCode result_code = GDATA_OTHER_ERROR; 493 GDataErrorCode result_code = GDATA_OTHER_ERROR;
494 scoped_ptr<AccountMetadata> result_data; 494 scoped_ptr<AccountMetadata> result_data;
495 495
496 GetAccountMetadataOperation* operation = new GetAccountMetadataOperation( 496 GetAccountMetadataOperation* operation = new GetAccountMetadataOperation(
497 &operation_registry_, 497 &operation_registry_,
498 request_context_getter_.get(), 498 request_context_getter_.get(),
499 *url_generator_, 499 *url_generator_,
500 CreateComposedCallback( 500 CreateComposedCallback(
501 base::Bind(&test_util::RunAndQuit), 501 base::Bind(&test_util::RunAndQuit),
502 test_util::CreateCopyResultCallback(&result_code, &result_data)), 502 test_util::CreateCopyResultCallback(&result_code, &result_data)),
503 true); // Include installed apps. 503 true); // Include installed apps.
504 operation->Start(kTestGDataAuthToken, kTestUserAgent, 504 operation->Start(kTestGDataAuthToken, kTestUserAgent,
505 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 505 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
506 MessageLoop::current()->Run(); 506 base::MessageLoop::current()->Run();
507 507
508 EXPECT_EQ(HTTP_SUCCESS, result_code); 508 EXPECT_EQ(HTTP_SUCCESS, result_code);
509 EXPECT_EQ(test_server::METHOD_GET, http_request_.method); 509 EXPECT_EQ(test_server::METHOD_GET, http_request_.method);
510 EXPECT_EQ("/feeds/metadata/default?v=3&alt=json&showroot=true" 510 EXPECT_EQ("/feeds/metadata/default?v=3&alt=json&showroot=true"
511 "&include-installed-apps=true", 511 "&include-installed-apps=true",
512 http_request_.relative_url); 512 http_request_.relative_url);
513 513
514 scoped_ptr<AccountMetadata> expected( 514 scoped_ptr<AccountMetadata> expected(
515 AccountMetadata::CreateFrom( 515 AccountMetadata::CreateFrom(
516 *test_util::LoadJSONFile("chromeos/gdata/account_metadata.json"))); 516 *test_util::LoadJSONFile("chromeos/gdata/account_metadata.json")));
(...skipping 19 matching lines...) Expand all
536 GetAccountMetadataOperation* operation = new GetAccountMetadataOperation( 536 GetAccountMetadataOperation* operation = new GetAccountMetadataOperation(
537 &operation_registry_, 537 &operation_registry_,
538 request_context_getter_.get(), 538 request_context_getter_.get(),
539 *url_generator_, 539 *url_generator_,
540 CreateComposedCallback( 540 CreateComposedCallback(
541 base::Bind(&test_util::RunAndQuit), 541 base::Bind(&test_util::RunAndQuit),
542 test_util::CreateCopyResultCallback(&result_code, &result_data)), 542 test_util::CreateCopyResultCallback(&result_code, &result_data)),
543 false); // Exclude installed apps. 543 false); // Exclude installed apps.
544 operation->Start(kTestGDataAuthToken, kTestUserAgent, 544 operation->Start(kTestGDataAuthToken, kTestUserAgent,
545 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 545 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
546 MessageLoop::current()->Run(); 546 base::MessageLoop::current()->Run();
547 547
548 EXPECT_EQ(HTTP_SUCCESS, result_code); 548 EXPECT_EQ(HTTP_SUCCESS, result_code);
549 EXPECT_EQ(test_server::METHOD_GET, http_request_.method); 549 EXPECT_EQ(test_server::METHOD_GET, http_request_.method);
550 EXPECT_EQ("/feeds/metadata/default?v=3&alt=json&showroot=true", 550 EXPECT_EQ("/feeds/metadata/default?v=3&alt=json&showroot=true",
551 http_request_.relative_url); 551 http_request_.relative_url);
552 552
553 scoped_ptr<AccountMetadata> expected( 553 scoped_ptr<AccountMetadata> expected(
554 AccountMetadata::CreateFrom( 554 AccountMetadata::CreateFrom(
555 *test_util::LoadJSONFile("chromeos/gdata/account_metadata.json"))); 555 *test_util::LoadJSONFile("chromeos/gdata/account_metadata.json")));
556 556
(...skipping 16 matching lines...) Expand all
573 &operation_registry_, 573 &operation_registry_,
574 request_context_getter_.get(), 574 request_context_getter_.get(),
575 *url_generator_, 575 *url_generator_,
576 CreateComposedCallback(base::Bind(&test_util::RunAndQuit), 576 CreateComposedCallback(base::Bind(&test_util::RunAndQuit),
577 test_util::CreateCopyResultCallback(&result_code)), 577 test_util::CreateCopyResultCallback(&result_code)),
578 "file:2_file_resource_id", 578 "file:2_file_resource_id",
579 std::string()); 579 std::string());
580 580
581 operation->Start(kTestGDataAuthToken, kTestUserAgent, 581 operation->Start(kTestGDataAuthToken, kTestUserAgent,
582 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 582 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
583 MessageLoop::current()->Run(); 583 base::MessageLoop::current()->Run();
584 584
585 EXPECT_EQ(HTTP_SUCCESS, result_code); 585 EXPECT_EQ(HTTP_SUCCESS, result_code);
586 EXPECT_EQ(test_server::METHOD_DELETE, http_request_.method); 586 EXPECT_EQ(test_server::METHOD_DELETE, http_request_.method);
587 EXPECT_EQ( 587 EXPECT_EQ(
588 "/feeds/default/private/full/file%3A2_file_resource_id?v=3&alt=json" 588 "/feeds/default/private/full/file%3A2_file_resource_id?v=3&alt=json"
589 "&showroot=true", 589 "&showroot=true",
590 http_request_.relative_url); 590 http_request_.relative_url);
591 EXPECT_EQ("*", http_request_.headers["If-Match"]); 591 EXPECT_EQ("*", http_request_.headers["If-Match"]);
592 } 592 }
593 593
594 TEST_F(GDataWapiOperationsTest, DeleteResourceOperationWithETag) { 594 TEST_F(GDataWapiOperationsTest, DeleteResourceOperationWithETag) {
595 GDataErrorCode result_code = GDATA_OTHER_ERROR; 595 GDataErrorCode result_code = GDATA_OTHER_ERROR;
596 596
597 DeleteResourceOperation* operation = new DeleteResourceOperation( 597 DeleteResourceOperation* operation = new DeleteResourceOperation(
598 &operation_registry_, 598 &operation_registry_,
599 request_context_getter_.get(), 599 request_context_getter_.get(),
600 *url_generator_, 600 *url_generator_,
601 CreateComposedCallback( 601 CreateComposedCallback(
602 base::Bind(&test_util::RunAndQuit), 602 base::Bind(&test_util::RunAndQuit),
603 test_util::CreateCopyResultCallback(&result_code)), 603 test_util::CreateCopyResultCallback(&result_code)),
604 "file:2_file_resource_id", 604 "file:2_file_resource_id",
605 "etag"); 605 "etag");
606 606
607 operation->Start(kTestGDataAuthToken, kTestUserAgent, 607 operation->Start(kTestGDataAuthToken, kTestUserAgent,
608 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 608 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
609 MessageLoop::current()->Run(); 609 base::MessageLoop::current()->Run();
610 610
611 EXPECT_EQ(HTTP_SUCCESS, result_code); 611 EXPECT_EQ(HTTP_SUCCESS, result_code);
612 EXPECT_EQ(test_server::METHOD_DELETE, http_request_.method); 612 EXPECT_EQ(test_server::METHOD_DELETE, http_request_.method);
613 EXPECT_EQ( 613 EXPECT_EQ(
614 "/feeds/default/private/full/file%3A2_file_resource_id?v=3&alt=json" 614 "/feeds/default/private/full/file%3A2_file_resource_id?v=3&alt=json"
615 "&showroot=true", 615 "&showroot=true",
616 http_request_.relative_url); 616 http_request_.relative_url);
617 EXPECT_EQ("etag", http_request_.headers["If-Match"]); 617 EXPECT_EQ("etag", http_request_.headers["If-Match"]);
618 } 618 }
619 619
620 TEST_F(GDataWapiOperationsTest, CreateDirectoryOperation) { 620 TEST_F(GDataWapiOperationsTest, CreateDirectoryOperation) {
621 GDataErrorCode result_code = GDATA_OTHER_ERROR; 621 GDataErrorCode result_code = GDATA_OTHER_ERROR;
622 scoped_ptr<base::Value> result_data; 622 scoped_ptr<base::Value> result_data;
623 623
624 // Create "new directory" in the root directory. 624 // Create "new directory" in the root directory.
625 CreateDirectoryOperation* operation = new CreateDirectoryOperation( 625 CreateDirectoryOperation* operation = new CreateDirectoryOperation(
626 &operation_registry_, 626 &operation_registry_,
627 request_context_getter_.get(), 627 request_context_getter_.get(),
628 *url_generator_, 628 *url_generator_,
629 CreateComposedCallback( 629 CreateComposedCallback(
630 base::Bind(&test_util::RunAndQuit), 630 base::Bind(&test_util::RunAndQuit),
631 test_util::CreateCopyResultCallback(&result_code, &result_data)), 631 test_util::CreateCopyResultCallback(&result_code, &result_data)),
632 "folder:root", 632 "folder:root",
633 "new directory"); 633 "new directory");
634 634
635 operation->Start(kTestGDataAuthToken, kTestUserAgent, 635 operation->Start(kTestGDataAuthToken, kTestUserAgent,
636 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 636 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
637 MessageLoop::current()->Run(); 637 base::MessageLoop::current()->Run();
638 638
639 EXPECT_EQ(HTTP_SUCCESS, result_code); 639 EXPECT_EQ(HTTP_SUCCESS, result_code);
640 EXPECT_EQ(test_server::METHOD_POST, http_request_.method); 640 EXPECT_EQ(test_server::METHOD_POST, http_request_.method);
641 EXPECT_EQ("/feeds/default/private/full/folder%3Aroot/contents?v=3&alt=json" 641 EXPECT_EQ("/feeds/default/private/full/folder%3Aroot/contents?v=3&alt=json"
642 "&showroot=true", 642 "&showroot=true",
643 http_request_.relative_url); 643 http_request_.relative_url);
644 EXPECT_EQ("application/atom+xml", http_request_.headers["Content-Type"]); 644 EXPECT_EQ("application/atom+xml", http_request_.headers["Content-Type"]);
645 645
646 EXPECT_TRUE(http_request_.has_content); 646 EXPECT_TRUE(http_request_.has_content);
647 EXPECT_EQ("<?xml version=\"1.0\"?>\n" 647 EXPECT_EQ("<?xml version=\"1.0\"?>\n"
(...skipping 15 matching lines...) Expand all
663 request_context_getter_.get(), 663 request_context_getter_.get(),
664 *url_generator_, 664 *url_generator_,
665 CreateComposedCallback( 665 CreateComposedCallback(
666 base::Bind(&test_util::RunAndQuit), 666 base::Bind(&test_util::RunAndQuit),
667 test_util::CreateCopyResultCallback(&result_code, &result_data)), 667 test_util::CreateCopyResultCallback(&result_code, &result_data)),
668 "document:5_document_resource_id", // source resource ID 668 "document:5_document_resource_id", // source resource ID
669 "New Document"); 669 "New Document");
670 670
671 operation->Start(kTestGDataAuthToken, kTestUserAgent, 671 operation->Start(kTestGDataAuthToken, kTestUserAgent,
672 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 672 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
673 MessageLoop::current()->Run(); 673 base::MessageLoop::current()->Run();
674 674
675 EXPECT_EQ(HTTP_SUCCESS, result_code); 675 EXPECT_EQ(HTTP_SUCCESS, result_code);
676 EXPECT_EQ(test_server::METHOD_POST, http_request_.method); 676 EXPECT_EQ(test_server::METHOD_POST, http_request_.method);
677 EXPECT_EQ("/feeds/default/private/full?v=3&alt=json&showroot=true", 677 EXPECT_EQ("/feeds/default/private/full?v=3&alt=json&showroot=true",
678 http_request_.relative_url); 678 http_request_.relative_url);
679 EXPECT_EQ("application/atom+xml", http_request_.headers["Content-Type"]); 679 EXPECT_EQ("application/atom+xml", http_request_.headers["Content-Type"]);
680 680
681 EXPECT_TRUE(http_request_.has_content); 681 EXPECT_TRUE(http_request_.has_content);
682 EXPECT_EQ("<?xml version=\"1.0\"?>\n" 682 EXPECT_EQ("<?xml version=\"1.0\"?>\n"
683 "<entry xmlns=\"http://www.w3.org/2005/Atom\">\n" 683 "<entry xmlns=\"http://www.w3.org/2005/Atom\">\n"
(...skipping 12 matching lines...) Expand all
696 request_context_getter_.get(), 696 request_context_getter_.get(),
697 *url_generator_, 697 *url_generator_,
698 CreateComposedCallback( 698 CreateComposedCallback(
699 base::Bind(&test_util::RunAndQuit), 699 base::Bind(&test_util::RunAndQuit),
700 test_util::CreateCopyResultCallback(&result_code)), 700 test_util::CreateCopyResultCallback(&result_code)),
701 "file:2_file_resource_id", 701 "file:2_file_resource_id",
702 "New File"); 702 "New File");
703 703
704 operation->Start(kTestGDataAuthToken, kTestUserAgent, 704 operation->Start(kTestGDataAuthToken, kTestUserAgent,
705 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 705 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
706 MessageLoop::current()->Run(); 706 base::MessageLoop::current()->Run();
707 707
708 EXPECT_EQ(HTTP_SUCCESS, result_code); 708 EXPECT_EQ(HTTP_SUCCESS, result_code);
709 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method); 709 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method);
710 EXPECT_EQ( 710 EXPECT_EQ(
711 "/feeds/default/private/full/file%3A2_file_resource_id?v=3&alt=json" 711 "/feeds/default/private/full/file%3A2_file_resource_id?v=3&alt=json"
712 "&showroot=true", 712 "&showroot=true",
713 http_request_.relative_url); 713 http_request_.relative_url);
714 EXPECT_EQ("application/atom+xml", http_request_.headers["Content-Type"]); 714 EXPECT_EQ("application/atom+xml", http_request_.headers["Content-Type"]);
715 EXPECT_EQ("*", http_request_.headers["If-Match"]); 715 EXPECT_EQ("*", http_request_.headers["If-Match"]);
716 716
(...skipping 15 matching lines...) Expand all
732 request_context_getter_.get(), 732 request_context_getter_.get(),
733 *url_generator_, 733 *url_generator_,
734 CreateComposedCallback( 734 CreateComposedCallback(
735 base::Bind(&test_util::RunAndQuit), 735 base::Bind(&test_util::RunAndQuit),
736 test_util::CreateCopyResultCallback(&result_code, &result_data)), 736 test_util::CreateCopyResultCallback(&result_code, &result_data)),
737 "file:2_file_resource_id", 737 "file:2_file_resource_id",
738 "APP_ID"); 738 "APP_ID");
739 739
740 operation->Start(kTestGDataAuthToken, kTestUserAgent, 740 operation->Start(kTestGDataAuthToken, kTestUserAgent,
741 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 741 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
742 MessageLoop::current()->Run(); 742 base::MessageLoop::current()->Run();
743 743
744 EXPECT_EQ(HTTP_SUCCESS, result_code); 744 EXPECT_EQ(HTTP_SUCCESS, result_code);
745 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method); 745 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method);
746 EXPECT_EQ("/feeds/default/private/full/file%3A2_file_resource_id" 746 EXPECT_EQ("/feeds/default/private/full/file%3A2_file_resource_id"
747 "?v=3&alt=json&showroot=true", 747 "?v=3&alt=json&showroot=true",
748 http_request_.relative_url); 748 http_request_.relative_url);
749 EXPECT_EQ("application/atom+xml", http_request_.headers["Content-Type"]); 749 EXPECT_EQ("application/atom+xml", http_request_.headers["Content-Type"]);
750 EXPECT_EQ("*", http_request_.headers["If-Match"]); 750 EXPECT_EQ("*", http_request_.headers["If-Match"]);
751 751
752 EXPECT_TRUE(http_request_.has_content); 752 EXPECT_TRUE(http_request_.has_content);
(...skipping 15 matching lines...) Expand all
768 request_context_getter_.get(), 768 request_context_getter_.get(),
769 *url_generator_, 769 *url_generator_,
770 CreateComposedCallback( 770 CreateComposedCallback(
771 base::Bind(&test_util::RunAndQuit), 771 base::Bind(&test_util::RunAndQuit),
772 test_util::CreateCopyResultCallback(&result_code, &result_data)), 772 test_util::CreateCopyResultCallback(&result_code, &result_data)),
773 "invalid_resource_id", 773 "invalid_resource_id",
774 "APP_ID"); 774 "APP_ID");
775 775
776 operation->Start(kTestGDataAuthToken, kTestUserAgent, 776 operation->Start(kTestGDataAuthToken, kTestUserAgent,
777 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 777 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
778 MessageLoop::current()->Run(); 778 base::MessageLoop::current()->Run();
779 779
780 EXPECT_EQ(GDATA_PARSE_ERROR, result_code); 780 EXPECT_EQ(GDATA_PARSE_ERROR, result_code);
781 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method); 781 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method);
782 EXPECT_EQ("/feeds/default/private/full/invalid_resource_id" 782 EXPECT_EQ("/feeds/default/private/full/invalid_resource_id"
783 "?v=3&alt=json&showroot=true", 783 "?v=3&alt=json&showroot=true",
784 http_request_.relative_url); 784 http_request_.relative_url);
785 EXPECT_EQ("application/atom+xml", http_request_.headers["Content-Type"]); 785 EXPECT_EQ("application/atom+xml", http_request_.headers["Content-Type"]);
786 EXPECT_EQ("*", http_request_.headers["If-Match"]); 786 EXPECT_EQ("*", http_request_.headers["If-Match"]);
787 787
788 EXPECT_TRUE(http_request_.has_content); 788 EXPECT_TRUE(http_request_.has_content);
(...skipping 15 matching lines...) Expand all
804 request_context_getter_.get(), 804 request_context_getter_.get(),
805 *url_generator_, 805 *url_generator_,
806 CreateComposedCallback( 806 CreateComposedCallback(
807 base::Bind(&test_util::RunAndQuit), 807 base::Bind(&test_util::RunAndQuit),
808 test_util::CreateCopyResultCallback(&result_code)), 808 test_util::CreateCopyResultCallback(&result_code)),
809 "folder:root", 809 "folder:root",
810 "file:2_file_resource_id"); 810 "file:2_file_resource_id");
811 811
812 operation->Start(kTestGDataAuthToken, kTestUserAgent, 812 operation->Start(kTestGDataAuthToken, kTestUserAgent,
813 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 813 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
814 MessageLoop::current()->Run(); 814 base::MessageLoop::current()->Run();
815 815
816 EXPECT_EQ(HTTP_SUCCESS, result_code); 816 EXPECT_EQ(HTTP_SUCCESS, result_code);
817 EXPECT_EQ(test_server::METHOD_POST, http_request_.method); 817 EXPECT_EQ(test_server::METHOD_POST, http_request_.method);
818 EXPECT_EQ("/feeds/default/private/full/folder%3Aroot/contents?v=3&alt=json" 818 EXPECT_EQ("/feeds/default/private/full/folder%3Aroot/contents?v=3&alt=json"
819 "&showroot=true", 819 "&showroot=true",
820 http_request_.relative_url); 820 http_request_.relative_url);
821 EXPECT_EQ("application/atom+xml", http_request_.headers["Content-Type"]); 821 EXPECT_EQ("application/atom+xml", http_request_.headers["Content-Type"]);
822 822
823 EXPECT_TRUE(http_request_.has_content); 823 EXPECT_TRUE(http_request_.has_content);
824 EXPECT_EQ("<?xml version=\"1.0\"?>\n" 824 EXPECT_EQ("<?xml version=\"1.0\"?>\n"
(...skipping 14 matching lines...) Expand all
839 request_context_getter_.get(), 839 request_context_getter_.get(),
840 *url_generator_, 840 *url_generator_,
841 CreateComposedCallback( 841 CreateComposedCallback(
842 base::Bind(&test_util::RunAndQuit), 842 base::Bind(&test_util::RunAndQuit),
843 test_util::CreateCopyResultCallback(&result_code)), 843 test_util::CreateCopyResultCallback(&result_code)),
844 "folder:root", 844 "folder:root",
845 "file:2_file_resource_id"); 845 "file:2_file_resource_id");
846 846
847 operation->Start(kTestGDataAuthToken, kTestUserAgent, 847 operation->Start(kTestGDataAuthToken, kTestUserAgent,
848 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 848 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
849 MessageLoop::current()->Run(); 849 base::MessageLoop::current()->Run();
850 850
851 EXPECT_EQ(HTTP_SUCCESS, result_code); 851 EXPECT_EQ(HTTP_SUCCESS, result_code);
852 // DELETE method should be used, without the body content. 852 // DELETE method should be used, without the body content.
853 EXPECT_EQ(test_server::METHOD_DELETE, http_request_.method); 853 EXPECT_EQ(test_server::METHOD_DELETE, http_request_.method);
854 EXPECT_EQ("/feeds/default/private/full/folder%3Aroot/contents/" 854 EXPECT_EQ("/feeds/default/private/full/folder%3Aroot/contents/"
855 "file%3A2_file_resource_id?v=3&alt=json&showroot=true", 855 "file%3A2_file_resource_id?v=3&alt=json&showroot=true",
856 http_request_.relative_url); 856 http_request_.relative_url);
857 EXPECT_EQ("*", http_request_.headers["If-Match"]); 857 EXPECT_EQ("*", http_request_.headers["If-Match"]);
858 EXPECT_FALSE(http_request_.has_content); 858 EXPECT_FALSE(http_request_.has_content);
859 } 859 }
(...skipping 16 matching lines...) Expand all
876 test_util::CreateCopyResultCallback(&result_code, &upload_url)), 876 test_util::CreateCopyResultCallback(&result_code, &upload_url)),
877 base::FilePath::FromUTF8Unsafe("drive/newfile.txt"), 877 base::FilePath::FromUTF8Unsafe("drive/newfile.txt"),
878 "text/plain", 878 "text/plain",
879 kUploadContent.size(), 879 kUploadContent.size(),
880 "folder:id", 880 "folder:id",
881 "New file"); 881 "New file");
882 882
883 initiate_operation->Start( 883 initiate_operation->Start(
884 kTestGDataAuthToken, kTestUserAgent, 884 kTestGDataAuthToken, kTestUserAgent,
885 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 885 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
886 MessageLoop::current()->Run(); 886 base::MessageLoop::current()->Run();
887 887
888 EXPECT_EQ(HTTP_SUCCESS, result_code); 888 EXPECT_EQ(HTTP_SUCCESS, result_code);
889 EXPECT_EQ(test_server_.GetURL("/upload_new_file"), upload_url); 889 EXPECT_EQ(test_server_.GetURL("/upload_new_file"), upload_url);
890 EXPECT_EQ(test_server::METHOD_POST, http_request_.method); 890 EXPECT_EQ(test_server::METHOD_POST, http_request_.method);
891 // convert=false should be passed as files should be uploaded as-is. 891 // convert=false should be passed as files should be uploaded as-is.
892 EXPECT_EQ( 892 EXPECT_EQ(
893 "/feeds/upload/create-session/default/private/full/folder%3Aid/contents" 893 "/feeds/upload/create-session/default/private/full/folder%3Aid/contents"
894 "?convert=false&v=3&alt=json&showroot=true", 894 "?convert=false&v=3&alt=json&showroot=true",
895 http_request_.relative_url); 895 http_request_.relative_url);
896 EXPECT_EQ("text/plain", http_request_.headers["X-Upload-Content-Type"]); 896 EXPECT_EQ("text/plain", http_request_.headers["X-Upload-Content-Type"]);
(...skipping 27 matching lines...) Expand all
924 upload_url, 924 upload_url,
925 0, // start_position 925 0, // start_position
926 kUploadContent.size(), // end_position (exclusive) 926 kUploadContent.size(), // end_position (exclusive)
927 kUploadContent.size(), // content_length, 927 kUploadContent.size(), // content_length,
928 "text/plain", // content_type 928 "text/plain", // content_type
929 buffer); 929 buffer);
930 930
931 resume_operation->Start( 931 resume_operation->Start(
932 kTestGDataAuthToken, kTestUserAgent, 932 kTestGDataAuthToken, kTestUserAgent,
933 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 933 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
934 MessageLoop::current()->Run(); 934 base::MessageLoop::current()->Run();
935 935
936 // METHOD_PUT should be used to upload data. 936 // METHOD_PUT should be used to upload data.
937 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method); 937 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method);
938 // Request should go to the upload URL. 938 // Request should go to the upload URL.
939 EXPECT_EQ(upload_url.path(), http_request_.relative_url); 939 EXPECT_EQ(upload_url.path(), http_request_.relative_url);
940 // Content-Range header should be added. 940 // Content-Range header should be added.
941 EXPECT_EQ("bytes 0-" + 941 EXPECT_EQ("bytes 0-" +
942 base::Int64ToString(kUploadContent.size() -1) + "/" + 942 base::Int64ToString(kUploadContent.size() -1) + "/" +
943 base::Int64ToString(kUploadContent.size()), 943 base::Int64ToString(kUploadContent.size()),
944 http_request_.headers["Content-Range"]); 944 http_request_.headers["Content-Range"]);
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
978 test_util::CreateCopyResultCallback(&result_code, &upload_url)), 978 test_util::CreateCopyResultCallback(&result_code, &upload_url)),
979 base::FilePath::FromUTF8Unsafe("drive/newfile.txt"), 979 base::FilePath::FromUTF8Unsafe("drive/newfile.txt"),
980 "text/plain", 980 "text/plain",
981 kUploadContent.size(), 981 kUploadContent.size(),
982 "folder:id", 982 "folder:id",
983 "New file"); 983 "New file");
984 984
985 initiate_operation->Start( 985 initiate_operation->Start(
986 kTestGDataAuthToken, kTestUserAgent, 986 kTestGDataAuthToken, kTestUserAgent,
987 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 987 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
988 MessageLoop::current()->Run(); 988 base::MessageLoop::current()->Run();
989 989
990 EXPECT_EQ(HTTP_SUCCESS, result_code); 990 EXPECT_EQ(HTTP_SUCCESS, result_code);
991 EXPECT_EQ(test_server_.GetURL("/upload_new_file"), upload_url); 991 EXPECT_EQ(test_server_.GetURL("/upload_new_file"), upload_url);
992 EXPECT_EQ(test_server::METHOD_POST, http_request_.method); 992 EXPECT_EQ(test_server::METHOD_POST, http_request_.method);
993 // convert=false should be passed as files should be uploaded as-is. 993 // convert=false should be passed as files should be uploaded as-is.
994 EXPECT_EQ( 994 EXPECT_EQ(
995 "/feeds/upload/create-session/default/private/full/folder%3Aid/contents" 995 "/feeds/upload/create-session/default/private/full/folder%3Aid/contents"
996 "?convert=false&v=3&alt=json&showroot=true", 996 "?convert=false&v=3&alt=json&showroot=true",
997 http_request_.relative_url); 997 http_request_.relative_url);
998 EXPECT_EQ("text/plain", http_request_.headers["X-Upload-Content-Type"]); 998 EXPECT_EQ("text/plain", http_request_.headers["X-Upload-Content-Type"]);
(...skipping 24 matching lines...) Expand all
1023 CreateComposedCallback( 1023 CreateComposedCallback(
1024 base::Bind(&test_util::RunAndQuit), 1024 base::Bind(&test_util::RunAndQuit),
1025 test_util::CreateCopyResultCallback(&response, &new_entry)), 1025 test_util::CreateCopyResultCallback(&response, &new_entry)),
1026 UPLOAD_NEW_FILE, 1026 UPLOAD_NEW_FILE,
1027 base::FilePath::FromUTF8Unsafe("drive/newfile.txt"), 1027 base::FilePath::FromUTF8Unsafe("drive/newfile.txt"),
1028 upload_url, 1028 upload_url,
1029 kUploadContent.size()); 1029 kUploadContent.size());
1030 get_upload_status_operation->Start( 1030 get_upload_status_operation->Start(
1031 kTestGDataAuthToken, kTestUserAgent, 1031 kTestGDataAuthToken, kTestUserAgent,
1032 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 1032 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
1033 MessageLoop::current()->Run(); 1033 base::MessageLoop::current()->Run();
1034 1034
1035 // METHOD_PUT should be used to upload data. 1035 // METHOD_PUT should be used to upload data.
1036 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method); 1036 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method);
1037 // Request should go to the upload URL. 1037 // Request should go to the upload URL.
1038 EXPECT_EQ(upload_url.path(), http_request_.relative_url); 1038 EXPECT_EQ(upload_url.path(), http_request_.relative_url);
1039 // Content-Range header should be added. 1039 // Content-Range header should be added.
1040 EXPECT_EQ("bytes */" + base::Int64ToString(kUploadContent.size()), 1040 EXPECT_EQ("bytes */" + base::Int64ToString(kUploadContent.size()),
1041 http_request_.headers["Content-Range"]); 1041 http_request_.headers["Content-Range"]);
1042 EXPECT_TRUE(http_request_.has_content); 1042 EXPECT_TRUE(http_request_.has_content);
1043 EXPECT_TRUE(http_request_.content.empty()); 1043 EXPECT_TRUE(http_request_.content.empty());
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
1079 upload_url, 1079 upload_url,
1080 start_position, 1080 start_position,
1081 end_position, 1081 end_position,
1082 kUploadContent.size(), // content_length, 1082 kUploadContent.size(), // content_length,
1083 "text/plain", // content_type 1083 "text/plain", // content_type
1084 buffer); 1084 buffer);
1085 1085
1086 resume_operation->Start( 1086 resume_operation->Start(
1087 kTestGDataAuthToken, kTestUserAgent, 1087 kTestGDataAuthToken, kTestUserAgent,
1088 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 1088 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
1089 MessageLoop::current()->Run(); 1089 base::MessageLoop::current()->Run();
1090 1090
1091 // METHOD_PUT should be used to upload data. 1091 // METHOD_PUT should be used to upload data.
1092 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method); 1092 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method);
1093 // Request should go to the upload URL. 1093 // Request should go to the upload URL.
1094 EXPECT_EQ(upload_url.path(), http_request_.relative_url); 1094 EXPECT_EQ(upload_url.path(), http_request_.relative_url);
1095 // Content-Range header should be added. 1095 // Content-Range header should be added.
1096 EXPECT_EQ("bytes " + 1096 EXPECT_EQ("bytes " +
1097 base::Int64ToString(start_position) + "-" + 1097 base::Int64ToString(start_position) + "-" +
1098 base::Int64ToString(end_position - 1) + "/" + 1098 base::Int64ToString(end_position - 1) + "/" +
1099 base::Int64ToString(kUploadContent.size()), 1099 base::Int64ToString(kUploadContent.size()),
(...skipping 26 matching lines...) Expand all
1126 CreateComposedCallback( 1126 CreateComposedCallback(
1127 base::Bind(&test_util::RunAndQuit), 1127 base::Bind(&test_util::RunAndQuit),
1128 test_util::CreateCopyResultCallback(&response, &new_entry)), 1128 test_util::CreateCopyResultCallback(&response, &new_entry)),
1129 UPLOAD_NEW_FILE, 1129 UPLOAD_NEW_FILE,
1130 base::FilePath::FromUTF8Unsafe("drive/newfile.txt"), 1130 base::FilePath::FromUTF8Unsafe("drive/newfile.txt"),
1131 upload_url, 1131 upload_url,
1132 kUploadContent.size()); 1132 kUploadContent.size());
1133 get_upload_status_operation->Start( 1133 get_upload_status_operation->Start(
1134 kTestGDataAuthToken, kTestUserAgent, 1134 kTestGDataAuthToken, kTestUserAgent,
1135 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 1135 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
1136 MessageLoop::current()->Run(); 1136 base::MessageLoop::current()->Run();
1137 1137
1138 // METHOD_PUT should be used to upload data. 1138 // METHOD_PUT should be used to upload data.
1139 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method); 1139 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method);
1140 // Request should go to the upload URL. 1140 // Request should go to the upload URL.
1141 EXPECT_EQ(upload_url.path(), http_request_.relative_url); 1141 EXPECT_EQ(upload_url.path(), http_request_.relative_url);
1142 // Content-Range header should be added. 1142 // Content-Range header should be added.
1143 EXPECT_EQ("bytes */" + base::Int64ToString(kUploadContent.size()), 1143 EXPECT_EQ("bytes */" + base::Int64ToString(kUploadContent.size()),
1144 http_request_.headers["Content-Range"]); 1144 http_request_.headers["Content-Range"]);
1145 EXPECT_TRUE(http_request_.has_content); 1145 EXPECT_TRUE(http_request_.has_content);
1146 EXPECT_TRUE(http_request_.content.empty()); 1146 EXPECT_TRUE(http_request_.content.empty());
(...skipping 29 matching lines...) Expand all
1176 test_util::CreateCopyResultCallback(&result_code, &upload_url)), 1176 test_util::CreateCopyResultCallback(&result_code, &upload_url)),
1177 base::FilePath::FromUTF8Unsafe("drive/newfile.txt"), 1177 base::FilePath::FromUTF8Unsafe("drive/newfile.txt"),
1178 "text/plain", 1178 "text/plain",
1179 kUploadContent.size(), 1179 kUploadContent.size(),
1180 "folder:id", 1180 "folder:id",
1181 "New file"); 1181 "New file");
1182 1182
1183 initiate_operation->Start( 1183 initiate_operation->Start(
1184 kTestGDataAuthToken, kTestUserAgent, 1184 kTestGDataAuthToken, kTestUserAgent,
1185 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 1185 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
1186 MessageLoop::current()->Run(); 1186 base::MessageLoop::current()->Run();
1187 1187
1188 EXPECT_EQ(HTTP_SUCCESS, result_code); 1188 EXPECT_EQ(HTTP_SUCCESS, result_code);
1189 EXPECT_EQ(test_server_.GetURL("/upload_new_file"), upload_url); 1189 EXPECT_EQ(test_server_.GetURL("/upload_new_file"), upload_url);
1190 EXPECT_EQ(test_server::METHOD_POST, http_request_.method); 1190 EXPECT_EQ(test_server::METHOD_POST, http_request_.method);
1191 // convert=false should be passed as files should be uploaded as-is. 1191 // convert=false should be passed as files should be uploaded as-is.
1192 EXPECT_EQ( 1192 EXPECT_EQ(
1193 "/feeds/upload/create-session/default/private/full/folder%3Aid/contents" 1193 "/feeds/upload/create-session/default/private/full/folder%3Aid/contents"
1194 "?convert=false&v=3&alt=json&showroot=true", 1194 "?convert=false&v=3&alt=json&showroot=true",
1195 http_request_.relative_url); 1195 http_request_.relative_url);
1196 EXPECT_EQ("text/plain", http_request_.headers["X-Upload-Content-Type"]); 1196 EXPECT_EQ("text/plain", http_request_.headers["X-Upload-Content-Type"]);
(...skipping 27 matching lines...) Expand all
1224 upload_url, 1224 upload_url,
1225 0, // start_position 1225 0, // start_position
1226 kUploadContent.size(), // end_position (exclusive) 1226 kUploadContent.size(), // end_position (exclusive)
1227 kUploadContent.size(), // content_length, 1227 kUploadContent.size(), // content_length,
1228 "text/plain", // content_type 1228 "text/plain", // content_type
1229 buffer); 1229 buffer);
1230 1230
1231 resume_operation->Start( 1231 resume_operation->Start(
1232 kTestGDataAuthToken, kTestUserAgent, 1232 kTestGDataAuthToken, kTestUserAgent,
1233 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 1233 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
1234 MessageLoop::current()->Run(); 1234 base::MessageLoop::current()->Run();
1235 1235
1236 // METHOD_PUT should be used to upload data. 1236 // METHOD_PUT should be used to upload data.
1237 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method); 1237 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method);
1238 // Request should go to the upload URL. 1238 // Request should go to the upload URL.
1239 EXPECT_EQ(upload_url.path(), http_request_.relative_url); 1239 EXPECT_EQ(upload_url.path(), http_request_.relative_url);
1240 // Content-Range header should not exit if the content is empty. 1240 // Content-Range header should not exit if the content is empty.
1241 // We should not generate the header with an invalid value "bytes 0--1/0". 1241 // We should not generate the header with an invalid value "bytes 0--1/0".
1242 EXPECT_EQ(0U, http_request_.headers.count("Content-Range")); 1242 EXPECT_EQ(0U, http_request_.headers.count("Content-Range"));
1243 // The upload content should be set in the HTTP request. 1243 // The upload content should be set in the HTTP request.
1244 EXPECT_TRUE(http_request_.has_content); 1244 EXPECT_TRUE(http_request_.has_content);
(...skipping 24 matching lines...) Expand all
1269 test_util::CreateCopyResultCallback(&result_code, &upload_url)), 1269 test_util::CreateCopyResultCallback(&result_code, &upload_url)),
1270 base::FilePath::FromUTF8Unsafe("drive/existingfile.txt"), 1270 base::FilePath::FromUTF8Unsafe("drive/existingfile.txt"),
1271 "text/plain", 1271 "text/plain",
1272 kUploadContent.size(), 1272 kUploadContent.size(),
1273 "file:foo", 1273 "file:foo",
1274 std::string() /* etag */); 1274 std::string() /* etag */);
1275 1275
1276 initiate_operation->Start( 1276 initiate_operation->Start(
1277 kTestGDataAuthToken, kTestUserAgent, 1277 kTestGDataAuthToken, kTestUserAgent,
1278 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 1278 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
1279 MessageLoop::current()->Run(); 1279 base::MessageLoop::current()->Run();
1280 1280
1281 EXPECT_EQ(HTTP_SUCCESS, result_code); 1281 EXPECT_EQ(HTTP_SUCCESS, result_code);
1282 EXPECT_EQ(test_server_.GetURL("/upload_existing_file"), upload_url); 1282 EXPECT_EQ(test_server_.GetURL("/upload_existing_file"), upload_url);
1283 // For updating an existing file, METHOD_PUT should be used. 1283 // For updating an existing file, METHOD_PUT should be used.
1284 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method); 1284 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method);
1285 // convert=false should be passed as files should be uploaded as-is. 1285 // convert=false should be passed as files should be uploaded as-is.
1286 EXPECT_EQ("/feeds/upload/create-session/default/private/full/file%3Afoo" 1286 EXPECT_EQ("/feeds/upload/create-session/default/private/full/file%3Afoo"
1287 "?convert=false&v=3&alt=json&showroot=true", 1287 "?convert=false&v=3&alt=json&showroot=true",
1288 http_request_.relative_url); 1288 http_request_.relative_url);
1289 // Even though the body is empty, the content type should be set to 1289 // Even though the body is empty, the content type should be set to
(...skipping 26 matching lines...) Expand all
1316 upload_url, 1316 upload_url,
1317 0, // start_position 1317 0, // start_position
1318 kUploadContent.size(), // end_position (exclusive) 1318 kUploadContent.size(), // end_position (exclusive)
1319 kUploadContent.size(), // content_length, 1319 kUploadContent.size(), // content_length,
1320 "text/plain", // content_type 1320 "text/plain", // content_type
1321 buffer); 1321 buffer);
1322 1322
1323 resume_operation->Start( 1323 resume_operation->Start(
1324 kTestGDataAuthToken, kTestUserAgent, 1324 kTestGDataAuthToken, kTestUserAgent,
1325 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 1325 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
1326 MessageLoop::current()->Run(); 1326 base::MessageLoop::current()->Run();
1327 1327
1328 // METHOD_PUT should be used to upload data. 1328 // METHOD_PUT should be used to upload data.
1329 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method); 1329 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method);
1330 // Request should go to the upload URL. 1330 // Request should go to the upload URL.
1331 EXPECT_EQ(upload_url.path(), http_request_.relative_url); 1331 EXPECT_EQ(upload_url.path(), http_request_.relative_url);
1332 // Content-Range header should be added. 1332 // Content-Range header should be added.
1333 EXPECT_EQ("bytes 0-" + 1333 EXPECT_EQ("bytes 0-" +
1334 base::Int64ToString(kUploadContent.size() -1) + "/" + 1334 base::Int64ToString(kUploadContent.size() -1) + "/" +
1335 base::Int64ToString(kUploadContent.size()), 1335 base::Int64ToString(kUploadContent.size()),
1336 http_request_.headers["Content-Range"]); 1336 http_request_.headers["Content-Range"]);
(...skipping 26 matching lines...) Expand all
1363 test_util::CreateCopyResultCallback(&result_code, &upload_url)), 1363 test_util::CreateCopyResultCallback(&result_code, &upload_url)),
1364 base::FilePath::FromUTF8Unsafe("drive/existingfile.txt"), 1364 base::FilePath::FromUTF8Unsafe("drive/existingfile.txt"),
1365 "text/plain", 1365 "text/plain",
1366 kUploadContent.size(), 1366 kUploadContent.size(),
1367 "file:foo", 1367 "file:foo",
1368 kTestETag); 1368 kTestETag);
1369 1369
1370 initiate_operation->Start( 1370 initiate_operation->Start(
1371 kTestGDataAuthToken, kTestUserAgent, 1371 kTestGDataAuthToken, kTestUserAgent,
1372 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 1372 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
1373 MessageLoop::current()->Run(); 1373 base::MessageLoop::current()->Run();
1374 1374
1375 EXPECT_EQ(HTTP_SUCCESS, result_code); 1375 EXPECT_EQ(HTTP_SUCCESS, result_code);
1376 EXPECT_EQ(test_server_.GetURL("/upload_existing_file"), upload_url); 1376 EXPECT_EQ(test_server_.GetURL("/upload_existing_file"), upload_url);
1377 // For updating an existing file, METHOD_PUT should be used. 1377 // For updating an existing file, METHOD_PUT should be used.
1378 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method); 1378 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method);
1379 // convert=false should be passed as files should be uploaded as-is. 1379 // convert=false should be passed as files should be uploaded as-is.
1380 EXPECT_EQ("/feeds/upload/create-session/default/private/full/file%3Afoo" 1380 EXPECT_EQ("/feeds/upload/create-session/default/private/full/file%3Afoo"
1381 "?convert=false&v=3&alt=json&showroot=true", 1381 "?convert=false&v=3&alt=json&showroot=true",
1382 http_request_.relative_url); 1382 http_request_.relative_url);
1383 // Even though the body is empty, the content type should be set to 1383 // Even though the body is empty, the content type should be set to
(...skipping 26 matching lines...) Expand all
1410 upload_url, 1410 upload_url,
1411 0, // start_position 1411 0, // start_position
1412 kUploadContent.size(), // end_position (exclusive) 1412 kUploadContent.size(), // end_position (exclusive)
1413 kUploadContent.size(), // content_length, 1413 kUploadContent.size(), // content_length,
1414 "text/plain", // content_type 1414 "text/plain", // content_type
1415 buffer); 1415 buffer);
1416 1416
1417 resume_operation->Start( 1417 resume_operation->Start(
1418 kTestGDataAuthToken, kTestUserAgent, 1418 kTestGDataAuthToken, kTestUserAgent,
1419 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 1419 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
1420 MessageLoop::current()->Run(); 1420 base::MessageLoop::current()->Run();
1421 1421
1422 // METHOD_PUT should be used to upload data. 1422 // METHOD_PUT should be used to upload data.
1423 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method); 1423 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method);
1424 // Request should go to the upload URL. 1424 // Request should go to the upload URL.
1425 EXPECT_EQ(upload_url.path(), http_request_.relative_url); 1425 EXPECT_EQ(upload_url.path(), http_request_.relative_url);
1426 // Content-Range header should be added. 1426 // Content-Range header should be added.
1427 EXPECT_EQ("bytes 0-" + 1427 EXPECT_EQ("bytes 0-" +
1428 base::Int64ToString(kUploadContent.size() -1) + "/" + 1428 base::Int64ToString(kUploadContent.size() -1) + "/" +
1429 base::Int64ToString(kUploadContent.size()), 1429 base::Int64ToString(kUploadContent.size()),
1430 http_request_.headers["Content-Range"]); 1430 http_request_.headers["Content-Range"]);
(...skipping 26 matching lines...) Expand all
1457 test_util::CreateCopyResultCallback(&result_code, &upload_url)), 1457 test_util::CreateCopyResultCallback(&result_code, &upload_url)),
1458 base::FilePath::FromUTF8Unsafe("drive/existingfile.txt"), 1458 base::FilePath::FromUTF8Unsafe("drive/existingfile.txt"),
1459 "text/plain", 1459 "text/plain",
1460 kUploadContent.size(), 1460 kUploadContent.size(),
1461 "file:foo", 1461 "file:foo",
1462 kWrongETag); 1462 kWrongETag);
1463 1463
1464 initiate_operation->Start( 1464 initiate_operation->Start(
1465 kTestGDataAuthToken, kTestUserAgent, 1465 kTestGDataAuthToken, kTestUserAgent,
1466 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); 1466 base::Bind(&test_util::DoNothingForReAuthenticateCallback));
1467 MessageLoop::current()->Run(); 1467 base::MessageLoop::current()->Run();
1468 1468
1469 EXPECT_EQ(HTTP_PRECONDITION, result_code); 1469 EXPECT_EQ(HTTP_PRECONDITION, result_code);
1470 // For updating an existing file, METHOD_PUT should be used. 1470 // For updating an existing file, METHOD_PUT should be used.
1471 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method); 1471 EXPECT_EQ(test_server::METHOD_PUT, http_request_.method);
1472 // convert=false should be passed as files should be uploaded as-is. 1472 // convert=false should be passed as files should be uploaded as-is.
1473 EXPECT_EQ("/feeds/upload/create-session/default/private/full/file%3Afoo" 1473 EXPECT_EQ("/feeds/upload/create-session/default/private/full/file%3Afoo"
1474 "?convert=false&v=3&alt=json&showroot=true", 1474 "?convert=false&v=3&alt=json&showroot=true",
1475 http_request_.relative_url); 1475 http_request_.relative_url);
1476 // Even though the body is empty, the content type should be set to 1476 // Even though the body is empty, the content type should be set to
1477 // "text/plain". 1477 // "text/plain".
1478 EXPECT_EQ("text/plain", http_request_.headers["Content-Type"]); 1478 EXPECT_EQ("text/plain", http_request_.headers["Content-Type"]);
1479 EXPECT_EQ("text/plain", http_request_.headers["X-Upload-Content-Type"]); 1479 EXPECT_EQ("text/plain", http_request_.headers["X-Upload-Content-Type"]);
1480 EXPECT_EQ(base::Int64ToString(kUploadContent.size()), 1480 EXPECT_EQ(base::Int64ToString(kUploadContent.size()),
1481 http_request_.headers["X-Upload-Content-Length"]); 1481 http_request_.headers["X-Upload-Content-Length"]);
1482 // For updating an existing file, an empty body should be attached (PUT 1482 // For updating an existing file, an empty body should be attached (PUT
1483 // requires a body) 1483 // requires a body)
1484 EXPECT_TRUE(http_request_.has_content); 1484 EXPECT_TRUE(http_request_.has_content);
1485 EXPECT_EQ("", http_request_.content); 1485 EXPECT_EQ("", http_request_.content);
1486 EXPECT_EQ(kWrongETag, http_request_.headers["If-Match"]); 1486 EXPECT_EQ(kWrongETag, http_request_.headers["If-Match"]);
1487 } 1487 }
1488 1488
1489 } // namespace google_apis 1489 } // namespace google_apis
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698