| 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/chromeos/drive/job_scheduler.h" | 5 #include "chrome/browser/chromeos/drive/job_scheduler.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 210 scoped_ptr<google_apis::AppList> app_list; | 210 scoped_ptr<google_apis::AppList> app_list; |
| 211 | 211 |
| 212 scheduler_->GetAppList( | 212 scheduler_->GetAppList( |
| 213 google_apis::test_util::CreateCopyResultCallback(&error, &app_list)); | 213 google_apis::test_util::CreateCopyResultCallback(&error, &app_list)); |
| 214 base::RunLoop().RunUntilIdle(); | 214 base::RunLoop().RunUntilIdle(); |
| 215 | 215 |
| 216 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); | 216 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); |
| 217 ASSERT_TRUE(app_list); | 217 ASSERT_TRUE(app_list); |
| 218 } | 218 } |
| 219 | 219 |
| 220 TEST_F(JobSchedulerTest, GetAllResourceList) { | 220 TEST_F(JobSchedulerTest, GetAllFileList) { |
| 221 ConnectToWifi(); | 221 ConnectToWifi(); |
| 222 | 222 |
| 223 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; | 223 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
| 224 scoped_ptr<google_apis::ResourceList> resource_list; | 224 scoped_ptr<google_apis::FileList> file_list; |
| 225 | 225 |
| 226 scheduler_->GetAllResourceList( | 226 scheduler_->GetAllFileList( |
| 227 google_apis::test_util::CreateCopyResultCallback( | 227 google_apis::test_util::CreateCopyResultCallback(&error, &file_list)); |
| 228 &error, &resource_list)); | |
| 229 base::RunLoop().RunUntilIdle(); | 228 base::RunLoop().RunUntilIdle(); |
| 230 | 229 |
| 231 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); | 230 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); |
| 232 ASSERT_TRUE(resource_list); | 231 ASSERT_TRUE(file_list); |
| 233 } | 232 } |
| 234 | 233 |
| 235 TEST_F(JobSchedulerTest, GetResourceListInDirectory) { | 234 TEST_F(JobSchedulerTest, GetFileListInDirectory) { |
| 236 ConnectToWifi(); | 235 ConnectToWifi(); |
| 237 | 236 |
| 238 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; | 237 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
| 239 scoped_ptr<google_apis::ResourceList> resource_list; | 238 scoped_ptr<google_apis::FileList> file_list; |
| 240 | 239 |
| 241 scheduler_->GetResourceListInDirectory( | 240 scheduler_->GetFileListInDirectory( |
| 242 fake_drive_service_->GetRootResourceId(), | 241 fake_drive_service_->GetRootResourceId(), |
| 243 google_apis::test_util::CreateCopyResultCallback( | 242 google_apis::test_util::CreateCopyResultCallback(&error, &file_list)); |
| 244 &error, &resource_list)); | |
| 245 base::RunLoop().RunUntilIdle(); | 243 base::RunLoop().RunUntilIdle(); |
| 246 | 244 |
| 247 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); | 245 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); |
| 248 ASSERT_TRUE(resource_list); | 246 ASSERT_TRUE(file_list); |
| 249 } | 247 } |
| 250 | 248 |
| 251 TEST_F(JobSchedulerTest, Search) { | 249 TEST_F(JobSchedulerTest, Search) { |
| 252 ConnectToWifi(); | 250 ConnectToWifi(); |
| 253 | 251 |
| 254 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; | 252 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
| 255 scoped_ptr<google_apis::ResourceList> resource_list; | 253 scoped_ptr<google_apis::FileList> file_list; |
| 256 | 254 |
| 257 scheduler_->Search( | 255 scheduler_->Search( |
| 258 "File", // search query | 256 "File", // search query |
| 259 google_apis::test_util::CreateCopyResultCallback( | 257 google_apis::test_util::CreateCopyResultCallback(&error, &file_list)); |
| 260 &error, &resource_list)); | |
| 261 base::RunLoop().RunUntilIdle(); | 258 base::RunLoop().RunUntilIdle(); |
| 262 | 259 |
| 263 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); | 260 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); |
| 264 ASSERT_TRUE(resource_list); | 261 ASSERT_TRUE(file_list); |
| 265 } | 262 } |
| 266 | 263 |
| 267 TEST_F(JobSchedulerTest, GetChangeList) { | 264 TEST_F(JobSchedulerTest, GetChangeList) { |
| 268 ConnectToWifi(); | 265 ConnectToWifi(); |
| 269 | 266 |
| 270 int64 old_largest_change_id = | 267 int64 old_largest_change_id = |
| 271 fake_drive_service_->about_resource().largest_change_id(); | 268 fake_drive_service_->about_resource().largest_change_id(); |
| 272 | 269 |
| 273 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; | 270 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
| 274 | 271 |
| 275 // Create a new directory. | 272 // Create a new directory. |
| 276 { | 273 { |
| 277 scoped_ptr<google_apis::FileResource> entry; | 274 scoped_ptr<google_apis::FileResource> entry; |
| 278 fake_drive_service_->AddNewDirectory( | 275 fake_drive_service_->AddNewDirectory( |
| 279 fake_drive_service_->GetRootResourceId(), | 276 fake_drive_service_->GetRootResourceId(), |
| 280 "new directory", | 277 "new directory", |
| 281 DriveServiceInterface::AddNewDirectoryOptions(), | 278 DriveServiceInterface::AddNewDirectoryOptions(), |
| 282 google_apis::test_util::CreateCopyResultCallback( | 279 google_apis::test_util::CreateCopyResultCallback( |
| 283 &error, &entry)); | 280 &error, &entry)); |
| 284 base::RunLoop().RunUntilIdle(); | 281 base::RunLoop().RunUntilIdle(); |
| 285 ASSERT_EQ(google_apis::HTTP_CREATED, error); | 282 ASSERT_EQ(google_apis::HTTP_CREATED, error); |
| 286 } | 283 } |
| 287 | 284 |
| 288 error = google_apis::GDATA_OTHER_ERROR; | 285 error = google_apis::GDATA_OTHER_ERROR; |
| 289 scoped_ptr<google_apis::ResourceList> resource_list; | 286 scoped_ptr<google_apis::ChangeList> change_list; |
| 290 scheduler_->GetChangeList( | 287 scheduler_->GetChangeList( |
| 291 old_largest_change_id + 1, | 288 old_largest_change_id + 1, |
| 292 google_apis::test_util::CreateCopyResultCallback( | 289 google_apis::test_util::CreateCopyResultCallback(&error, &change_list)); |
| 293 &error, &resource_list)); | |
| 294 base::RunLoop().RunUntilIdle(); | 290 base::RunLoop().RunUntilIdle(); |
| 295 | 291 |
| 296 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); | 292 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); |
| 297 ASSERT_TRUE(resource_list); | 293 ASSERT_TRUE(change_list); |
| 298 } | 294 } |
| 299 | 295 |
| 300 TEST_F(JobSchedulerTest, GetRemainingChangeList) { | 296 TEST_F(JobSchedulerTest, GetRemainingChangeList) { |
| 301 ConnectToWifi(); | 297 ConnectToWifi(); |
| 302 fake_drive_service_->set_default_max_results(2); | 298 fake_drive_service_->set_default_max_results(2); |
| 303 | 299 |
| 304 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; | 300 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
| 305 scoped_ptr<google_apis::ResourceList> resource_list; | 301 scoped_ptr<google_apis::ChangeList> change_list; |
| 306 | 302 |
| 307 scheduler_->GetAllResourceList( | 303 scheduler_->GetChangeList( |
| 308 google_apis::test_util::CreateCopyResultCallback( | 304 0, |
| 309 &error, &resource_list)); | 305 google_apis::test_util::CreateCopyResultCallback(&error, &change_list)); |
| 310 base::RunLoop().RunUntilIdle(); | 306 base::RunLoop().RunUntilIdle(); |
| 311 | 307 |
| 312 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); | 308 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); |
| 313 ASSERT_TRUE(resource_list); | 309 ASSERT_TRUE(change_list); |
| 314 | 310 |
| 315 const google_apis::Link* next_link = | 311 // Keep the next url before releasing the |change_list|. |
| 316 resource_list->GetLinkByType(google_apis::Link::LINK_NEXT); | 312 GURL next_url(change_list->next_link()); |
| 317 ASSERT_TRUE(next_link); | |
| 318 // Keep the next url before releasing the |resource_list|. | |
| 319 GURL next_url(next_link->href()); | |
| 320 | 313 |
| 321 error = google_apis::GDATA_OTHER_ERROR; | 314 error = google_apis::GDATA_OTHER_ERROR; |
| 322 resource_list.reset(); | 315 change_list.reset(); |
| 323 | 316 |
| 324 scheduler_->GetRemainingChangeList( | 317 scheduler_->GetRemainingChangeList( |
| 325 next_url, | 318 next_url, |
| 326 google_apis::test_util::CreateCopyResultCallback( | 319 google_apis::test_util::CreateCopyResultCallback(&error, &change_list)); |
| 327 &error, &resource_list)); | |
| 328 base::RunLoop().RunUntilIdle(); | 320 base::RunLoop().RunUntilIdle(); |
| 329 | 321 |
| 330 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); | 322 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); |
| 331 ASSERT_TRUE(resource_list); | 323 ASSERT_TRUE(change_list); |
| 332 } | 324 } |
| 333 | 325 |
| 334 TEST_F(JobSchedulerTest, GetRemainingFileList) { | 326 TEST_F(JobSchedulerTest, GetRemainingFileList) { |
| 335 ConnectToWifi(); | 327 ConnectToWifi(); |
| 336 fake_drive_service_->set_default_max_results(2); | 328 fake_drive_service_->set_default_max_results(2); |
| 337 | 329 |
| 338 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; | 330 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
| 339 scoped_ptr<google_apis::ResourceList> resource_list; | 331 scoped_ptr<google_apis::FileList> file_list; |
| 340 | 332 |
| 341 scheduler_->GetResourceListInDirectory( | 333 scheduler_->GetFileListInDirectory( |
| 342 fake_drive_service_->GetRootResourceId(), | 334 fake_drive_service_->GetRootResourceId(), |
| 343 google_apis::test_util::CreateCopyResultCallback( | 335 google_apis::test_util::CreateCopyResultCallback(&error, &file_list)); |
| 344 &error, &resource_list)); | |
| 345 base::RunLoop().RunUntilIdle(); | 336 base::RunLoop().RunUntilIdle(); |
| 346 | 337 |
| 347 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); | 338 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); |
| 348 ASSERT_TRUE(resource_list); | 339 ASSERT_TRUE(file_list); |
| 349 | 340 |
| 350 const google_apis::Link* next_link = | 341 // Keep the next url before releasing the |file_list|. |
| 351 resource_list->GetLinkByType(google_apis::Link::LINK_NEXT); | 342 GURL next_url(file_list->next_link()); |
| 352 ASSERT_TRUE(next_link); | |
| 353 // Keep the next url before releasing the |resource_list|. | |
| 354 GURL next_url(next_link->href()); | |
| 355 | 343 |
| 356 error = google_apis::GDATA_OTHER_ERROR; | 344 error = google_apis::GDATA_OTHER_ERROR; |
| 357 resource_list.reset(); | 345 file_list.reset(); |
| 358 | 346 |
| 359 scheduler_->GetRemainingFileList( | 347 scheduler_->GetRemainingFileList( |
| 360 next_url, | 348 next_url, |
| 361 google_apis::test_util::CreateCopyResultCallback( | 349 google_apis::test_util::CreateCopyResultCallback(&error, &file_list)); |
| 362 &error, &resource_list)); | |
| 363 base::RunLoop().RunUntilIdle(); | 350 base::RunLoop().RunUntilIdle(); |
| 364 | 351 |
| 365 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); | 352 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); |
| 366 ASSERT_TRUE(resource_list); | 353 ASSERT_TRUE(file_list); |
| 367 } | 354 } |
| 368 | 355 |
| 369 TEST_F(JobSchedulerTest, GetResourceEntry) { | 356 TEST_F(JobSchedulerTest, GetResourceEntry) { |
| 370 ConnectToWifi(); | 357 ConnectToWifi(); |
| 371 | 358 |
| 372 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; | 359 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
| 373 scoped_ptr<google_apis::ResourceEntry> entry; | 360 scoped_ptr<google_apis::ResourceEntry> entry; |
| 374 | 361 |
| 375 scheduler_->GetResourceEntry( | 362 scheduler_->GetResourceEntry( |
| 376 "file:2_file_resource_id", // resource ID | 363 "file:2_file_resource_id", // resource ID |
| (...skipping 698 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1075 scheduler_->CancelJob(first_job_id); | 1062 scheduler_->CancelJob(first_job_id); |
| 1076 | 1063 |
| 1077 // Only the first job should be cancelled. | 1064 // Only the first job should be cancelled. |
| 1078 base::RunLoop().RunUntilIdle(); | 1065 base::RunLoop().RunUntilIdle(); |
| 1079 EXPECT_EQ(google_apis::GDATA_CANCELLED, error1); | 1066 EXPECT_EQ(google_apis::GDATA_CANCELLED, error1); |
| 1080 EXPECT_EQ(google_apis::HTTP_SUCCESS, error2); | 1067 EXPECT_EQ(google_apis::HTTP_SUCCESS, error2); |
| 1081 EXPECT_TRUE(scheduler_->GetJobInfoList().empty()); | 1068 EXPECT_TRUE(scheduler_->GetJobInfoList().empty()); |
| 1082 } | 1069 } |
| 1083 | 1070 |
| 1084 } // namespace drive | 1071 } // namespace drive |
| OLD | NEW |