| 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 "google_apis/drive/base_requests.h" |    5 #include "google_apis/drive/base_requests.h" | 
|    6  |    6  | 
|    7 #include "base/bind.h" |    7 #include "base/bind.h" | 
|    8 #include "base/memory/scoped_ptr.h" |    8 #include "base/memory/scoped_ptr.h" | 
|    9 #include "base/message_loop/message_loop.h" |    9 #include "base/message_loop/message_loop.h" | 
|   10 #include "base/run_loop.h" |   10 #include "base/run_loop.h" | 
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  168       "    \"message\": \"Rate Limit Exceeded\"\n" |  168       "    \"message\": \"Rate Limit Exceeded\"\n" | 
|  169       "   }\n" |  169       "   }\n" | 
|  170       "  ],\n" |  170       "  ],\n" | 
|  171       "  \"code\": 403,\n" |  171       "  \"code\": 403,\n" | 
|  172       "  \"message\": \"Rate Limit Exceeded\"\n" |  172       "  \"message\": \"Rate Limit Exceeded\"\n" | 
|  173       " }\n" |  173       " }\n" | 
|  174       "}\n"; |  174       "}\n"; | 
|  175  |  175  | 
|  176   DriveApiErrorCode error = DRIVE_OTHER_ERROR; |  176   DriveApiErrorCode error = DRIVE_OTHER_ERROR; | 
|  177   base::RunLoop run_loop; |  177   base::RunLoop run_loop; | 
|  178   sender_->StartRequestWithRetry( |  178   sender_->StartRequestWithAuthRetry(new FakeUrlFetchRequest( | 
|  179       new FakeUrlFetchRequest( |  179       sender_.get(), | 
|  180           sender_.get(), |  180       test_util::CreateQuitCallback( | 
|  181           test_util::CreateQuitCallback( |  181           &run_loop, test_util::CreateCopyResultCallback(&error)), | 
|  182               &run_loop, test_util::CreateCopyResultCallback(&error)), |  182       test_server_.base_url())); | 
|  183           test_server_.base_url())); |  | 
|  184   run_loop.Run(); |  183   run_loop.Run(); | 
|  185  |  184  | 
|  186   // HTTP_FORBIDDEN (403) is overridden by the error reason. |  185   // HTTP_FORBIDDEN (403) is overridden by the error reason. | 
|  187   EXPECT_EQ(HTTP_SERVICE_UNAVAILABLE, error); |  186   EXPECT_EQ(HTTP_SERVICE_UNAVAILABLE, error); | 
|  188 } |  187 } | 
|  189  |  188  | 
|  190 TEST_F(MultipartUploadRequestBaseTest, Basic) { |  189 TEST_F(MultipartUploadRequestBaseTest, Basic) { | 
|  191   response_code_ = net::HTTP_OK; |  190   response_code_ = net::HTTP_OK; | 
|  192   response_body_ = "{\"kind\": \"drive#file\", \"id\": \"file_id\"}"; |  191   response_body_ = "{\"kind\": \"drive#file\", \"id\": \"file_id\"}"; | 
|  193   scoped_ptr<google_apis::FileResource> file; |  192   scoped_ptr<google_apis::FileResource> file; | 
|  194   DriveApiErrorCode error = DRIVE_OTHER_ERROR; |  193   DriveApiErrorCode error = DRIVE_OTHER_ERROR; | 
|  195   base::RunLoop run_loop; |  194   base::RunLoop run_loop; | 
|  196   const base::FilePath source_path = |  195   const base::FilePath source_path = | 
|  197       google_apis::test_util::GetTestFilePath("chromeos/file_manager/text.txt"); |  196       google_apis::test_util::GetTestFilePath("chromeos/file_manager/text.txt"); | 
|  198   std::string upload_content_type; |  197   std::string upload_content_type; | 
|  199   std::string upload_content_data; |  198   std::string upload_content_data; | 
|  200   FakeMultipartUploadRequest* const multipart_request = |  199   FakeMultipartUploadRequest* const multipart_request = | 
|  201       new FakeMultipartUploadRequest( |  200       new FakeMultipartUploadRequest( | 
|  202           sender_->blocking_task_runner(), "{json:\"test\"}", "text/plain", 10, |  201           sender_->blocking_task_runner(), "{json:\"test\"}", "text/plain", 10, | 
|  203           source_path, |  202           source_path, | 
|  204           test_util::CreateQuitCallback( |  203           test_util::CreateQuitCallback( | 
|  205               &run_loop, test_util::CreateCopyResultCallback(&error, &file)), |  204               &run_loop, test_util::CreateCopyResultCallback(&error, &file)), | 
|  206           ProgressCallback(), test_server_.base_url(), &upload_content_type, |  205           ProgressCallback(), test_server_.base_url(), &upload_content_type, | 
|  207           &upload_content_data); |  206           &upload_content_data); | 
|  208   multipart_request->SetBoundaryForTesting("TESTBOUNDARY"); |  207   multipart_request->SetBoundaryForTesting("TESTBOUNDARY"); | 
|  209   scoped_ptr<drive::SingleBatchableDelegateRequest> request( |  208   scoped_ptr<drive::SingleBatchableDelegateRequest> request( | 
|  210       new drive::SingleBatchableDelegateRequest( |  209       new drive::SingleBatchableDelegateRequest( | 
|  211           sender_.get(), multipart_request)); |  210           sender_.get(), multipart_request)); | 
|  212   sender_->StartRequestWithRetry(request.release()); |  211   sender_->StartRequestWithAuthRetry(request.release()); | 
|  213   run_loop.Run(); |  212   run_loop.Run(); | 
|  214   EXPECT_EQ("multipart/related; boundary=TESTBOUNDARY", upload_content_type); |  213   EXPECT_EQ("multipart/related; boundary=TESTBOUNDARY", upload_content_type); | 
|  215   EXPECT_EQ( |  214   EXPECT_EQ( | 
|  216       "--TESTBOUNDARY\n" |  215       "--TESTBOUNDARY\n" | 
|  217       "Content-Type: application/json\n" |  216       "Content-Type: application/json\n" | 
|  218       "\n" |  217       "\n" | 
|  219       "{json:\"test\"}\n" |  218       "{json:\"test\"}\n" | 
|  220       "--TESTBOUNDARY\n" |  219       "--TESTBOUNDARY\n" | 
|  221       "Content-Type: text/plain\n" |  220       "Content-Type: text/plain\n" | 
|  222       "\n" |  221       "\n" | 
|  223       "This is a sample file. I like chocolate and chips.\n" |  222       "This is a sample file. I like chocolate and chips.\n" | 
|  224       "\n" |  223       "\n" | 
|  225       "--TESTBOUNDARY--", |  224       "--TESTBOUNDARY--", | 
|  226       upload_content_data); |  225       upload_content_data); | 
|  227   ASSERT_EQ(HTTP_SUCCESS, error); |  226   ASSERT_EQ(HTTP_SUCCESS, error); | 
|  228   EXPECT_EQ("file_id", file->file_id()); |  227   EXPECT_EQ("file_id", file->file_id()); | 
|  229 } |  228 } | 
|  230  |  229  | 
|  231 }  // Namespace google_apis |  230 }  // Namespace google_apis | 
| OLD | NEW |