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 "chrome/browser/drive/fake_drive_service.h" | 5 #include "chrome/browser/drive/fake_drive_service.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
11 #include "base/files/scoped_temp_dir.h" | 11 #include "base/files/scoped_temp_dir.h" |
12 #include "base/md5.h" | 12 #include "base/md5.h" |
13 #include "base/run_loop.h" | 13 #include "base/run_loop.h" |
14 #include "base/stl_util.h" | 14 #include "base/stl_util.h" |
15 #include "base/strings/stringprintf.h" | 15 #include "base/strings/stringprintf.h" |
16 #include "base/strings/utf_string_conversions.h" | 16 #include "base/strings/utf_string_conversions.h" |
17 #include "chrome/browser/drive/test_util.h" | 17 #include "chrome/browser/drive/test_util.h" |
18 #include "content/public/test/test_browser_thread_bundle.h" | 18 #include "content/public/test/test_browser_thread_bundle.h" |
19 #include "google_apis/drive/drive_api_parser.h" | 19 #include "google_apis/drive/drive_api_parser.h" |
20 #include "google_apis/drive/gdata_wapi_parser.h" | 20 #include "google_apis/drive/gdata_wapi_parser.h" |
21 #include "google_apis/drive/gdata_wapi_requests.h" | 21 #include "google_apis/drive/gdata_wapi_requests.h" |
22 #include "google_apis/drive/test_util.h" | 22 #include "google_apis/drive/test_util.h" |
23 #include "testing/gtest/include/gtest/gtest.h" | 23 #include "testing/gtest/include/gtest/gtest.h" |
24 | 24 |
25 using google_apis::AboutResource; | 25 using google_apis::AboutResource; |
26 using google_apis::AppList; | 26 using google_apis::AppList; |
27 using google_apis::ChangeList; | 27 using google_apis::ChangeList; |
28 using google_apis::ChangeResource; | 28 using google_apis::ChangeResource; |
| 29 using google_apis::FileList; |
29 using google_apis::GDATA_NO_CONNECTION; | 30 using google_apis::GDATA_NO_CONNECTION; |
30 using google_apis::GDATA_OTHER_ERROR; | 31 using google_apis::GDATA_OTHER_ERROR; |
31 using google_apis::GDataErrorCode; | 32 using google_apis::GDataErrorCode; |
32 using google_apis::GetContentCallback; | 33 using google_apis::GetContentCallback; |
33 using google_apis::HTTP_CREATED; | 34 using google_apis::HTTP_CREATED; |
34 using google_apis::HTTP_NOT_FOUND; | 35 using google_apis::HTTP_NOT_FOUND; |
35 using google_apis::HTTP_NO_CONTENT; | 36 using google_apis::HTTP_NO_CONTENT; |
36 using google_apis::HTTP_PRECONDITION; | 37 using google_apis::HTTP_PRECONDITION; |
37 using google_apis::HTTP_RESUME_INCOMPLETE; | 38 using google_apis::HTTP_RESUME_INCOMPLETE; |
38 using google_apis::HTTP_SUCCESS; | 39 using google_apis::HTTP_SUCCESS; |
39 using google_apis::Link; | 40 using google_apis::Link; |
40 using google_apis::ProgressCallback; | 41 using google_apis::ProgressCallback; |
41 using google_apis::ResourceEntry; | 42 using google_apis::ResourceEntry; |
42 using google_apis::ResourceList; | |
43 using google_apis::UploadRangeResponse; | 43 using google_apis::UploadRangeResponse; |
44 | 44 |
45 namespace drive { | 45 namespace drive { |
46 | 46 |
47 namespace test_util { | 47 namespace test_util { |
48 | 48 |
49 using google_apis::test_util::AppendProgressCallbackResult; | 49 using google_apis::test_util::AppendProgressCallbackResult; |
50 using google_apis::test_util::CreateCopyResultCallback; | 50 using google_apis::test_util::CreateCopyResultCallback; |
51 using google_apis::test_util::ProgressInfo; | 51 using google_apis::test_util::ProgressInfo; |
52 using google_apis::test_util::TestGetContentCallback; | 52 using google_apis::test_util::TestGetContentCallback; |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 fake_service_.GetAboutResource( | 111 fake_service_.GetAboutResource( |
112 test_util::CreateCopyResultCallback(&error, &about_resource)); | 112 test_util::CreateCopyResultCallback(&error, &about_resource)); |
113 base::RunLoop().RunUntilIdle(); | 113 base::RunLoop().RunUntilIdle(); |
114 return about_resource->largest_change_id(); | 114 return about_resource->largest_change_id(); |
115 } | 115 } |
116 | 116 |
117 content::TestBrowserThreadBundle thread_bundle_; | 117 content::TestBrowserThreadBundle thread_bundle_; |
118 FakeDriveService fake_service_; | 118 FakeDriveService fake_service_; |
119 }; | 119 }; |
120 | 120 |
121 TEST_F(FakeDriveServiceTest, GetAllResourceList) { | 121 TEST_F(FakeDriveServiceTest, GetAllFileList) { |
122 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); | 122 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); |
123 | 123 |
124 GDataErrorCode error = GDATA_OTHER_ERROR; | 124 GDataErrorCode error = GDATA_OTHER_ERROR; |
125 scoped_ptr<ResourceList> resource_list; | 125 scoped_ptr<FileList> file_list; |
126 fake_service_.GetAllResourceList( | 126 fake_service_.GetAllFileList( |
127 test_util::CreateCopyResultCallback(&error, &resource_list)); | 127 test_util::CreateCopyResultCallback(&error, &file_list)); |
128 base::RunLoop().RunUntilIdle(); | 128 base::RunLoop().RunUntilIdle(); |
129 | 129 |
130 EXPECT_EQ(HTTP_SUCCESS, error); | 130 EXPECT_EQ(HTTP_SUCCESS, error); |
131 ASSERT_TRUE(resource_list); | 131 ASSERT_TRUE(file_list); |
132 // Do some sanity check. | 132 // Do some sanity check. |
133 EXPECT_EQ(15U, resource_list->entries().size()); | 133 EXPECT_EQ(15U, file_list->items().size()); |
134 EXPECT_EQ(1, fake_service_.resource_list_load_count()); | 134 EXPECT_EQ(1, fake_service_.file_list_load_count()); |
135 } | 135 } |
136 | 136 |
137 TEST_F(FakeDriveServiceTest, GetAllResourceList_Offline) { | 137 TEST_F(FakeDriveServiceTest, GetAllFileList_Offline) { |
138 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); | 138 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); |
139 fake_service_.set_offline(true); | 139 fake_service_.set_offline(true); |
140 | 140 |
141 GDataErrorCode error = GDATA_OTHER_ERROR; | 141 GDataErrorCode error = GDATA_OTHER_ERROR; |
142 scoped_ptr<ResourceList> resource_list; | 142 scoped_ptr<FileList> file_list; |
143 fake_service_.GetAllResourceList( | 143 fake_service_.GetAllFileList( |
144 test_util::CreateCopyResultCallback(&error, &resource_list)); | 144 test_util::CreateCopyResultCallback(&error, &file_list)); |
145 base::RunLoop().RunUntilIdle(); | 145 base::RunLoop().RunUntilIdle(); |
146 | 146 |
147 EXPECT_EQ(GDATA_NO_CONNECTION, error); | 147 EXPECT_EQ(GDATA_NO_CONNECTION, error); |
148 EXPECT_FALSE(resource_list); | 148 EXPECT_FALSE(file_list); |
149 } | 149 } |
150 | 150 |
151 TEST_F(FakeDriveServiceTest, GetResourceListInDirectory_InRootDirectory) { | 151 TEST_F(FakeDriveServiceTest, GetFileListInDirectory_InRootDirectory) { |
152 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); | 152 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); |
153 | 153 |
154 GDataErrorCode error = GDATA_OTHER_ERROR; | 154 GDataErrorCode error = GDATA_OTHER_ERROR; |
155 scoped_ptr<ResourceList> resource_list; | 155 scoped_ptr<FileList> file_list; |
156 fake_service_.GetResourceListInDirectory( | 156 fake_service_.GetFileListInDirectory( |
157 fake_service_.GetRootResourceId(), | 157 fake_service_.GetRootResourceId(), |
158 test_util::CreateCopyResultCallback(&error, &resource_list)); | 158 test_util::CreateCopyResultCallback(&error, &file_list)); |
159 base::RunLoop().RunUntilIdle(); | 159 base::RunLoop().RunUntilIdle(); |
160 | 160 |
161 EXPECT_EQ(HTTP_SUCCESS, error); | 161 EXPECT_EQ(HTTP_SUCCESS, error); |
162 ASSERT_TRUE(resource_list); | 162 ASSERT_TRUE(file_list); |
163 // Do some sanity check. There are 8 entries in the root directory. | 163 // Do some sanity check. There are 8 entries in the root directory. |
164 EXPECT_EQ(8U, resource_list->entries().size()); | 164 EXPECT_EQ(8U, file_list->items().size()); |
165 EXPECT_EQ(1, fake_service_.directory_load_count()); | 165 EXPECT_EQ(1, fake_service_.directory_load_count()); |
166 } | 166 } |
167 | 167 |
168 TEST_F(FakeDriveServiceTest, GetResourceListInDirectory_InNonRootDirectory) { | 168 TEST_F(FakeDriveServiceTest, GetFileListInDirectory_InNonRootDirectory) { |
169 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); | 169 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); |
170 | 170 |
171 GDataErrorCode error = GDATA_OTHER_ERROR; | 171 GDataErrorCode error = GDATA_OTHER_ERROR; |
172 scoped_ptr<ResourceList> resource_list; | 172 scoped_ptr<FileList> file_list; |
173 fake_service_.GetResourceListInDirectory( | 173 fake_service_.GetFileListInDirectory( |
174 "folder:1_folder_resource_id", | 174 "folder:1_folder_resource_id", |
175 test_util::CreateCopyResultCallback(&error, &resource_list)); | 175 test_util::CreateCopyResultCallback(&error, &file_list)); |
176 base::RunLoop().RunUntilIdle(); | 176 base::RunLoop().RunUntilIdle(); |
177 | 177 |
178 EXPECT_EQ(HTTP_SUCCESS, error); | 178 EXPECT_EQ(HTTP_SUCCESS, error); |
179 ASSERT_TRUE(resource_list); | 179 ASSERT_TRUE(file_list); |
180 // Do some sanity check. There is three entries in 1_folder_resource_id | 180 // Do some sanity check. There is three entries in 1_folder_resource_id |
181 // directory. | 181 // directory. |
182 EXPECT_EQ(3U, resource_list->entries().size()); | 182 EXPECT_EQ(3U, file_list->items().size()); |
183 EXPECT_EQ(1, fake_service_.directory_load_count()); | 183 EXPECT_EQ(1, fake_service_.directory_load_count()); |
184 } | 184 } |
185 | 185 |
186 TEST_F(FakeDriveServiceTest, GetResourceListInDirectory_Offline) { | 186 TEST_F(FakeDriveServiceTest, GetFileListInDirectory_Offline) { |
187 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); | 187 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); |
188 fake_service_.set_offline(true); | 188 fake_service_.set_offline(true); |
189 | 189 |
190 GDataErrorCode error = GDATA_OTHER_ERROR; | 190 GDataErrorCode error = GDATA_OTHER_ERROR; |
191 scoped_ptr<ResourceList> resource_list; | 191 scoped_ptr<FileList> file_list; |
192 fake_service_.GetResourceListInDirectory( | 192 fake_service_.GetFileListInDirectory( |
193 fake_service_.GetRootResourceId(), | 193 fake_service_.GetRootResourceId(), |
194 test_util::CreateCopyResultCallback(&error, &resource_list)); | 194 test_util::CreateCopyResultCallback(&error, &file_list)); |
195 base::RunLoop().RunUntilIdle(); | 195 base::RunLoop().RunUntilIdle(); |
196 | 196 |
197 EXPECT_EQ(GDATA_NO_CONNECTION, error); | 197 EXPECT_EQ(GDATA_NO_CONNECTION, error); |
198 EXPECT_FALSE(resource_list); | 198 EXPECT_FALSE(file_list); |
199 } | 199 } |
200 | 200 |
201 TEST_F(FakeDriveServiceTest, Search) { | 201 TEST_F(FakeDriveServiceTest, Search) { |
202 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); | 202 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); |
203 | 203 |
204 GDataErrorCode error = GDATA_OTHER_ERROR; | 204 GDataErrorCode error = GDATA_OTHER_ERROR; |
205 scoped_ptr<ResourceList> resource_list; | 205 scoped_ptr<FileList> file_list; |
206 fake_service_.Search( | 206 fake_service_.Search( |
207 "File", // search_query | 207 "File", // search_query |
208 test_util::CreateCopyResultCallback(&error, &resource_list)); | 208 test_util::CreateCopyResultCallback(&error, &file_list)); |
209 base::RunLoop().RunUntilIdle(); | 209 base::RunLoop().RunUntilIdle(); |
210 | 210 |
211 EXPECT_EQ(HTTP_SUCCESS, error); | 211 EXPECT_EQ(HTTP_SUCCESS, error); |
212 ASSERT_TRUE(resource_list); | 212 ASSERT_TRUE(file_list); |
213 // Do some sanity check. There are 4 entries that contain "File" in their | 213 // Do some sanity check. There are 4 entries that contain "File" in their |
214 // titles. | 214 // titles. |
215 EXPECT_EQ(4U, resource_list->entries().size()); | 215 EXPECT_EQ(4U, file_list->items().size()); |
216 } | 216 } |
217 | 217 |
218 TEST_F(FakeDriveServiceTest, Search_WithAttribute) { | 218 TEST_F(FakeDriveServiceTest, Search_WithAttribute) { |
219 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); | 219 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); |
220 | 220 |
221 GDataErrorCode error = GDATA_OTHER_ERROR; | 221 GDataErrorCode error = GDATA_OTHER_ERROR; |
222 scoped_ptr<ResourceList> resource_list; | 222 scoped_ptr<FileList> file_list; |
223 fake_service_.Search( | 223 fake_service_.Search( |
224 "title:1.txt", // search_query | 224 "title:1.txt", // search_query |
225 test_util::CreateCopyResultCallback(&error, &resource_list)); | 225 test_util::CreateCopyResultCallback(&error, &file_list)); |
226 base::RunLoop().RunUntilIdle(); | 226 base::RunLoop().RunUntilIdle(); |
227 | 227 |
228 EXPECT_EQ(HTTP_SUCCESS, error); | 228 EXPECT_EQ(HTTP_SUCCESS, error); |
229 ASSERT_TRUE(resource_list); | 229 ASSERT_TRUE(file_list); |
230 // Do some sanity check. There are 4 entries that contain "1.txt" in their | 230 // Do some sanity check. There are 4 entries that contain "1.txt" in their |
231 // titles. | 231 // titles. |
232 EXPECT_EQ(4U, resource_list->entries().size()); | 232 EXPECT_EQ(4U, file_list->items().size()); |
233 } | 233 } |
234 | 234 |
235 TEST_F(FakeDriveServiceTest, Search_MultipleQueries) { | 235 TEST_F(FakeDriveServiceTest, Search_MultipleQueries) { |
236 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); | 236 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); |
237 | 237 |
238 GDataErrorCode error = GDATA_OTHER_ERROR; | 238 GDataErrorCode error = GDATA_OTHER_ERROR; |
239 scoped_ptr<ResourceList> resource_list; | 239 scoped_ptr<FileList> file_list; |
240 fake_service_.Search( | 240 fake_service_.Search( |
241 "Directory 1", // search_query | 241 "Directory 1", // search_query |
242 test_util::CreateCopyResultCallback(&error, &resource_list)); | 242 test_util::CreateCopyResultCallback(&error, &file_list)); |
243 base::RunLoop().RunUntilIdle(); | 243 base::RunLoop().RunUntilIdle(); |
244 | 244 |
245 EXPECT_EQ(HTTP_SUCCESS, error); | 245 EXPECT_EQ(HTTP_SUCCESS, error); |
246 ASSERT_TRUE(resource_list); | 246 ASSERT_TRUE(file_list); |
247 // There are 2 entries that contain both "Directory" and "1" in their titles. | 247 // There are 2 entries that contain both "Directory" and "1" in their titles. |
248 EXPECT_EQ(2U, resource_list->entries().size()); | 248 EXPECT_EQ(2U, file_list->items().size()); |
249 | 249 |
250 fake_service_.Search( | 250 fake_service_.Search( |
251 "\"Directory 1\"", // search_query | 251 "\"Directory 1\"", // search_query |
252 test_util::CreateCopyResultCallback(&error, &resource_list)); | 252 test_util::CreateCopyResultCallback(&error, &file_list)); |
253 base::RunLoop().RunUntilIdle(); | 253 base::RunLoop().RunUntilIdle(); |
254 | 254 |
255 EXPECT_EQ(HTTP_SUCCESS, error); | 255 EXPECT_EQ(HTTP_SUCCESS, error); |
256 ASSERT_TRUE(resource_list); | 256 ASSERT_TRUE(file_list); |
257 // There is 1 entry that contain "Directory 1" in its title. | 257 // There is 1 entry that contain "Directory 1" in its title. |
258 EXPECT_EQ(1U, resource_list->entries().size()); | 258 EXPECT_EQ(1U, file_list->items().size()); |
259 } | 259 } |
260 | 260 |
261 TEST_F(FakeDriveServiceTest, Search_Offline) { | 261 TEST_F(FakeDriveServiceTest, Search_Offline) { |
262 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); | 262 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); |
263 fake_service_.set_offline(true); | 263 fake_service_.set_offline(true); |
264 | 264 |
265 GDataErrorCode error = GDATA_OTHER_ERROR; | 265 GDataErrorCode error = GDATA_OTHER_ERROR; |
266 scoped_ptr<ResourceList> resource_list; | 266 scoped_ptr<FileList> file_list; |
267 fake_service_.Search( | 267 fake_service_.Search( |
268 "Directory 1", // search_query | 268 "Directory 1", // search_query |
269 test_util::CreateCopyResultCallback(&error, &resource_list)); | 269 test_util::CreateCopyResultCallback(&error, &file_list)); |
270 base::RunLoop().RunUntilIdle(); | 270 base::RunLoop().RunUntilIdle(); |
271 | 271 |
272 EXPECT_EQ(GDATA_NO_CONNECTION, error); | 272 EXPECT_EQ(GDATA_NO_CONNECTION, error); |
273 EXPECT_FALSE(resource_list); | 273 EXPECT_FALSE(file_list); |
274 } | 274 } |
275 | 275 |
276 TEST_F(FakeDriveServiceTest, Search_Deleted) { | 276 TEST_F(FakeDriveServiceTest, Search_Deleted) { |
277 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); | 277 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); |
278 | 278 |
279 GDataErrorCode error = GDATA_OTHER_ERROR; | 279 GDataErrorCode error = GDATA_OTHER_ERROR; |
280 fake_service_.DeleteResource("file:2_file_resource_id", | 280 fake_service_.DeleteResource("file:2_file_resource_id", |
281 std::string(), // etag | 281 std::string(), // etag |
282 test_util::CreateCopyResultCallback(&error)); | 282 test_util::CreateCopyResultCallback(&error)); |
283 base::RunLoop().RunUntilIdle(); | 283 base::RunLoop().RunUntilIdle(); |
284 EXPECT_EQ(HTTP_NO_CONTENT, error); | 284 EXPECT_EQ(HTTP_NO_CONTENT, error); |
285 | 285 |
286 error = GDATA_OTHER_ERROR; | 286 error = GDATA_OTHER_ERROR; |
287 scoped_ptr<ResourceList> resource_list; | 287 scoped_ptr<FileList> file_list; |
288 fake_service_.Search( | 288 fake_service_.Search( |
289 "File", // search_query | 289 "File", // search_query |
290 test_util::CreateCopyResultCallback(&error, &resource_list)); | 290 test_util::CreateCopyResultCallback(&error, &file_list)); |
291 base::RunLoop().RunUntilIdle(); | 291 base::RunLoop().RunUntilIdle(); |
292 | 292 |
293 EXPECT_EQ(HTTP_SUCCESS, error); | 293 EXPECT_EQ(HTTP_SUCCESS, error); |
294 ASSERT_TRUE(resource_list); | 294 ASSERT_TRUE(file_list); |
295 // Do some sanity check. There are 4 entries that contain "File" in their | 295 // Do some sanity check. There are 4 entries that contain "File" in their |
296 // titles and one of them is deleted. | 296 // titles and one of them is deleted. |
297 EXPECT_EQ(3U, resource_list->entries().size()); | 297 EXPECT_EQ(3U, file_list->items().size()); |
298 } | 298 } |
299 | 299 |
300 TEST_F(FakeDriveServiceTest, Search_Trashed) { | 300 TEST_F(FakeDriveServiceTest, Search_Trashed) { |
301 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); | 301 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); |
302 | 302 |
303 GDataErrorCode error = GDATA_OTHER_ERROR; | 303 GDataErrorCode error = GDATA_OTHER_ERROR; |
304 fake_service_.TrashResource("file:2_file_resource_id", | 304 fake_service_.TrashResource("file:2_file_resource_id", |
305 test_util::CreateCopyResultCallback(&error)); | 305 test_util::CreateCopyResultCallback(&error)); |
306 base::RunLoop().RunUntilIdle(); | 306 base::RunLoop().RunUntilIdle(); |
307 EXPECT_EQ(HTTP_SUCCESS, error); | 307 EXPECT_EQ(HTTP_SUCCESS, error); |
308 | 308 |
309 error = GDATA_OTHER_ERROR; | 309 error = GDATA_OTHER_ERROR; |
310 scoped_ptr<ResourceList> resource_list; | 310 scoped_ptr<FileList> file_list; |
311 fake_service_.Search( | 311 fake_service_.Search( |
312 "File", // search_query | 312 "File", // search_query |
313 test_util::CreateCopyResultCallback(&error, &resource_list)); | 313 test_util::CreateCopyResultCallback(&error, &file_list)); |
314 base::RunLoop().RunUntilIdle(); | 314 base::RunLoop().RunUntilIdle(); |
315 | 315 |
316 EXPECT_EQ(HTTP_SUCCESS, error); | 316 EXPECT_EQ(HTTP_SUCCESS, error); |
317 ASSERT_TRUE(resource_list); | 317 ASSERT_TRUE(file_list); |
318 // Do some sanity check. There are 4 entries that contain "File" in their | 318 // Do some sanity check. There are 4 entries that contain "File" in their |
319 // titles and one of them is deleted. | 319 // titles and one of them is deleted. |
320 EXPECT_EQ(3U, resource_list->entries().size()); | 320 EXPECT_EQ(3U, file_list->items().size()); |
321 } | 321 } |
322 | 322 |
323 TEST_F(FakeDriveServiceTest, SearchByTitle) { | 323 TEST_F(FakeDriveServiceTest, SearchByTitle) { |
324 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); | 324 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); |
325 | 325 |
326 GDataErrorCode error = GDATA_OTHER_ERROR; | 326 GDataErrorCode error = GDATA_OTHER_ERROR; |
327 scoped_ptr<ResourceList> resource_list; | 327 scoped_ptr<FileList> file_list; |
328 fake_service_.SearchByTitle( | 328 fake_service_.SearchByTitle( |
329 "1.txt", // title | 329 "1.txt", // title |
330 fake_service_.GetRootResourceId(), // directory_resource_id | 330 fake_service_.GetRootResourceId(), // directory_resource_id |
331 test_util::CreateCopyResultCallback(&error, &resource_list)); | 331 test_util::CreateCopyResultCallback(&error, &file_list)); |
332 base::RunLoop().RunUntilIdle(); | 332 base::RunLoop().RunUntilIdle(); |
333 | 333 |
334 EXPECT_EQ(HTTP_SUCCESS, error); | 334 EXPECT_EQ(HTTP_SUCCESS, error); |
335 ASSERT_TRUE(resource_list); | 335 ASSERT_TRUE(file_list); |
336 // Do some sanity check. There are 2 entries that contain "1.txt" in their | 336 // Do some sanity check. There are 2 entries that contain "1.txt" in their |
337 // titles directly under the root directory. | 337 // titles directly under the root directory. |
338 EXPECT_EQ(2U, resource_list->entries().size()); | 338 EXPECT_EQ(2U, file_list->items().size()); |
339 } | 339 } |
340 | 340 |
341 TEST_F(FakeDriveServiceTest, SearchByTitle_EmptyDirectoryResourceId) { | 341 TEST_F(FakeDriveServiceTest, SearchByTitle_EmptyDirectoryResourceId) { |
342 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); | 342 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); |
343 | 343 |
344 GDataErrorCode error = GDATA_OTHER_ERROR; | 344 GDataErrorCode error = GDATA_OTHER_ERROR; |
345 scoped_ptr<ResourceList> resource_list; | 345 scoped_ptr<FileList> file_list; |
346 fake_service_.SearchByTitle( | 346 fake_service_.SearchByTitle( |
347 "1.txt", // title | 347 "1.txt", // title |
348 "", // directory resource id | 348 "", // directory resource id |
349 test_util::CreateCopyResultCallback(&error, &resource_list)); | 349 test_util::CreateCopyResultCallback(&error, &file_list)); |
350 base::RunLoop().RunUntilIdle(); | 350 base::RunLoop().RunUntilIdle(); |
351 | 351 |
352 EXPECT_EQ(HTTP_SUCCESS, error); | 352 EXPECT_EQ(HTTP_SUCCESS, error); |
353 ASSERT_TRUE(resource_list); | 353 ASSERT_TRUE(file_list); |
354 // Do some sanity check. There are 4 entries that contain "1.txt" in their | 354 // Do some sanity check. There are 4 entries that contain "1.txt" in their |
355 // titles. | 355 // titles. |
356 EXPECT_EQ(4U, resource_list->entries().size()); | 356 EXPECT_EQ(4U, file_list->items().size()); |
357 } | 357 } |
358 | 358 |
359 TEST_F(FakeDriveServiceTest, SearchByTitle_Offline) { | 359 TEST_F(FakeDriveServiceTest, SearchByTitle_Offline) { |
360 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); | 360 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); |
361 fake_service_.set_offline(true); | 361 fake_service_.set_offline(true); |
362 | 362 |
363 GDataErrorCode error = GDATA_OTHER_ERROR; | 363 GDataErrorCode error = GDATA_OTHER_ERROR; |
364 scoped_ptr<ResourceList> resource_list; | 364 scoped_ptr<FileList> file_list; |
365 fake_service_.SearchByTitle( | 365 fake_service_.SearchByTitle( |
366 "Directory 1", // title | 366 "Directory 1", // title |
367 fake_service_.GetRootResourceId(), // directory_resource_id | 367 fake_service_.GetRootResourceId(), // directory_resource_id |
368 test_util::CreateCopyResultCallback(&error, &resource_list)); | 368 test_util::CreateCopyResultCallback(&error, &file_list)); |
369 base::RunLoop().RunUntilIdle(); | 369 base::RunLoop().RunUntilIdle(); |
370 | 370 |
371 EXPECT_EQ(GDATA_NO_CONNECTION, error); | 371 EXPECT_EQ(GDATA_NO_CONNECTION, error); |
372 EXPECT_FALSE(resource_list); | 372 EXPECT_FALSE(file_list); |
373 } | 373 } |
374 | 374 |
375 TEST_F(FakeDriveServiceTest, GetChangeList_NoNewEntries) { | 375 TEST_F(FakeDriveServiceTest, GetChangeList_NoNewEntries) { |
376 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); | 376 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); |
377 | 377 |
378 GDataErrorCode error = GDATA_OTHER_ERROR; | 378 GDataErrorCode error = GDATA_OTHER_ERROR; |
379 scoped_ptr<ChangeList> change_list; | 379 scoped_ptr<ChangeList> change_list; |
380 fake_service_.GetChangeList( | 380 fake_service_.GetChangeList( |
381 fake_service_.about_resource().largest_change_id() + 1, | 381 fake_service_.about_resource().largest_change_id() + 1, |
382 test_util::CreateCopyResultCallback(&error, &change_list)); | 382 test_util::CreateCopyResultCallback(&error, &change_list)); |
383 base::RunLoop().RunUntilIdle(); | 383 base::RunLoop().RunUntilIdle(); |
384 | 384 |
385 EXPECT_EQ(HTTP_SUCCESS, error); | 385 EXPECT_EQ(HTTP_SUCCESS, error); |
386 ASSERT_TRUE(change_list); | 386 ASSERT_TRUE(change_list); |
387 EXPECT_EQ(fake_service_.about_resource().largest_change_id(), | 387 EXPECT_EQ(fake_service_.about_resource().largest_change_id(), |
388 change_list->largest_change_id()); | 388 change_list->largest_change_id()); |
389 // This should be empty as the latest changestamp was passed to | 389 // This should be empty as the latest changestamp was passed to |
390 // GetResourceList(), hence there should be no new entries. | 390 // GetChangeList(), hence there should be no new entries. |
391 EXPECT_EQ(0U, change_list->items().size()); | 391 EXPECT_EQ(0U, change_list->items().size()); |
392 // It's considered loaded even if the result is empty. | 392 // It's considered loaded even if the result is empty. |
393 EXPECT_EQ(1, fake_service_.change_list_load_count()); | 393 EXPECT_EQ(1, fake_service_.change_list_load_count()); |
394 } | 394 } |
395 | 395 |
396 TEST_F(FakeDriveServiceTest, GetChangeList_WithNewEntry) { | 396 TEST_F(FakeDriveServiceTest, GetChangeList_WithNewEntry) { |
397 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); | 397 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); |
398 const int64 old_largest_change_id = | 398 const int64 old_largest_change_id = |
399 fake_service_.about_resource().largest_change_id(); | 399 fake_service_.about_resource().largest_change_id(); |
400 | 400 |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
498 change_list->largest_change_id()); | 498 change_list->largest_change_id()); |
499 // The result should only contain the trashed file. | 499 // The result should only contain the trashed file. |
500 ASSERT_EQ(1U, change_list->items().size()); | 500 ASSERT_EQ(1U, change_list->items().size()); |
501 const ChangeResource& item = *change_list->items()[0]; | 501 const ChangeResource& item = *change_list->items()[0]; |
502 EXPECT_EQ("file:2_file_resource_id", item.file_id()); | 502 EXPECT_EQ("file:2_file_resource_id", item.file_id()); |
503 ASSERT_TRUE(item.file()); | 503 ASSERT_TRUE(item.file()); |
504 EXPECT_TRUE(item.file()->labels().is_trashed()); | 504 EXPECT_TRUE(item.file()->labels().is_trashed()); |
505 EXPECT_EQ(1, fake_service_.change_list_load_count()); | 505 EXPECT_EQ(1, fake_service_.change_list_load_count()); |
506 } | 506 } |
507 | 507 |
508 TEST_F(FakeDriveServiceTest, GetRemainingFileList_GetAllResourceList) { | 508 TEST_F(FakeDriveServiceTest, GetRemainingFileList_GetAllFileList) { |
509 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); | 509 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); |
510 fake_service_.set_default_max_results(6); | 510 fake_service_.set_default_max_results(6); |
511 | 511 |
512 GDataErrorCode error = GDATA_OTHER_ERROR; | 512 GDataErrorCode error = GDATA_OTHER_ERROR; |
513 scoped_ptr<ResourceList> resource_list; | 513 scoped_ptr<FileList> file_list; |
514 fake_service_.GetAllResourceList( | 514 fake_service_.GetAllFileList( |
515 test_util::CreateCopyResultCallback(&error, &resource_list)); | 515 test_util::CreateCopyResultCallback(&error, &file_list)); |
516 base::RunLoop().RunUntilIdle(); | 516 base::RunLoop().RunUntilIdle(); |
517 EXPECT_EQ(HTTP_SUCCESS, error); | 517 EXPECT_EQ(HTTP_SUCCESS, error); |
518 ASSERT_TRUE(resource_list); | 518 ASSERT_TRUE(file_list); |
519 | 519 |
520 // Do some sanity check. | 520 // Do some sanity check. |
521 // The number of results is 14 entries. Thus, it should split into three | 521 // The number of results is 14 entries. Thus, it should split into three |
522 // chunks: 6, 6, and then 2. | 522 // chunks: 6, 6, and then 2. |
523 EXPECT_EQ(6U, resource_list->entries().size()); | 523 EXPECT_EQ(6U, file_list->items().size()); |
524 EXPECT_EQ(1, fake_service_.resource_list_load_count()); | 524 EXPECT_EQ(1, fake_service_.file_list_load_count()); |
525 | 525 |
526 // Second page loading. | 526 // Second page loading. |
527 const google_apis::Link* next_link = | 527 // Keep the next url before releasing the |file_list|. |
528 resource_list->GetLinkByType(Link::LINK_NEXT); | 528 GURL next_url(file_list->next_link()); |
529 ASSERT_TRUE(next_link); | |
530 // Keep the next url before releasing the |resource_list|. | |
531 GURL next_url(next_link->href()); | |
532 | 529 |
533 error = GDATA_OTHER_ERROR; | 530 error = GDATA_OTHER_ERROR; |
534 resource_list.reset(); | 531 file_list.reset(); |
535 fake_service_.GetRemainingFileList( | 532 fake_service_.GetRemainingFileList( |
536 next_url, | 533 next_url, |
537 test_util::CreateCopyResultCallback(&error, &resource_list)); | 534 test_util::CreateCopyResultCallback(&error, &file_list)); |
538 base::RunLoop().RunUntilIdle(); | 535 base::RunLoop().RunUntilIdle(); |
539 | 536 |
540 EXPECT_EQ(HTTP_SUCCESS, error); | 537 EXPECT_EQ(HTTP_SUCCESS, error); |
541 ASSERT_TRUE(resource_list); | 538 ASSERT_TRUE(file_list); |
542 | 539 |
543 EXPECT_EQ(6U, resource_list->entries().size()); | 540 EXPECT_EQ(6U, file_list->items().size()); |
544 EXPECT_EQ(1, fake_service_.resource_list_load_count()); | 541 EXPECT_EQ(1, fake_service_.file_list_load_count()); |
545 | 542 |
546 // Third page loading. | 543 // Third page loading. |
547 next_link = resource_list->GetLinkByType(Link::LINK_NEXT); | 544 next_url = file_list->next_link(); |
548 ASSERT_TRUE(next_link); | |
549 next_url = GURL(next_link->href()); | |
550 | 545 |
551 error = GDATA_OTHER_ERROR; | 546 error = GDATA_OTHER_ERROR; |
552 resource_list.reset(); | 547 file_list.reset(); |
553 fake_service_.GetRemainingFileList( | 548 fake_service_.GetRemainingFileList( |
554 next_url, | 549 next_url, |
555 test_util::CreateCopyResultCallback(&error, &resource_list)); | 550 test_util::CreateCopyResultCallback(&error, &file_list)); |
556 base::RunLoop().RunUntilIdle(); | 551 base::RunLoop().RunUntilIdle(); |
557 | 552 |
558 EXPECT_EQ(HTTP_SUCCESS, error); | 553 EXPECT_EQ(HTTP_SUCCESS, error); |
559 ASSERT_TRUE(resource_list); | 554 ASSERT_TRUE(file_list); |
560 | 555 |
561 EXPECT_EQ(3U, resource_list->entries().size()); | 556 EXPECT_EQ(3U, file_list->items().size()); |
562 EXPECT_EQ(1, fake_service_.resource_list_load_count()); | 557 EXPECT_EQ(1, fake_service_.file_list_load_count()); |
563 } | 558 } |
564 | 559 |
565 TEST_F(FakeDriveServiceTest, | 560 TEST_F(FakeDriveServiceTest, GetRemainingFileList_GetFileListInDirectory) { |
566 GetRemainingFileList_GetResourceListInDirectory) { | |
567 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); | 561 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); |
568 fake_service_.set_default_max_results(3); | 562 fake_service_.set_default_max_results(3); |
569 | 563 |
570 GDataErrorCode error = GDATA_OTHER_ERROR; | 564 GDataErrorCode error = GDATA_OTHER_ERROR; |
571 scoped_ptr<ResourceList> resource_list; | 565 scoped_ptr<FileList> file_list; |
572 fake_service_.GetResourceListInDirectory( | 566 fake_service_.GetFileListInDirectory( |
573 fake_service_.GetRootResourceId(), | 567 fake_service_.GetRootResourceId(), |
574 test_util::CreateCopyResultCallback(&error, &resource_list)); | 568 test_util::CreateCopyResultCallback(&error, &file_list)); |
575 base::RunLoop().RunUntilIdle(); | 569 base::RunLoop().RunUntilIdle(); |
576 EXPECT_EQ(HTTP_SUCCESS, error); | 570 EXPECT_EQ(HTTP_SUCCESS, error); |
577 ASSERT_TRUE(resource_list); | 571 ASSERT_TRUE(file_list); |
578 | 572 |
579 // Do some sanity check. | 573 // Do some sanity check. |
580 // The number of results is 8 entries. Thus, it should split into three | 574 // The number of results is 8 entries. Thus, it should split into three |
581 // chunks: 3, 3, and then 2. | 575 // chunks: 3, 3, and then 2. |
582 EXPECT_EQ(3U, resource_list->entries().size()); | 576 EXPECT_EQ(3U, file_list->items().size()); |
583 EXPECT_EQ(1, fake_service_.directory_load_count()); | 577 EXPECT_EQ(1, fake_service_.directory_load_count()); |
584 | 578 |
585 // Second page loading. | 579 // Second page loading. |
586 const google_apis::Link* next_link = | 580 // Keep the next url before releasing the |file_list|. |
587 resource_list->GetLinkByType(Link::LINK_NEXT); | 581 GURL next_url = file_list->next_link(); |
588 ASSERT_TRUE(next_link); | |
589 // Keep the next url before releasing the |resource_list|. | |
590 GURL next_url(next_link->href()); | |
591 | 582 |
592 error = GDATA_OTHER_ERROR; | 583 error = GDATA_OTHER_ERROR; |
593 resource_list.reset(); | 584 file_list.reset(); |
594 fake_service_.GetRemainingFileList( | 585 fake_service_.GetRemainingFileList( |
595 next_url, | 586 next_url, |
596 test_util::CreateCopyResultCallback(&error, &resource_list)); | 587 test_util::CreateCopyResultCallback(&error, &file_list)); |
597 base::RunLoop().RunUntilIdle(); | 588 base::RunLoop().RunUntilIdle(); |
598 | 589 |
599 EXPECT_EQ(HTTP_SUCCESS, error); | 590 EXPECT_EQ(HTTP_SUCCESS, error); |
600 ASSERT_TRUE(resource_list); | 591 ASSERT_TRUE(file_list); |
601 | 592 |
602 EXPECT_EQ(3U, resource_list->entries().size()); | 593 EXPECT_EQ(3U, file_list->items().size()); |
603 EXPECT_EQ(1, fake_service_.directory_load_count()); | 594 EXPECT_EQ(1, fake_service_.directory_load_count()); |
604 | 595 |
605 // Third page loading. | 596 // Third page loading. |
606 next_link = resource_list->GetLinkByType(Link::LINK_NEXT); | 597 next_url = file_list->next_link(); |
607 ASSERT_TRUE(next_link); | |
608 next_url = GURL(next_link->href()); | |
609 | 598 |
610 error = GDATA_OTHER_ERROR; | 599 error = GDATA_OTHER_ERROR; |
611 resource_list.reset(); | 600 file_list.reset(); |
612 fake_service_.GetRemainingFileList( | 601 fake_service_.GetRemainingFileList( |
613 next_url, | 602 next_url, |
614 test_util::CreateCopyResultCallback(&error, &resource_list)); | 603 test_util::CreateCopyResultCallback(&error, &file_list)); |
615 base::RunLoop().RunUntilIdle(); | 604 base::RunLoop().RunUntilIdle(); |
616 | 605 |
617 EXPECT_EQ(HTTP_SUCCESS, error); | 606 EXPECT_EQ(HTTP_SUCCESS, error); |
618 ASSERT_TRUE(resource_list); | 607 ASSERT_TRUE(file_list); |
619 | 608 |
620 EXPECT_EQ(2U, resource_list->entries().size()); | 609 EXPECT_EQ(2U, file_list->items().size()); |
621 EXPECT_EQ(1, fake_service_.directory_load_count()); | 610 EXPECT_EQ(1, fake_service_.directory_load_count()); |
622 } | 611 } |
623 | 612 |
624 TEST_F(FakeDriveServiceTest, GetRemainingFileList_Search) { | 613 TEST_F(FakeDriveServiceTest, GetRemainingFileList_Search) { |
625 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); | 614 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); |
626 fake_service_.set_default_max_results(2); | 615 fake_service_.set_default_max_results(2); |
627 | 616 |
628 GDataErrorCode error = GDATA_OTHER_ERROR; | 617 GDataErrorCode error = GDATA_OTHER_ERROR; |
629 scoped_ptr<ResourceList> resource_list; | 618 scoped_ptr<FileList> file_list; |
630 fake_service_.Search( | 619 fake_service_.Search( |
631 "File", // search_query | 620 "File", // search_query |
632 test_util::CreateCopyResultCallback(&error, &resource_list)); | 621 test_util::CreateCopyResultCallback(&error, &file_list)); |
633 base::RunLoop().RunUntilIdle(); | 622 base::RunLoop().RunUntilIdle(); |
634 EXPECT_EQ(HTTP_SUCCESS, error); | 623 EXPECT_EQ(HTTP_SUCCESS, error); |
635 ASSERT_TRUE(resource_list); | 624 ASSERT_TRUE(file_list); |
636 | 625 |
637 // Do some sanity check. | 626 // Do some sanity check. |
638 // The number of results is 4 entries. Thus, it should split into two | 627 // The number of results is 4 entries. Thus, it should split into two |
639 // chunks: 2, and then 2 | 628 // chunks: 2, and then 2 |
640 EXPECT_EQ(2U, resource_list->entries().size()); | 629 EXPECT_EQ(2U, file_list->items().size()); |
641 | 630 |
642 // Second page loading. | 631 // Second page loading. |
643 const google_apis::Link* next_link = | 632 // Keep the next url before releasing the |file_list|. |
644 resource_list->GetLinkByType(Link::LINK_NEXT); | 633 GURL next_url = file_list->next_link(); |
645 ASSERT_TRUE(next_link); | |
646 // Keep the next url before releasing the |resource_list|. | |
647 GURL next_url(next_link->href()); | |
648 | 634 |
649 error = GDATA_OTHER_ERROR; | 635 error = GDATA_OTHER_ERROR; |
650 resource_list.reset(); | 636 file_list.reset(); |
651 fake_service_.GetRemainingFileList( | 637 fake_service_.GetRemainingFileList( |
652 next_url, | 638 next_url, |
653 test_util::CreateCopyResultCallback(&error, &resource_list)); | 639 test_util::CreateCopyResultCallback(&error, &file_list)); |
654 base::RunLoop().RunUntilIdle(); | 640 base::RunLoop().RunUntilIdle(); |
655 | 641 |
656 EXPECT_EQ(HTTP_SUCCESS, error); | 642 EXPECT_EQ(HTTP_SUCCESS, error); |
657 ASSERT_TRUE(resource_list); | 643 ASSERT_TRUE(file_list); |
658 | 644 |
659 EXPECT_EQ(2U, resource_list->entries().size()); | 645 EXPECT_EQ(2U, file_list->items().size()); |
660 } | 646 } |
661 | 647 |
662 TEST_F(FakeDriveServiceTest, GetRemainingChangeList_GetChangeList) { | 648 TEST_F(FakeDriveServiceTest, GetRemainingChangeList_GetChangeList) { |
663 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); | 649 ASSERT_TRUE(test_util::SetUpTestEntries(&fake_service_)); |
664 fake_service_.set_default_max_results(2); | 650 fake_service_.set_default_max_results(2); |
665 const int64 old_largest_change_id = | 651 const int64 old_largest_change_id = |
666 fake_service_.about_resource().largest_change_id(); | 652 fake_service_.about_resource().largest_change_id(); |
667 | 653 |
668 // Add 5 new directory in the root directory. | 654 // Add 5 new directory in the root directory. |
669 for (int i = 0; i < 5; ++i) { | 655 for (int i = 0; i < 5; ++i) { |
(...skipping 1574 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2244 test_util::CreateCopyResultCallback(&error, &resource_entry)); | 2230 test_util::CreateCopyResultCallback(&error, &resource_entry)); |
2245 base::RunLoop().RunUntilIdle(); | 2231 base::RunLoop().RunUntilIdle(); |
2246 | 2232 |
2247 EXPECT_EQ(GDATA_NO_CONNECTION, error); | 2233 EXPECT_EQ(GDATA_NO_CONNECTION, error); |
2248 EXPECT_FALSE(resource_entry); | 2234 EXPECT_FALSE(resource_entry); |
2249 } | 2235 } |
2250 | 2236 |
2251 } // namespace | 2237 } // namespace |
2252 | 2238 |
2253 } // namespace drive | 2239 } // namespace drive |
OLD | NEW |