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

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

Issue 17415007: Get rid of RequestRegistry (part 3): remove Drive path from request objects. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase. Created 7 years, 6 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/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/files/scoped_temp_dir.h" 10 #include "base/files/scoped_temp_dir.h"
(...skipping 898 matching lines...) Expand 10 before | Expand all | Expand 10 after
909 909
910 // 1) Get the upload URL for uploading a new file. 910 // 1) Get the upload URL for uploading a new file.
911 InitiateUploadNewFileRequest* initiate_request = 911 InitiateUploadNewFileRequest* initiate_request =
912 new InitiateUploadNewFileRequest( 912 new InitiateUploadNewFileRequest(
913 request_sender_.get(), 913 request_sender_.get(),
914 request_context_getter_.get(), 914 request_context_getter_.get(),
915 *url_generator_, 915 *url_generator_,
916 CreateComposedCallback( 916 CreateComposedCallback(
917 base::Bind(&test_util::RunAndQuit), 917 base::Bind(&test_util::RunAndQuit),
918 test_util::CreateCopyResultCallback(&result_code, &upload_url)), 918 test_util::CreateCopyResultCallback(&result_code, &upload_url)),
919 base::FilePath::FromUTF8Unsafe("drive/newfile.txt"),
920 "text/plain", 919 "text/plain",
921 kUploadContent.size(), 920 kUploadContent.size(),
922 "folder:id", 921 "folder:id",
923 "New file"); 922 "New file");
924 923
925 request_sender_->StartRequestWithRetry(initiate_request); 924 request_sender_->StartRequestWithRetry(initiate_request);
926 base::MessageLoop::current()->Run(); 925 base::MessageLoop::current()->Run();
927 926
928 EXPECT_EQ(HTTP_SUCCESS, result_code); 927 EXPECT_EQ(HTTP_SUCCESS, result_code);
929 EXPECT_EQ(test_server_.GetURL("/upload_new_file"), upload_url); 928 EXPECT_EQ(test_server_.GetURL("/upload_new_file"), upload_url);
(...skipping 20 matching lines...) Expand all
950 UploadRangeResponse response; 949 UploadRangeResponse response;
951 scoped_ptr<ResourceEntry> new_entry; 950 scoped_ptr<ResourceEntry> new_entry;
952 951
953 ResumeUploadRequest* resume_request = new ResumeUploadRequest( 952 ResumeUploadRequest* resume_request = new ResumeUploadRequest(
954 request_sender_.get(), 953 request_sender_.get(),
955 request_context_getter_.get(), 954 request_context_getter_.get(),
956 CreateComposedCallback( 955 CreateComposedCallback(
957 base::Bind(&test_util::RunAndQuit), 956 base::Bind(&test_util::RunAndQuit),
958 test_util::CreateCopyResultCallback(&response, &new_entry)), 957 test_util::CreateCopyResultCallback(&response, &new_entry)),
959 ProgressCallback(), 958 ProgressCallback(),
960 base::FilePath::FromUTF8Unsafe("drive/newfile.txt"),
961 upload_url, 959 upload_url,
962 0, // start_position 960 0, // start_position
963 kUploadContent.size(), // end_position (exclusive) 961 kUploadContent.size(), // end_position (exclusive)
964 kUploadContent.size(), // content_length, 962 kUploadContent.size(), // content_length,
965 "text/plain", // content_type 963 "text/plain", // content_type
966 kTestFilePath); 964 kTestFilePath);
967 965
968 request_sender_->StartRequestWithRetry(resume_request); 966 request_sender_->StartRequestWithRetry(resume_request);
969 base::MessageLoop::current()->Run(); 967 base::MessageLoop::current()->Run();
970 968
(...skipping 10 matching lines...) Expand all
981 EXPECT_TRUE(http_request_.has_content); 979 EXPECT_TRUE(http_request_.has_content);
982 EXPECT_EQ(kUploadContent, http_request_.content); 980 EXPECT_EQ(kUploadContent, http_request_.content);
983 981
984 // Check the response. 982 // Check the response.
985 EXPECT_EQ(HTTP_CREATED, response.code); // Because it's a new file 983 EXPECT_EQ(HTTP_CREATED, response.code); // Because it's a new file
986 // The start and end positions should be set to -1, if an upload is complete. 984 // The start and end positions should be set to -1, if an upload is complete.
987 EXPECT_EQ(-1, response.start_position_received); 985 EXPECT_EQ(-1, response.start_position_received);
988 EXPECT_EQ(-1, response.end_position_received); 986 EXPECT_EQ(-1, response.end_position_received);
989 } 987 }
990 988
991 // TODO(kinaba): crbug.com/{241241,164098} Re-enable the test.
992 #define NO_GET_UPLOAD_STATUS_TEST
993
994 // This test exercises InitiateUploadNewFileRequest and ResumeUploadRequest 989 // This test exercises InitiateUploadNewFileRequest and ResumeUploadRequest
995 // for a scenario of uploading a new *large* file, which requires multiple 990 // for a scenario of uploading a new *large* file, which requires multiple
996 // requests of ResumeUploadRequest. GetUploadRequest is also tested in this 991 // requests of ResumeUploadRequest. GetUploadRequest is also tested in this
997 // test case. 992 // test case.
998 TEST_F(GDataWapiRequestsTest, UploadNewLargeFile) { 993 TEST_F(GDataWapiRequestsTest, UploadNewLargeFile) {
999 const size_t kMaxNumBytes = 10; 994 const size_t kMaxNumBytes = 10;
1000 // This is big enough to cause multiple requests of ResumeUploadRequest 995 // This is big enough to cause multiple requests of ResumeUploadRequest
1001 // as we are going to send at most kMaxNumBytes at a time. 996 // as we are going to send at most kMaxNumBytes at a time.
1002 // So, sending "kMaxNumBytes * 2 + 1" bytes ensures three 997 // So, sending "kMaxNumBytes * 2 + 1" bytes ensures three
1003 // ResumeUploadRequests, which are start, middle and last requests. 998 // ResumeUploadRequests, which are start, middle and last requests.
1004 const std::string kUploadContent(kMaxNumBytes * 2 + 1, 'a'); 999 const std::string kUploadContent(kMaxNumBytes * 2 + 1, 'a');
1005 const base::FilePath kTestFilePath = 1000 const base::FilePath kTestFilePath =
1006 temp_dir_.path().AppendASCII("upload_file.txt"); 1001 temp_dir_.path().AppendASCII("upload_file.txt");
1007 ASSERT_TRUE(test_util::WriteStringToFile(kTestFilePath, kUploadContent)); 1002 ASSERT_TRUE(test_util::WriteStringToFile(kTestFilePath, kUploadContent));
1008 1003
1009 GDataErrorCode result_code = GDATA_OTHER_ERROR; 1004 GDataErrorCode result_code = GDATA_OTHER_ERROR;
1010 GURL upload_url; 1005 GURL upload_url;
1011 1006
1012 // 1) Get the upload URL for uploading a new file. 1007 // 1) Get the upload URL for uploading a new file.
1013 InitiateUploadNewFileRequest* initiate_request = 1008 InitiateUploadNewFileRequest* initiate_request =
1014 new InitiateUploadNewFileRequest( 1009 new InitiateUploadNewFileRequest(
1015 request_sender_.get(), 1010 request_sender_.get(),
1016 request_context_getter_.get(), 1011 request_context_getter_.get(),
1017 *url_generator_, 1012 *url_generator_,
1018 CreateComposedCallback( 1013 CreateComposedCallback(
1019 base::Bind(&test_util::RunAndQuit), 1014 base::Bind(&test_util::RunAndQuit),
1020 test_util::CreateCopyResultCallback(&result_code, &upload_url)), 1015 test_util::CreateCopyResultCallback(&result_code, &upload_url)),
1021 base::FilePath::FromUTF8Unsafe("drive/newfile.txt"),
1022 "text/plain", 1016 "text/plain",
1023 kUploadContent.size(), 1017 kUploadContent.size(),
1024 "folder:id", 1018 "folder:id",
1025 "New file"); 1019 "New file");
1026 1020
1027 request_sender_->StartRequestWithRetry(initiate_request); 1021 request_sender_->StartRequestWithRetry(initiate_request);
1028 base::MessageLoop::current()->Run(); 1022 base::MessageLoop::current()->Run();
1029 1023
1030 EXPECT_EQ(HTTP_SUCCESS, result_code); 1024 EXPECT_EQ(HTTP_SUCCESS, result_code);
1031 EXPECT_EQ(test_server_.GetURL("/upload_new_file"), upload_url); 1025 EXPECT_EQ(test_server_.GetURL("/upload_new_file"), upload_url);
1032 EXPECT_EQ(net::test_server::METHOD_POST, http_request_.method); 1026 EXPECT_EQ(net::test_server::METHOD_POST, http_request_.method);
1033 // convert=false should be passed as files should be uploaded as-is. 1027 // convert=false should be passed as files should be uploaded as-is.
1034 EXPECT_EQ( 1028 EXPECT_EQ(
1035 "/feeds/upload/create-session/default/private/full/folder%3Aid/contents" 1029 "/feeds/upload/create-session/default/private/full/folder%3Aid/contents"
1036 "?convert=false&v=3&alt=json&showroot=true", 1030 "?convert=false&v=3&alt=json&showroot=true",
1037 http_request_.relative_url); 1031 http_request_.relative_url);
1038 EXPECT_EQ("text/plain", http_request_.headers["X-Upload-Content-Type"]); 1032 EXPECT_EQ("text/plain", http_request_.headers["X-Upload-Content-Type"]);
1039 EXPECT_EQ("application/atom+xml", http_request_.headers["Content-Type"]); 1033 EXPECT_EQ("application/atom+xml", http_request_.headers["Content-Type"]);
1040 EXPECT_EQ(base::Int64ToString(kUploadContent.size()), 1034 EXPECT_EQ(base::Int64ToString(kUploadContent.size()),
1041 http_request_.headers["X-Upload-Content-Length"]); 1035 http_request_.headers["X-Upload-Content-Length"]);
1042 1036
1043 EXPECT_TRUE(http_request_.has_content); 1037 EXPECT_TRUE(http_request_.has_content);
1044 EXPECT_EQ("<?xml version=\"1.0\"?>\n" 1038 EXPECT_EQ("<?xml version=\"1.0\"?>\n"
1045 "<entry xmlns=\"http://www.w3.org/2005/Atom\" " 1039 "<entry xmlns=\"http://www.w3.org/2005/Atom\" "
1046 "xmlns:docs=\"http://schemas.google.com/docs/2007\">\n" 1040 "xmlns:docs=\"http://schemas.google.com/docs/2007\">\n"
1047 " <title>New file</title>\n" 1041 " <title>New file</title>\n"
1048 "</entry>\n", 1042 "</entry>\n",
1049 http_request_.content); 1043 http_request_.content);
1050 1044
1051 #if !defined(NO_GET_UPLOAD_STATUS_TEST)
1052 // 2) Before sending any data, check the current status. 1045 // 2) Before sending any data, check the current status.
1053 // This is an edge case test for GetUploadStatusRequest 1046 // This is an edge case test for GetUploadStatusRequest
1054 // (UploadRangeRequestBase). 1047 // (UploadRangeRequestBase).
1055 { 1048 {
1056 UploadRangeResponse response; 1049 UploadRangeResponse response;
1057 scoped_ptr<ResourceEntry> new_entry; 1050 scoped_ptr<ResourceEntry> new_entry;
1058 1051
1059 // Check the response by GetUploadStatusRequest. 1052 // Check the response by GetUploadStatusRequest.
1060 GetUploadStatusRequest* get_upload_status_request = 1053 GetUploadStatusRequest* get_upload_status_request =
1061 new GetUploadStatusRequest( 1054 new GetUploadStatusRequest(
1062 request_sender_.get(), 1055 request_sender_.get(),
1063 request_context_getter_.get(), 1056 request_context_getter_.get(),
1064 CreateComposedCallback( 1057 CreateComposedCallback(
1065 base::Bind(&test_util::RunAndQuit), 1058 base::Bind(&test_util::RunAndQuit),
1066 test_util::CreateCopyResultCallback(&response, &new_entry)), 1059 test_util::CreateCopyResultCallback(&response, &new_entry)),
1067 base::FilePath::FromUTF8Unsafe("drive/newfile.txt"),
1068 upload_url, 1060 upload_url,
1069 kUploadContent.size()); 1061 kUploadContent.size());
1070 request_sender_->StartRequestWithRetry(get_upload_status_request); 1062 request_sender_->StartRequestWithRetry(get_upload_status_request);
1071 base::MessageLoop::current()->Run(); 1063 base::MessageLoop::current()->Run();
1072 1064
1073 // METHOD_PUT should be used to upload data. 1065 // METHOD_PUT should be used to upload data.
1074 EXPECT_EQ(net::test_server::METHOD_PUT, http_request_.method); 1066 EXPECT_EQ(net::test_server::METHOD_PUT, http_request_.method);
1075 // Request should go to the upload URL. 1067 // Request should go to the upload URL.
1076 EXPECT_EQ(upload_url.path(), http_request_.relative_url); 1068 EXPECT_EQ(upload_url.path(), http_request_.relative_url);
1077 // Content-Range header should be added. 1069 // Content-Range header should be added.
1078 EXPECT_EQ("bytes */" + base::Int64ToString(kUploadContent.size()), 1070 EXPECT_EQ("bytes */" + base::Int64ToString(kUploadContent.size()),
1079 http_request_.headers["Content-Range"]); 1071 http_request_.headers["Content-Range"]);
1080 EXPECT_TRUE(http_request_.has_content); 1072 EXPECT_TRUE(http_request_.has_content);
1081 EXPECT_TRUE(http_request_.content.empty()); 1073 EXPECT_TRUE(http_request_.content.empty());
1082 1074
1083 // Check the response. 1075 // Check the response.
1084 EXPECT_EQ(HTTP_RESUME_INCOMPLETE, response.code); 1076 EXPECT_EQ(HTTP_RESUME_INCOMPLETE, response.code);
1085 EXPECT_EQ(0, response.start_position_received); 1077 EXPECT_EQ(0, response.start_position_received);
1086 EXPECT_EQ(0, response.end_position_received); 1078 EXPECT_EQ(0, response.end_position_received);
1087 } 1079 }
1088 #endif // NO_GET_UPLOAD_STATUS_TEST
1089 1080
1090 // 3) Upload the content to the upload URL with multiple requests. 1081 // 3) Upload the content to the upload URL with multiple requests.
1091 size_t num_bytes_consumed = 0; 1082 size_t num_bytes_consumed = 0;
1092 for (size_t start_position = 0; start_position < kUploadContent.size(); 1083 for (size_t start_position = 0; start_position < kUploadContent.size();
1093 start_position += kMaxNumBytes) { 1084 start_position += kMaxNumBytes) {
1094 SCOPED_TRACE(testing::Message("start_position: ") << start_position); 1085 SCOPED_TRACE(testing::Message("start_position: ") << start_position);
1095 1086
1096 // The payload is at most kMaxNumBytes. 1087 // The payload is at most kMaxNumBytes.
1097 const size_t remaining_size = kUploadContent.size() - start_position; 1088 const size_t remaining_size = kUploadContent.size() - start_position;
1098 const std::string payload = kUploadContent.substr( 1089 const std::string payload = kUploadContent.substr(
1099 start_position, std::min(kMaxNumBytes, remaining_size)); 1090 start_position, std::min(kMaxNumBytes, remaining_size));
1100 num_bytes_consumed += payload.size(); 1091 num_bytes_consumed += payload.size();
1101 // The end position is exclusive. 1092 // The end position is exclusive.
1102 const size_t end_position = start_position + payload.size(); 1093 const size_t end_position = start_position + payload.size();
1103 1094
1104 UploadRangeResponse response; 1095 UploadRangeResponse response;
1105 scoped_ptr<ResourceEntry> new_entry; 1096 scoped_ptr<ResourceEntry> new_entry;
1106 1097
1107 ResumeUploadRequest* resume_request = new ResumeUploadRequest( 1098 ResumeUploadRequest* resume_request = new ResumeUploadRequest(
1108 request_sender_.get(), 1099 request_sender_.get(),
1109 request_context_getter_.get(), 1100 request_context_getter_.get(),
1110 CreateComposedCallback( 1101 CreateComposedCallback(
1111 base::Bind(&test_util::RunAndQuit), 1102 base::Bind(&test_util::RunAndQuit),
1112 test_util::CreateCopyResultCallback(&response, &new_entry)), 1103 test_util::CreateCopyResultCallback(&response, &new_entry)),
1113 ProgressCallback(), 1104 ProgressCallback(),
1114 base::FilePath::FromUTF8Unsafe("drive/newfile.txt"),
1115 upload_url, 1105 upload_url,
1116 start_position, 1106 start_position,
1117 end_position, 1107 end_position,
1118 kUploadContent.size(), // content_length, 1108 kUploadContent.size(), // content_length,
1119 "text/plain", // content_type 1109 "text/plain", // content_type
1120 kTestFilePath); 1110 kTestFilePath);
1121 1111
1122 request_sender_->StartRequestWithRetry(resume_request); 1112 request_sender_->StartRequestWithRetry(resume_request);
1123 base::MessageLoop::current()->Run(); 1113 base::MessageLoop::current()->Run();
1124 1114
(...skipping 20 matching lines...) Expand all
1145 EXPECT_EQ(-1, response.end_position_received); 1135 EXPECT_EQ(-1, response.end_position_received);
1146 // The upload process is completed, so exit from the loop. 1136 // The upload process is completed, so exit from the loop.
1147 break; 1137 break;
1148 } 1138 }
1149 1139
1150 EXPECT_EQ(HTTP_RESUME_INCOMPLETE, response.code); 1140 EXPECT_EQ(HTTP_RESUME_INCOMPLETE, response.code);
1151 EXPECT_EQ(0, response.start_position_received); 1141 EXPECT_EQ(0, response.start_position_received);
1152 EXPECT_EQ(static_cast<int64>(end_position), 1142 EXPECT_EQ(static_cast<int64>(end_position),
1153 response.end_position_received); 1143 response.end_position_received);
1154 1144
1155 #if !defined(NO_GET_UPLOAD_STATUS_TEST)
1156 // Check the response by GetUploadStatusRequest. 1145 // Check the response by GetUploadStatusRequest.
1157 GetUploadStatusRequest* get_upload_status_request = 1146 GetUploadStatusRequest* get_upload_status_request =
1158 new GetUploadStatusRequest( 1147 new GetUploadStatusRequest(
1159 request_sender_.get(), 1148 request_sender_.get(),
1160 request_context_getter_.get(), 1149 request_context_getter_.get(),
1161 CreateComposedCallback( 1150 CreateComposedCallback(
1162 base::Bind(&test_util::RunAndQuit), 1151 base::Bind(&test_util::RunAndQuit),
1163 test_util::CreateCopyResultCallback(&response, &new_entry)), 1152 test_util::CreateCopyResultCallback(&response, &new_entry)),
1164 base::FilePath::FromUTF8Unsafe("drive/newfile.txt"),
1165 upload_url, 1153 upload_url,
1166 kUploadContent.size()); 1154 kUploadContent.size());
1167 request_sender_->StartRequestWithRetry(get_upload_request); 1155 request_sender_->StartRequestWithRetry(get_upload_status_request);
1168 base::MessageLoop::current()->Run(); 1156 base::MessageLoop::current()->Run();
1169 1157
1170 // METHOD_PUT should be used to upload data. 1158 // METHOD_PUT should be used to upload data.
1171 EXPECT_EQ(net::test_server::METHOD_PUT, http_request_.method); 1159 EXPECT_EQ(net::test_server::METHOD_PUT, http_request_.method);
1172 // Request should go to the upload URL. 1160 // Request should go to the upload URL.
1173 EXPECT_EQ(upload_url.path(), http_request_.relative_url); 1161 EXPECT_EQ(upload_url.path(), http_request_.relative_url);
1174 // Content-Range header should be added. 1162 // Content-Range header should be added.
1175 EXPECT_EQ("bytes */" + base::Int64ToString(kUploadContent.size()), 1163 EXPECT_EQ("bytes */" + base::Int64ToString(kUploadContent.size()),
1176 http_request_.headers["Content-Range"]); 1164 http_request_.headers["Content-Range"]);
1177 EXPECT_TRUE(http_request_.has_content); 1165 EXPECT_TRUE(http_request_.has_content);
1178 EXPECT_TRUE(http_request_.content.empty()); 1166 EXPECT_TRUE(http_request_.content.empty());
1179 1167
1180 // Check the response. 1168 // Check the response.
1181 EXPECT_EQ(HTTP_RESUME_INCOMPLETE, response.code); 1169 EXPECT_EQ(HTTP_RESUME_INCOMPLETE, response.code);
1182 EXPECT_EQ(0, response.start_position_received); 1170 EXPECT_EQ(0, response.start_position_received);
1183 EXPECT_EQ(static_cast<int64>(end_position), 1171 EXPECT_EQ(static_cast<int64>(end_position),
1184 response.end_position_received); 1172 response.end_position_received);
1185 #endif // NO_GET_UPLOAD_STATUS_TEST
1186 } 1173 }
1187 1174
1188 EXPECT_EQ(kUploadContent.size(), num_bytes_consumed); 1175 EXPECT_EQ(kUploadContent.size(), num_bytes_consumed);
1189 } 1176 }
1190 1177
1191 // This test exercises InitiateUploadNewFileRequest and ResumeUploadRequest 1178 // This test exercises InitiateUploadNewFileRequest and ResumeUploadRequest
1192 // for a scenario of uploading a new *empty* file. 1179 // for a scenario of uploading a new *empty* file.
1193 // 1180 //
1194 // The test is almost identical to UploadNewFile. The only difference is the 1181 // The test is almost identical to UploadNewFile. The only difference is the
1195 // expectation for the Content-Range header. 1182 // expectation for the Content-Range header.
1196 TEST_F(GDataWapiRequestsTest, UploadNewEmptyFile) { 1183 TEST_F(GDataWapiRequestsTest, UploadNewEmptyFile) {
1197 const std::string kUploadContent; 1184 const std::string kUploadContent;
1198 const base::FilePath kTestFilePath = 1185 const base::FilePath kTestFilePath =
1199 temp_dir_.path().AppendASCII("empty_file.txt"); 1186 temp_dir_.path().AppendASCII("empty_file.txt");
1200 ASSERT_TRUE(test_util::WriteStringToFile(kTestFilePath, kUploadContent)); 1187 ASSERT_TRUE(test_util::WriteStringToFile(kTestFilePath, kUploadContent));
1201 1188
1202 GDataErrorCode result_code = GDATA_OTHER_ERROR; 1189 GDataErrorCode result_code = GDATA_OTHER_ERROR;
1203 GURL upload_url; 1190 GURL upload_url;
1204 1191
1205 // 1) Get the upload URL for uploading a new file. 1192 // 1) Get the upload URL for uploading a new file.
1206 InitiateUploadNewFileRequest* initiate_request = 1193 InitiateUploadNewFileRequest* initiate_request =
1207 new InitiateUploadNewFileRequest( 1194 new InitiateUploadNewFileRequest(
1208 request_sender_.get(), 1195 request_sender_.get(),
1209 request_context_getter_.get(), 1196 request_context_getter_.get(),
1210 *url_generator_, 1197 *url_generator_,
1211 CreateComposedCallback( 1198 CreateComposedCallback(
1212 base::Bind(&test_util::RunAndQuit), 1199 base::Bind(&test_util::RunAndQuit),
1213 test_util::CreateCopyResultCallback(&result_code, &upload_url)), 1200 test_util::CreateCopyResultCallback(&result_code, &upload_url)),
1214 base::FilePath::FromUTF8Unsafe("drive/newfile.txt"),
1215 "text/plain", 1201 "text/plain",
1216 kUploadContent.size(), 1202 kUploadContent.size(),
1217 "folder:id", 1203 "folder:id",
1218 "New file"); 1204 "New file");
1219 1205
1220 request_sender_->StartRequestWithRetry(initiate_request); 1206 request_sender_->StartRequestWithRetry(initiate_request);
1221 base::MessageLoop::current()->Run(); 1207 base::MessageLoop::current()->Run();
1222 1208
1223 EXPECT_EQ(HTTP_SUCCESS, result_code); 1209 EXPECT_EQ(HTTP_SUCCESS, result_code);
1224 EXPECT_EQ(test_server_.GetURL("/upload_new_file"), upload_url); 1210 EXPECT_EQ(test_server_.GetURL("/upload_new_file"), upload_url);
(...skipping 20 matching lines...) Expand all
1245 UploadRangeResponse response; 1231 UploadRangeResponse response;
1246 scoped_ptr<ResourceEntry> new_entry; 1232 scoped_ptr<ResourceEntry> new_entry;
1247 1233
1248 ResumeUploadRequest* resume_request = new ResumeUploadRequest( 1234 ResumeUploadRequest* resume_request = new ResumeUploadRequest(
1249 request_sender_.get(), 1235 request_sender_.get(),
1250 request_context_getter_.get(), 1236 request_context_getter_.get(),
1251 CreateComposedCallback( 1237 CreateComposedCallback(
1252 base::Bind(&test_util::RunAndQuit), 1238 base::Bind(&test_util::RunAndQuit),
1253 test_util::CreateCopyResultCallback(&response, &new_entry)), 1239 test_util::CreateCopyResultCallback(&response, &new_entry)),
1254 ProgressCallback(), 1240 ProgressCallback(),
1255 base::FilePath::FromUTF8Unsafe("drive/newfile.txt"),
1256 upload_url, 1241 upload_url,
1257 0, // start_position 1242 0, // start_position
1258 kUploadContent.size(), // end_position (exclusive) 1243 kUploadContent.size(), // end_position (exclusive)
1259 kUploadContent.size(), // content_length, 1244 kUploadContent.size(), // content_length,
1260 "text/plain", // content_type 1245 "text/plain", // content_type
1261 kTestFilePath); 1246 kTestFilePath);
1262 1247
1263 request_sender_->StartRequestWithRetry(resume_request); 1248 request_sender_->StartRequestWithRetry(resume_request);
1264 base::MessageLoop::current()->Run(); 1249 base::MessageLoop::current()->Run();
1265 1250
(...skipping 28 matching lines...) Expand all
1294 1279
1295 // 1) Get the upload URL for uploading an existing file. 1280 // 1) Get the upload URL for uploading an existing file.
1296 InitiateUploadExistingFileRequest* initiate_request = 1281 InitiateUploadExistingFileRequest* initiate_request =
1297 new InitiateUploadExistingFileRequest( 1282 new InitiateUploadExistingFileRequest(
1298 request_sender_.get(), 1283 request_sender_.get(),
1299 request_context_getter_.get(), 1284 request_context_getter_.get(),
1300 *url_generator_, 1285 *url_generator_,
1301 CreateComposedCallback( 1286 CreateComposedCallback(
1302 base::Bind(&test_util::RunAndQuit), 1287 base::Bind(&test_util::RunAndQuit),
1303 test_util::CreateCopyResultCallback(&result_code, &upload_url)), 1288 test_util::CreateCopyResultCallback(&result_code, &upload_url)),
1304 base::FilePath::FromUTF8Unsafe("drive/existingfile.txt"),
1305 "text/plain", 1289 "text/plain",
1306 kUploadContent.size(), 1290 kUploadContent.size(),
1307 "file:foo", 1291 "file:foo",
1308 std::string() /* etag */); 1292 std::string() /* etag */);
1309 1293
1310 request_sender_->StartRequestWithRetry(initiate_request); 1294 request_sender_->StartRequestWithRetry(initiate_request);
1311 base::MessageLoop::current()->Run(); 1295 base::MessageLoop::current()->Run();
1312 1296
1313 EXPECT_EQ(HTTP_SUCCESS, result_code); 1297 EXPECT_EQ(HTTP_SUCCESS, result_code);
1314 EXPECT_EQ(test_server_.GetURL("/upload_existing_file"), upload_url); 1298 EXPECT_EQ(test_server_.GetURL("/upload_existing_file"), upload_url);
(...skipping 19 matching lines...) Expand all
1334 UploadRangeResponse response; 1318 UploadRangeResponse response;
1335 scoped_ptr<ResourceEntry> new_entry; 1319 scoped_ptr<ResourceEntry> new_entry;
1336 1320
1337 ResumeUploadRequest* resume_request = new ResumeUploadRequest( 1321 ResumeUploadRequest* resume_request = new ResumeUploadRequest(
1338 request_sender_.get(), 1322 request_sender_.get(),
1339 request_context_getter_.get(), 1323 request_context_getter_.get(),
1340 CreateComposedCallback( 1324 CreateComposedCallback(
1341 base::Bind(&test_util::RunAndQuit), 1325 base::Bind(&test_util::RunAndQuit),
1342 test_util::CreateCopyResultCallback(&response, &new_entry)), 1326 test_util::CreateCopyResultCallback(&response, &new_entry)),
1343 ProgressCallback(), 1327 ProgressCallback(),
1344 base::FilePath::FromUTF8Unsafe("drive/existingfile.txt"),
1345 upload_url, 1328 upload_url,
1346 0, // start_position 1329 0, // start_position
1347 kUploadContent.size(), // end_position (exclusive) 1330 kUploadContent.size(), // end_position (exclusive)
1348 kUploadContent.size(), // content_length, 1331 kUploadContent.size(), // content_length,
1349 "text/plain", // content_type 1332 "text/plain", // content_type
1350 kTestFilePath); 1333 kTestFilePath);
1351 1334
1352 request_sender_->StartRequestWithRetry(resume_request); 1335 request_sender_->StartRequestWithRetry(resume_request);
1353 base::MessageLoop::current()->Run(); 1336 base::MessageLoop::current()->Run();
1354 1337
(...skipping 30 matching lines...) Expand all
1385 1368
1386 // 1) Get the upload URL for uploading an existing file. 1369 // 1) Get the upload URL for uploading an existing file.
1387 InitiateUploadExistingFileRequest* initiate_request = 1370 InitiateUploadExistingFileRequest* initiate_request =
1388 new InitiateUploadExistingFileRequest( 1371 new InitiateUploadExistingFileRequest(
1389 request_sender_.get(), 1372 request_sender_.get(),
1390 request_context_getter_.get(), 1373 request_context_getter_.get(),
1391 *url_generator_, 1374 *url_generator_,
1392 CreateComposedCallback( 1375 CreateComposedCallback(
1393 base::Bind(&test_util::RunAndQuit), 1376 base::Bind(&test_util::RunAndQuit),
1394 test_util::CreateCopyResultCallback(&result_code, &upload_url)), 1377 test_util::CreateCopyResultCallback(&result_code, &upload_url)),
1395 base::FilePath::FromUTF8Unsafe("drive/existingfile.txt"),
1396 "text/plain", 1378 "text/plain",
1397 kUploadContent.size(), 1379 kUploadContent.size(),
1398 "file:foo", 1380 "file:foo",
1399 kTestETag); 1381 kTestETag);
1400 1382
1401 request_sender_->StartRequestWithRetry(initiate_request); 1383 request_sender_->StartRequestWithRetry(initiate_request);
1402 base::MessageLoop::current()->Run(); 1384 base::MessageLoop::current()->Run();
1403 1385
1404 EXPECT_EQ(HTTP_SUCCESS, result_code); 1386 EXPECT_EQ(HTTP_SUCCESS, result_code);
1405 EXPECT_EQ(test_server_.GetURL("/upload_existing_file"), upload_url); 1387 EXPECT_EQ(test_server_.GetURL("/upload_existing_file"), upload_url);
(...skipping 19 matching lines...) Expand all
1425 UploadRangeResponse response; 1407 UploadRangeResponse response;
1426 scoped_ptr<ResourceEntry> new_entry; 1408 scoped_ptr<ResourceEntry> new_entry;
1427 1409
1428 ResumeUploadRequest* resume_request = new ResumeUploadRequest( 1410 ResumeUploadRequest* resume_request = new ResumeUploadRequest(
1429 request_sender_.get(), 1411 request_sender_.get(),
1430 request_context_getter_.get(), 1412 request_context_getter_.get(),
1431 CreateComposedCallback( 1413 CreateComposedCallback(
1432 base::Bind(&test_util::RunAndQuit), 1414 base::Bind(&test_util::RunAndQuit),
1433 test_util::CreateCopyResultCallback(&response, &new_entry)), 1415 test_util::CreateCopyResultCallback(&response, &new_entry)),
1434 ProgressCallback(), 1416 ProgressCallback(),
1435 base::FilePath::FromUTF8Unsafe("drive/existingfile.txt"),
1436 upload_url, 1417 upload_url,
1437 0, // start_position 1418 0, // start_position
1438 kUploadContent.size(), // end_position (exclusive) 1419 kUploadContent.size(), // end_position (exclusive)
1439 kUploadContent.size(), // content_length, 1420 kUploadContent.size(), // content_length,
1440 "text/plain", // content_type 1421 "text/plain", // content_type
1441 kTestFilePath); 1422 kTestFilePath);
1442 1423
1443 request_sender_->StartRequestWithRetry(resume_request); 1424 request_sender_->StartRequestWithRetry(resume_request);
1444 base::MessageLoop::current()->Run(); 1425 base::MessageLoop::current()->Run();
1445 1426
(...skipping 26 matching lines...) Expand all
1472 GURL upload_url; 1453 GURL upload_url;
1473 1454
1474 InitiateUploadExistingFileRequest* initiate_request = 1455 InitiateUploadExistingFileRequest* initiate_request =
1475 new InitiateUploadExistingFileRequest( 1456 new InitiateUploadExistingFileRequest(
1476 request_sender_.get(), 1457 request_sender_.get(),
1477 request_context_getter_.get(), 1458 request_context_getter_.get(),
1478 *url_generator_, 1459 *url_generator_,
1479 CreateComposedCallback( 1460 CreateComposedCallback(
1480 base::Bind(&test_util::RunAndQuit), 1461 base::Bind(&test_util::RunAndQuit),
1481 test_util::CreateCopyResultCallback(&result_code, &upload_url)), 1462 test_util::CreateCopyResultCallback(&result_code, &upload_url)),
1482 base::FilePath::FromUTF8Unsafe("drive/existingfile.txt"),
1483 "text/plain", 1463 "text/plain",
1484 kUploadContent.size(), 1464 kUploadContent.size(),
1485 "file:foo", 1465 "file:foo",
1486 kWrongETag); 1466 kWrongETag);
1487 1467
1488 request_sender_->StartRequestWithRetry(initiate_request); 1468 request_sender_->StartRequestWithRetry(initiate_request);
1489 base::MessageLoop::current()->Run(); 1469 base::MessageLoop::current()->Run();
1490 1470
1491 EXPECT_EQ(HTTP_PRECONDITION, result_code); 1471 EXPECT_EQ(HTTP_PRECONDITION, result_code);
1492 // For updating an existing file, METHOD_PUT should be used. 1472 // For updating an existing file, METHOD_PUT should be used.
1493 EXPECT_EQ(net::test_server::METHOD_PUT, http_request_.method); 1473 EXPECT_EQ(net::test_server::METHOD_PUT, http_request_.method);
1494 // convert=false should be passed as files should be uploaded as-is. 1474 // convert=false should be passed as files should be uploaded as-is.
1495 EXPECT_EQ("/feeds/upload/create-session/default/private/full/file%3Afoo" 1475 EXPECT_EQ("/feeds/upload/create-session/default/private/full/file%3Afoo"
1496 "?convert=false&v=3&alt=json&showroot=true", 1476 "?convert=false&v=3&alt=json&showroot=true",
1497 http_request_.relative_url); 1477 http_request_.relative_url);
1498 // Even though the body is empty, the content type should be set to 1478 // Even though the body is empty, the content type should be set to
1499 // "text/plain". 1479 // "text/plain".
1500 EXPECT_EQ("text/plain", http_request_.headers["Content-Type"]); 1480 EXPECT_EQ("text/plain", http_request_.headers["Content-Type"]);
1501 EXPECT_EQ("text/plain", http_request_.headers["X-Upload-Content-Type"]); 1481 EXPECT_EQ("text/plain", http_request_.headers["X-Upload-Content-Type"]);
1502 EXPECT_EQ(base::Int64ToString(kUploadContent.size()), 1482 EXPECT_EQ(base::Int64ToString(kUploadContent.size()),
1503 http_request_.headers["X-Upload-Content-Length"]); 1483 http_request_.headers["X-Upload-Content-Length"]);
1504 // For updating an existing file, an empty body should be attached (PUT 1484 // For updating an existing file, an empty body should be attached (PUT
1505 // requires a body) 1485 // requires a body)
1506 EXPECT_TRUE(http_request_.has_content); 1486 EXPECT_TRUE(http_request_.has_content);
1507 EXPECT_EQ("", http_request_.content); 1487 EXPECT_EQ("", http_request_.content);
1508 EXPECT_EQ(kWrongETag, http_request_.headers["If-Match"]); 1488 EXPECT_EQ(kWrongETag, http_request_.headers["If-Match"]);
1509 } 1489 }
1510 1490
1511 } // namespace google_apis 1491 } // namespace google_apis
OLDNEW
« no previous file with comments | « chrome/browser/google_apis/gdata_wapi_requests.cc ('k') | chrome/browser/google_apis/request_registry.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698