Chromium Code Reviews| 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 |