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

Side by Side Diff: google_apis/drive/gdata_wapi_requests_unittest.cc

Issue 442193002: Parse Drive API responses all at once in the blocking pool. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix the cause of the regression. Created 6 years, 4 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
« no previous file with comments | « google_apis/drive/gdata_wapi_requests.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "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
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
OLDNEW
« no previous file with comments | « google_apis/drive/gdata_wapi_requests.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698