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 |