| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "components/offline_pages/background/request_queue_store.h" | 5 #include "components/offline_pages/background/request_queue_store.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
| (...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 298 store->RemoveRequests(request_ids, | 298 store->RemoveRequests(request_ids, |
| 299 base::Bind(&RequestQueueStoreTestBase::RemoveDone, | 299 base::Bind(&RequestQueueStoreTestBase::RemoveDone, |
| 300 base::Unretained(this))); | 300 base::Unretained(this))); |
| 301 ASSERT_EQ(0ul, this->last_remove_results().size()); | 301 ASSERT_EQ(0ul, this->last_remove_results().size()); |
| 302 this->PumpLoop(); | 302 this->PumpLoop(); |
| 303 ASSERT_EQ(2ul, this->last_remove_results().size()); | 303 ASSERT_EQ(2ul, this->last_remove_results().size()); |
| 304 ASSERT_EQ(RequestQueue::UpdateRequestResult::SUCCESS, | 304 ASSERT_EQ(RequestQueue::UpdateRequestResult::SUCCESS, |
| 305 this->last_remove_results().at(0).second); | 305 this->last_remove_results().at(0).second); |
| 306 ASSERT_EQ(RequestQueue::UpdateRequestResult::SUCCESS, | 306 ASSERT_EQ(RequestQueue::UpdateRequestResult::SUCCESS, |
| 307 this->last_remove_results().at(1).second); | 307 this->last_remove_results().at(1).second); |
| 308 ASSERT_EQ(2UL, this->last_requests().size()); |
| 308 ASSERT_EQ(kRequestId, this->last_requests().at(0).request_id()); | 309 ASSERT_EQ(kRequestId, this->last_requests().at(0).request_id()); |
| 309 this->ClearResults(); | 310 this->ClearResults(); |
| 310 | 311 |
| 311 store->GetRequests(base::Bind(&RequestQueueStoreTestBase::GetRequestsDone, | 312 store->GetRequests(base::Bind(&RequestQueueStoreTestBase::GetRequestsDone, |
| 312 base::Unretained(this))); | 313 base::Unretained(this))); |
| 313 this->PumpLoop(); | 314 this->PumpLoop(); |
| 314 ASSERT_EQ(LastResult::kTrue, this->last_result()); | 315 ASSERT_EQ(LastResult::kTrue, this->last_result()); |
| 315 ASSERT_TRUE(this->last_requests().empty()); | 316 ASSERT_TRUE(this->last_requests().empty()); |
| 316 this->ClearResults(); | 317 this->ClearResults(); |
| 317 | 318 |
| 318 // Try to remove a request that is not in the queue. | 319 // Try to remove a request that is not in the queue. |
| 319 store->RemoveRequests(request_ids, | 320 store->RemoveRequests(request_ids, |
| 320 base::Bind(&RequestQueueStoreTestBase::RemoveDone, | 321 base::Bind(&RequestQueueStoreTestBase::RemoveDone, |
| 321 base::Unretained(this))); | 322 base::Unretained(this))); |
| 322 ASSERT_EQ(LastResult::kNone, this->last_result()); | 323 ASSERT_EQ(LastResult::kNone, this->last_result()); |
| 323 this->PumpLoop(); | 324 this->PumpLoop(); |
| 324 ASSERT_EQ(2ul, this->last_remove_results().size()); | 325 ASSERT_EQ(2ul, this->last_remove_results().size()); |
| 325 // Since the SQL statement returns true on a delete of an item that isn't | 326 // When requests are missing, we expect the results to say so, but since they |
| 326 // present, SQL is returning SUCCESS, but the memory is returning | 327 // are missing, no requests should have been returned. |
| 327 // REQUEST_DOES_NOT_EXIST, so we just check that the result is not failure. | 328 ASSERT_EQ(RequestQueue::UpdateRequestResult::REQUEST_DOES_NOT_EXIST, |
| 328 ASSERT_NE(RequestQueue::UpdateRequestResult::STORE_FAILURE, | |
| 329 this->last_remove_results().at(0).second); | 329 this->last_remove_results().at(0).second); |
| 330 ASSERT_NE(RequestQueue::UpdateRequestResult::STORE_FAILURE, | 330 ASSERT_EQ(RequestQueue::UpdateRequestResult::REQUEST_DOES_NOT_EXIST, |
| 331 this->last_remove_results().at(1).second); | 331 this->last_remove_results().at(1).second); |
| 332 ASSERT_EQ(0UL, this->last_requests().size()); |
| 332 } | 333 } |
| 333 | 334 |
| 334 TYPED_TEST(RequestQueueStoreTest, PauseAndResumeRequest) { | 335 TYPED_TEST(RequestQueueStoreTest, PauseAndResumeRequest) { |
| 335 std::unique_ptr<RequestQueueStore> store(this->BuildStore()); | 336 std::unique_ptr<RequestQueueStore> store(this->BuildStore()); |
| 336 base::Time creation_time = base::Time::Now(); | 337 base::Time creation_time = base::Time::Now(); |
| 337 | 338 |
| 338 // Create request and add it to the queue. | 339 // Create request and add it to the queue. |
| 339 SavePageRequest request1(kRequestId, kUrl, kClientId, creation_time, | 340 SavePageRequest request1(kRequestId, kUrl, kClientId, creation_time, |
| 340 kUserRequested); | 341 kUserRequested); |
| 341 store->AddOrUpdateRequest( | 342 store->AddOrUpdateRequest( |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 448 store->GetRequests(base::Bind(&RequestQueueStoreTestBase::GetRequestsDone, | 449 store->GetRequests(base::Bind(&RequestQueueStoreTestBase::GetRequestsDone, |
| 449 base::Unretained(this))); | 450 base::Unretained(this))); |
| 450 ASSERT_EQ(LastResult::kNone, this->last_result()); | 451 ASSERT_EQ(LastResult::kNone, this->last_result()); |
| 451 this->PumpLoop(); | 452 this->PumpLoop(); |
| 452 ASSERT_EQ(LastResult::kTrue, this->last_result()); | 453 ASSERT_EQ(LastResult::kTrue, this->last_result()); |
| 453 ASSERT_EQ(1ul, this->last_requests().size()); | 454 ASSERT_EQ(1ul, this->last_requests().size()); |
| 454 ASSERT_TRUE(original_request == this->last_requests()[0]); | 455 ASSERT_TRUE(original_request == this->last_requests()[0]); |
| 455 } | 456 } |
| 456 | 457 |
| 457 } // offline_pages | 458 } // offline_pages |
| OLD | NEW |