OLD | NEW |
---|---|
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 "base/bind.h" | 5 #include "base/bind.h" |
6 #include "base/files/file_path.h" | 6 #include "base/files/file_path.h" |
7 #include "base/message_loop_proxy.h" | 7 #include "base/message_loop_proxy.h" |
8 #include "base/values.h" | 8 #include "base/values.h" |
9 #include "chrome/browser/google_apis/drive_api_operations.h" | 9 #include "chrome/browser/google_apis/drive_api_operations.h" |
10 #include "chrome/browser/google_apis/drive_api_parser.h" | 10 #include "chrome/browser/google_apis/drive_api_parser.h" |
(...skipping 25 matching lines...) Expand all Loading... | |
36 void CopyResultsFromGetAboutResourceCallbackAndQuit( | 36 void CopyResultsFromGetAboutResourceCallbackAndQuit( |
37 GDataErrorCode* error_out, | 37 GDataErrorCode* error_out, |
38 scoped_ptr<AboutResource>* about_resource_out, | 38 scoped_ptr<AboutResource>* about_resource_out, |
39 const GDataErrorCode error_in, | 39 const GDataErrorCode error_in, |
40 scoped_ptr<AboutResource> about_resource_in) { | 40 scoped_ptr<AboutResource> about_resource_in) { |
41 *error_out = error_in; | 41 *error_out = error_in; |
42 *about_resource_out = about_resource_in.Pass(); | 42 *about_resource_out = about_resource_in.Pass(); |
43 MessageLoop::current()->Quit(); | 43 MessageLoop::current()->Quit(); |
44 } | 44 } |
45 | 45 |
46 void CopyResultsFromFileResourceCallbackAndQuit( | |
47 GDataErrorCode* error_out, | |
48 scoped_ptr<FileResource>* file_resource_out, | |
49 const GDataErrorCode error_in, | |
50 scoped_ptr<FileResource> file_resource_in) { | |
51 *error_out = error_in; | |
52 *file_resource_out = file_resource_in.Pass(); | |
53 MessageLoop::current()->Quit(); | |
54 } | |
55 | |
46 } // namespace | 56 } // namespace |
47 | 57 |
48 class DriveApiOperationsTest : public testing::Test { | 58 class DriveApiOperationsTest : public testing::Test { |
49 public: | 59 public: |
50 DriveApiOperationsTest() | 60 DriveApiOperationsTest() |
51 : ui_thread_(content::BrowserThread::UI, &message_loop_), | 61 : ui_thread_(content::BrowserThread::UI, &message_loop_), |
52 file_thread_(content::BrowserThread::FILE), | 62 file_thread_(content::BrowserThread::FILE), |
53 io_thread_(content::BrowserThread::IO) { | 63 io_thread_(content::BrowserThread::IO) { |
54 } | 64 } |
55 | 65 |
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
222 EXPECT_EQ("/drive/v2/about", http_request_.relative_url); | 232 EXPECT_EQ("/drive/v2/about", http_request_.relative_url); |
223 EXPECT_FALSE(feed_data.get()); | 233 EXPECT_FALSE(feed_data.get()); |
224 } | 234 } |
225 | 235 |
226 TEST_F(DriveApiOperationsTest, CreateDirectoryOperation) { | 236 TEST_F(DriveApiOperationsTest, CreateDirectoryOperation) { |
227 // Set an expected data file containing the directory's entry data. | 237 // Set an expected data file containing the directory's entry data. |
228 expected_data_file_path_ = | 238 expected_data_file_path_ = |
229 test_util::GetTestFilePath("drive/directory_entry.json"); | 239 test_util::GetTestFilePath("drive/directory_entry.json"); |
230 | 240 |
231 GDataErrorCode error = GDATA_OTHER_ERROR; | 241 GDataErrorCode error = GDATA_OTHER_ERROR; |
232 scoped_ptr<base::Value> feed_data; | 242 scoped_ptr<FileResource> feed_data; |
233 | 243 |
234 // Create "new directory" in the root directory. | 244 // Create "new directory" in the root directory. |
235 drive::CreateDirectoryOperation* operation = | 245 drive::CreateDirectoryOperation* operation = |
236 new drive::CreateDirectoryOperation( | 246 new drive::CreateDirectoryOperation( |
237 &operation_registry_, | 247 &operation_registry_, |
238 request_context_getter_.get(), | 248 request_context_getter_.get(), |
239 *url_generator_, | 249 *url_generator_, |
240 "root", | 250 "root", |
241 "new directory", | 251 "new directory", |
242 base::Bind(&test_util::CopyResultsFromGetDataCallbackAndQuit, | 252 base::Bind(&CopyResultsFromFileResourceCallbackAndQuit, |
243 &error, &feed_data)); | 253 &error, &feed_data)); |
244 operation->Start(kTestDriveApiAuthToken, kTestUserAgent, | 254 operation->Start(kTestDriveApiAuthToken, kTestUserAgent, |
245 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); | 255 base::Bind(&test_util::DoNothingForReAuthenticateCallback)); |
246 MessageLoop::current()->Run(); | 256 MessageLoop::current()->Run(); |
247 | 257 |
248 EXPECT_EQ(HTTP_SUCCESS, error); | 258 EXPECT_EQ(HTTP_SUCCESS, error); |
249 EXPECT_EQ(test_server::METHOD_POST, http_request_.method); | 259 EXPECT_EQ(test_server::METHOD_POST, http_request_.method); |
250 EXPECT_EQ("/drive/v2/files", http_request_.relative_url); | 260 EXPECT_EQ("/drive/v2/files", http_request_.relative_url); |
251 EXPECT_EQ("application/json", http_request_.headers["Content-Type"]); | 261 EXPECT_EQ("application/json", http_request_.headers["Content-Type"]); |
252 | 262 |
253 EXPECT_TRUE(http_request_.has_content); | 263 EXPECT_TRUE(http_request_.has_content); |
254 | 264 |
255 EXPECT_EQ("{\"mimeType\":\"application/vnd.google-apps.folder\"," | 265 EXPECT_EQ("{\"mimeType\":\"application/vnd.google-apps.folder\"," |
hashimoto
2013/03/01 02:29:19
nit: Now we are checking the values parsed from th
hidehiko
2013/03/01 03:53:55
Good catch. It was just my mistake. Removed.
| |
256 "\"parents\":[{\"id\":\"root\"}]," | 266 "\"parents\":[{\"id\":\"root\"}]," |
257 "\"title\":\"new directory\"}", | 267 "\"title\":\"new directory\"}", |
258 http_request_.content); | 268 http_request_.content); |
269 | |
270 scoped_ptr<FileResource> expected( | |
271 FileResource::CreateFrom( | |
272 *test_util::LoadJSONFile("drive/directory_entry.json"))); | |
273 | |
274 // Sanity check. | |
275 ASSERT_TRUE(feed_data.get()); | |
276 | |
277 EXPECT_EQ(expected->file_id(), feed_data->file_id()); | |
278 EXPECT_EQ(expected->title(), feed_data->title()); | |
279 EXPECT_EQ(expected->mime_type(), feed_data->mime_type()); | |
280 EXPECT_EQ(expected->parents().size(), feed_data->parents().size()); | |
259 } | 281 } |
260 | 282 |
261 TEST_F(DriveApiOperationsTest, RenameResourceOperation) { | 283 TEST_F(DriveApiOperationsTest, RenameResourceOperation) { |
262 // Set an expected data file containing the directory's entry data. | 284 // Set an expected data file containing the directory's entry data. |
263 // It'd be returned if we rename a directory. | 285 // It'd be returned if we rename a directory. |
264 expected_data_file_path_ = | 286 expected_data_file_path_ = |
265 test_util::GetTestFilePath("drive/directory_entry.json"); | 287 test_util::GetTestFilePath("drive/directory_entry.json"); |
266 | 288 |
267 GDataErrorCode error = GDATA_OTHER_ERROR; | 289 GDataErrorCode error = GDATA_OTHER_ERROR; |
268 | 290 |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
368 MessageLoop::current()->Run(); | 390 MessageLoop::current()->Run(); |
369 | 391 |
370 EXPECT_EQ(HTTP_NO_CONTENT, error); | 392 EXPECT_EQ(HTTP_NO_CONTENT, error); |
371 EXPECT_EQ(test_server::METHOD_DELETE, http_request_.method); | 393 EXPECT_EQ(test_server::METHOD_DELETE, http_request_.method); |
372 EXPECT_EQ("/drive/v2/files/parent_resource_id/children/resource_id", | 394 EXPECT_EQ("/drive/v2/files/parent_resource_id/children/resource_id", |
373 http_request_.relative_url); | 395 http_request_.relative_url); |
374 EXPECT_FALSE(http_request_.has_content); | 396 EXPECT_FALSE(http_request_.has_content); |
375 } | 397 } |
376 | 398 |
377 } // namespace google_apis | 399 } // namespace google_apis |
OLD | NEW |