| 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 "base/bind.h" | 5 #include "base/bind.h" |
| 6 #include "base/message_loop/message_loop.h" | 6 #include "base/message_loop/message_loop.h" |
| 7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
| 8 #include "base/values.h" | |
| 9 #include "google_apis/drive/dummy_auth_service.h" | 8 #include "google_apis/drive/dummy_auth_service.h" |
| 10 #include "google_apis/drive/gdata_wapi_parser.h" | 9 #include "google_apis/drive/gdata_wapi_parser.h" |
| 11 #include "google_apis/drive/gdata_wapi_requests.h" | 10 #include "google_apis/drive/gdata_wapi_requests.h" |
| 12 #include "google_apis/drive/gdata_wapi_url_generator.h" | 11 #include "google_apis/drive/gdata_wapi_url_generator.h" |
| 13 #include "google_apis/drive/request_sender.h" | 12 #include "google_apis/drive/request_sender.h" |
| 14 #include "google_apis/drive/test_util.h" | 13 #include "google_apis/drive/test_util.h" |
| 15 #include "net/base/escape.h" | 14 #include "net/base/escape.h" |
| 16 #include "net/test/embedded_test_server/embedded_test_server.h" | 15 #include "net/test/embedded_test_server/embedded_test_server.h" |
| 17 #include "net/test/embedded_test_server/http_request.h" | 16 #include "net/test/embedded_test_server/http_request.h" |
| 18 #include "net/test/embedded_test_server/http_response.h" | 17 #include "net/test/embedded_test_server/http_response.h" |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 // The incoming HTTP request is saved so tests can verify the request | 91 // The incoming HTTP request is saved so tests can verify the request |
| 93 // parameters like HTTP method (ex. some requests should use DELETE | 92 // parameters like HTTP method (ex. some requests should use DELETE |
| 94 // instead of GET). | 93 // instead of GET). |
| 95 net::test_server::HttpRequest http_request_; | 94 net::test_server::HttpRequest http_request_; |
| 96 }; | 95 }; |
| 97 | 96 |
| 98 } // namespace | 97 } // namespace |
| 99 | 98 |
| 100 TEST_F(GDataWapiRequestsTest, GetResourceEntryRequest_ValidResourceId) { | 99 TEST_F(GDataWapiRequestsTest, GetResourceEntryRequest_ValidResourceId) { |
| 101 GDataErrorCode result_code = GDATA_OTHER_ERROR; | 100 GDataErrorCode result_code = GDATA_OTHER_ERROR; |
| 102 scoped_ptr<base::Value> result_data; | 101 scoped_ptr<ResourceEntry> result_data; |
| 103 | 102 |
| 104 { | 103 { |
| 105 base::RunLoop run_loop; | 104 base::RunLoop run_loop; |
| 106 GetResourceEntryRequest* request = new GetResourceEntryRequest( | 105 GetResourceEntryRequest* request = new GetResourceEntryRequest( |
| 107 request_sender_.get(), | 106 request_sender_.get(), |
| 108 *url_generator_, | 107 *url_generator_, |
| 109 "file:2_file_resource_id", // resource ID | 108 "file:2_file_resource_id", // resource ID |
| 110 GURL(), // embed origin | 109 GURL(), // embed origin |
| 111 test_util::CreateQuitCallback( | 110 test_util::CreateQuitCallback( |
| 112 &run_loop, | 111 &run_loop, |
| 113 test_util::CreateCopyResultCallback(&result_code, &result_data))); | 112 test_util::CreateCopyResultCallback(&result_code, &result_data))); |
| 114 request_sender_->StartRequestWithRetry(request); | 113 request_sender_->StartRequestWithRetry(request); |
| 115 run_loop.Run(); | 114 run_loop.Run(); |
| 116 } | 115 } |
| 117 | 116 |
| 118 EXPECT_EQ(HTTP_SUCCESS, result_code); | 117 EXPECT_EQ(HTTP_SUCCESS, result_code); |
| 119 EXPECT_EQ(net::test_server::METHOD_GET, http_request_.method); | 118 EXPECT_EQ(net::test_server::METHOD_GET, http_request_.method); |
| 120 EXPECT_EQ("/feeds/default/private/full/file%3A2_file_resource_id" | 119 EXPECT_EQ("/feeds/default/private/full/file%3A2_file_resource_id" |
| 121 "?v=3&alt=json&showroot=true", | 120 "?v=3&alt=json&showroot=true", |
| 122 http_request_.relative_url); | 121 http_request_.relative_url); |
| 123 scoped_ptr<base::Value> expected_json = | |
| 124 test_util::LoadJSONFile("gdata/file_entry.json"); | |
| 125 ASSERT_TRUE(expected_json); | |
| 126 EXPECT_TRUE(result_data); | 122 EXPECT_TRUE(result_data); |
| 127 EXPECT_TRUE(base::Value::Equals(expected_json.get(), result_data.get())); | 123 EXPECT_EQ("File 1.mp3", result_data->filename()); |
| 124 EXPECT_EQ("3b4382ebefec6e743578c76bbd0575ce", result_data->file_md5()); |
| 128 } | 125 } |
| 129 | 126 |
| 130 TEST_F(GDataWapiRequestsTest, GetResourceEntryRequest_InvalidResourceId) { | 127 TEST_F(GDataWapiRequestsTest, GetResourceEntryRequest_InvalidResourceId) { |
| 131 GDataErrorCode result_code = GDATA_OTHER_ERROR; | 128 GDataErrorCode result_code = GDATA_OTHER_ERROR; |
| 132 scoped_ptr<base::Value> result_data; | 129 scoped_ptr<ResourceEntry> result_data; |
| 133 | 130 |
| 134 { | 131 { |
| 135 base::RunLoop run_loop; | 132 base::RunLoop run_loop; |
| 136 GetResourceEntryRequest* request = new GetResourceEntryRequest( | 133 GetResourceEntryRequest* request = new GetResourceEntryRequest( |
| 137 request_sender_.get(), | 134 request_sender_.get(), |
| 138 *url_generator_, | 135 *url_generator_, |
| 139 "<invalid>", // resource ID | 136 "<invalid>", // resource ID |
| 140 GURL(), // embed origin | 137 GURL(), // embed origin |
| 141 test_util::CreateQuitCallback( | 138 test_util::CreateQuitCallback( |
| 142 &run_loop, | 139 &run_loop, |
| 143 test_util::CreateCopyResultCallback(&result_code, &result_data))); | 140 test_util::CreateCopyResultCallback(&result_code, &result_data))); |
| 144 request_sender_->StartRequestWithRetry(request); | 141 request_sender_->StartRequestWithRetry(request); |
| 145 run_loop.Run(); | 142 run_loop.Run(); |
| 146 } | 143 } |
| 147 | 144 |
| 148 EXPECT_EQ(HTTP_NOT_FOUND, result_code); | 145 EXPECT_EQ(HTTP_NOT_FOUND, result_code); |
| 149 EXPECT_EQ(net::test_server::METHOD_GET, http_request_.method); | 146 EXPECT_EQ(net::test_server::METHOD_GET, http_request_.method); |
| 150 EXPECT_EQ("/feeds/default/private/full/%3Cinvalid%3E?v=3&alt=json" | 147 EXPECT_EQ("/feeds/default/private/full/%3Cinvalid%3E?v=3&alt=json" |
| 151 "&showroot=true", | 148 "&showroot=true", |
| 152 http_request_.relative_url); | 149 http_request_.relative_url); |
| 153 ASSERT_FALSE(result_data); | 150 ASSERT_FALSE(result_data); |
| 154 } | 151 } |
| 155 | 152 |
| 156 } // namespace google_apis | 153 } // namespace google_apis |
| OLD | NEW |