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

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

Issue 12207075: Split InitiateUpload method into two. (Closed) Base URL: http://git.chromium.org/chromium/src.git@b148632_extract_initiate_upload_operation_base
Patch Set: Rebase Created 7 years, 10 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
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 "chrome/browser/google_apis/drive_uploader.h" 5 #include "chrome/browser/google_apis/drive_uploader.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cstdlib> 8 #include <cstdlib>
9 #include <string> 9 #include <string>
10 10
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 received_bytes_(0), 60 received_bytes_(0),
61 resume_upload_call_count_(0) {} 61 resume_upload_call_count_(0) {}
62 62
63 int64 received_bytes() const { return received_bytes_; } 63 int64 received_bytes() const { return received_bytes_; }
64 64
65 int64 resume_upload_call_count() const { return resume_upload_call_count_; } 65 int64 resume_upload_call_count() const { return resume_upload_call_count_; }
66 66
67 private: 67 private:
68 // DriveServiceInterface overrides. 68 // DriveServiceInterface overrides.
69 // Handles a request for obtaining an upload location URL. 69 // Handles a request for obtaining an upload location URL.
70 virtual void InitiateUpload(const InitiateUploadParams& params, 70 virtual void InitiateUploadNewFile(
71 const InitiateUploadCallback& callback) OVERRIDE { 71 const FilePath& drive_file_path,
72 const std::string& content_type,
73 int64 content_length,
74 const GURL& parent_upload_url,
75 const std::string& title,
76 const InitiateUploadCallback& callback) OVERRIDE {
77 EXPECT_EQ(kTestDocumentTitle, title);
78 EXPECT_EQ(kTestMimeType, content_type);
72 const int64 expected_size = expected_upload_content_.size(); 79 const int64 expected_size = expected_upload_content_.size();
80 EXPECT_EQ(expected_size, content_length);
81 EXPECT_EQ(GURL(kTestInitialUploadURL), parent_upload_url);
73 82
74 // Verify that the expected parameters are passed. 83 // Calls back the upload URL for subsequent ResumeUpload operations.
75 if (params.upload_mode == UPLOAD_NEW_FILE) 84 // InitiateUpload is an asynchronous function, so don't callback directly.
76 EXPECT_EQ(kTestDocumentTitle, params.title); 85 MessageLoop::current()->PostTask(FROM_HERE,
77 else 86 base::Bind(callback, HTTP_SUCCESS, GURL(kTestUploadURL)));
78 EXPECT_EQ("", params.title); 87 }
79 EXPECT_EQ(kTestMimeType, params.content_type);
80 EXPECT_EQ(expected_size, params.content_length);
81 EXPECT_EQ(GURL(kTestInitialUploadURL), params.upload_location);
82 88
83 if (!params.etag.empty() && params.etag != kTestETag) { 89 virtual void InitiateUploadExistingFile(
90 const FilePath& drive_file_path,
91 const std::string& content_type,
92 int64 content_length,
93 const GURL& upload_url,
94 const std::string& etag,
95 const InitiateUploadCallback& callback) OVERRIDE {
96 EXPECT_EQ(kTestMimeType, content_type);
97 const int64 expected_size = expected_upload_content_.size();
98 EXPECT_EQ(expected_size, content_length);
99 EXPECT_EQ(GURL(kTestInitialUploadURL), upload_url);
100
101 if (!etag.empty() && etag != kTestETag) {
84 MessageLoop::current()->PostTask(FROM_HERE, 102 MessageLoop::current()->PostTask(FROM_HERE,
85 base::Bind(callback, HTTP_PRECONDITION, GURL())); 103 base::Bind(callback, HTTP_PRECONDITION, GURL()));
86 return; 104 return;
87 } 105 }
88 106
89 // Calls back the upload URL for subsequent ResumeUpload operations. 107 // Calls back the upload URL for subsequent ResumeUpload operations.
90 // InitiateUpload is an asynchronous function, so don't callback directly. 108 // InitiateUpload is an asynchronous function, so don't callback directly.
91 MessageLoop::current()->PostTask(FROM_HERE, 109 MessageLoop::current()->PostTask(FROM_HERE,
92 base::Bind(callback, HTTP_SUCCESS, GURL(kTestUploadURL))); 110 base::Bind(callback, HTTP_SUCCESS, GURL(kTestUploadURL)));
93 } 111 }
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 } 163 }
146 164
147 std::string expected_upload_content_; 165 std::string expected_upload_content_;
148 int64 received_bytes_; 166 int64 received_bytes_;
149 int64 resume_upload_call_count_; 167 int64 resume_upload_call_count_;
150 }; 168 };
151 169
152 // Mock DriveService that returns a failure at InitiateUpload(). 170 // Mock DriveService that returns a failure at InitiateUpload().
153 class MockDriveServiceNoConnectionAtInitiate : public DummyDriveService { 171 class MockDriveServiceNoConnectionAtInitiate : public DummyDriveService {
154 // Returns error. 172 // Returns error.
155 virtual void InitiateUpload(const InitiateUploadParams& params, 173 virtual void InitiateUploadNewFile(
156 const InitiateUploadCallback& callback) OVERRIDE { 174 const FilePath& drive_file_path,
175 const std::string& content_type,
176 int64 content_length,
177 const GURL& parent_upload_url,
178 const std::string& title,
179 const InitiateUploadCallback& callback) OVERRIDE {
157 MessageLoop::current()->PostTask(FROM_HERE, 180 MessageLoop::current()->PostTask(FROM_HERE,
158 base::Bind(callback, GDATA_NO_CONNECTION, GURL())); 181 base::Bind(callback, GDATA_NO_CONNECTION, GURL()));
159 } 182 }
183
184 virtual void InitiateUploadExistingFile(
185 const FilePath& drive_file_path,
186 const std::string& content_type,
187 int64 content_length,
188 const GURL& upload_url,
189 const std::string& etag,
190 const InitiateUploadCallback& callback) OVERRIDE {
191 MessageLoop::current()->PostTask(FROM_HERE,
192 base::Bind(callback, GDATA_NO_CONNECTION, GURL()));
193 }
160 194
161 // Should not be used. 195 // Should not be used.
162 virtual void ResumeUpload(const ResumeUploadParams& params, 196 virtual void ResumeUpload(const ResumeUploadParams& params,
163 const UploadRangeCallback& callback) OVERRIDE { 197 const UploadRangeCallback& callback) OVERRIDE {
164 NOTREACHED(); 198 NOTREACHED();
165 } 199 }
166 }; 200 };
167 201
168 // Mock DriveService that returns a failure at ResumeUpload(). 202 // Mock DriveService that returns a failure at ResumeUpload().
169 class MockDriveServiceNoConnectionAtResume : public DummyDriveService { 203 class MockDriveServiceNoConnectionAtResume : public DummyDriveService {
170 // Succeeds and returns an upload location URL. 204 // Succeeds and returns an upload location URL.
171 virtual void InitiateUpload(const InitiateUploadParams& params, 205 virtual void InitiateUploadNewFile(
172 const InitiateUploadCallback& callback) OVERRIDE { 206 const FilePath& drive_file_path,
207 const std::string& content_type,
208 int64 content_length,
209 const GURL& parent_upload_url,
210 const std::string& title,
211 const InitiateUploadCallback& callback) OVERRIDE {
173 MessageLoop::current()->PostTask(FROM_HERE, 212 MessageLoop::current()->PostTask(FROM_HERE,
174 base::Bind(callback, HTTP_SUCCESS, GURL(kTestInitialUploadURL))); 213 base::Bind(callback, HTTP_SUCCESS, GURL(kTestInitialUploadURL)));
175 } 214 }
215
216 virtual void InitiateUploadExistingFile(
217 const FilePath& drive_file_path,
218 const std::string& content_type,
219 int64 content_length,
220 const GURL& upload_url,
221 const std::string& etag,
222 const InitiateUploadCallback& callback) OVERRIDE {
223 MessageLoop::current()->PostTask(FROM_HERE,
224 base::Bind(callback, HTTP_SUCCESS, GURL(kTestInitialUploadURL)));
225 }
176 226
177 // Returns error. 227 // Returns error.
178 virtual void ResumeUpload(const ResumeUploadParams& params, 228 virtual void ResumeUpload(const ResumeUploadParams& params,
179 const UploadRangeCallback& callback) OVERRIDE { 229 const UploadRangeCallback& callback) OVERRIDE {
180 MessageLoop::current()->PostTask(FROM_HERE, 230 MessageLoop::current()->PostTask(FROM_HERE,
181 base::Bind(callback, 231 base::Bind(callback,
182 UploadRangeResponse(GDATA_NO_CONNECTION, -1, -1), 232 UploadRangeResponse(GDATA_NO_CONNECTION, -1, -1),
183 base::Passed(scoped_ptr<ResourceEntry>()))); 233 base::Passed(scoped_ptr<ResourceEntry>())));
184 } 234 }
185 }; 235 };
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after
441 kTestMimeType, 491 kTestMimeType,
442 "", // etag 492 "", // etag
443 base::Bind(&CopyResultsFromUploadCompletionCallbackAndQuit, &out)); 493 base::Bind(&CopyResultsFromUploadCompletionCallbackAndQuit, &out));
444 message_loop_.Run(); 494 message_loop_.Run();
445 495
446 // Should return failure without doing any attempt to connect to the server. 496 // Should return failure without doing any attempt to connect to the server.
447 EXPECT_EQ(DRIVE_UPLOAD_ERROR_NOT_FOUND, out.error); 497 EXPECT_EQ(DRIVE_UPLOAD_ERROR_NOT_FOUND, out.error);
448 } 498 }
449 499
450 } // namespace google_apis 500 } // namespace google_apis
OLDNEW
« no previous file with comments | « chrome/browser/google_apis/drive_uploader.cc ('k') | chrome/browser/google_apis/dummy_drive_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698