Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/offline_page_metadata_store_impl.h" | 5 #include "components/offline_pages/offline_page_metadata_store_impl.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 | 10 |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 187 EXPECT_EQ(STATUS_TRUE, this->last_status_); | 187 EXPECT_EQ(STATUS_TRUE, this->last_status_); |
| 188 EXPECT_EQ(1U, this->offline_pages_.size()); | 188 EXPECT_EQ(1U, this->offline_pages_.size()); |
| 189 EXPECT_EQ(offline_page.url, this->offline_pages_[0].url); | 189 EXPECT_EQ(offline_page.url, this->offline_pages_[0].url); |
| 190 EXPECT_EQ(offline_page.offline_id, this->offline_pages_[0].offline_id); | 190 EXPECT_EQ(offline_page.offline_id, this->offline_pages_[0].offline_id); |
| 191 EXPECT_EQ(offline_page.version, this->offline_pages_[0].version); | 191 EXPECT_EQ(offline_page.version, this->offline_pages_[0].version); |
| 192 EXPECT_EQ(offline_page.file_path, this->offline_pages_[0].file_path); | 192 EXPECT_EQ(offline_page.file_path, this->offline_pages_[0].file_path); |
| 193 EXPECT_EQ(offline_page.file_size, this->offline_pages_[0].file_size); | 193 EXPECT_EQ(offline_page.file_size, this->offline_pages_[0].file_size); |
| 194 EXPECT_EQ(offline_page.creation_time, this->offline_pages_[0].creation_time); | 194 EXPECT_EQ(offline_page.creation_time, this->offline_pages_[0].creation_time); |
| 195 EXPECT_EQ(offline_page.last_access_time, | 195 EXPECT_EQ(offline_page.last_access_time, |
| 196 this->offline_pages_[0].last_access_time); | 196 this->offline_pages_[0].last_access_time); |
| 197 EXPECT_EQ(offline_page.expiration_time, | |
|
jianli
2016/05/19 20:39:54
Please set an expiration time before calling AddOr
fgorski
2016/05/20 17:54:23
I am testing for that below, in a different test.
| |
| 198 this->offline_pages_[0].expiration_time); | |
| 197 EXPECT_EQ(offline_page.access_count, this->offline_pages_[0].access_count); | 199 EXPECT_EQ(offline_page.access_count, this->offline_pages_[0].access_count); |
| 198 EXPECT_EQ(offline_page.client_id, this->offline_pages_[0].client_id); | 200 EXPECT_EQ(offline_page.client_id, this->offline_pages_[0].client_id); |
| 199 } | 201 } |
| 200 | 202 |
| 201 // Tests removing offline page metadata from the store, for which it first adds | 203 // Tests removing offline page metadata from the store, for which it first adds |
| 202 // metadata of an offline page. | 204 // metadata of an offline page. |
| 203 TYPED_TEST(OfflinePageMetadataStoreTest, RemoveOfflinePage) { | 205 TYPED_TEST(OfflinePageMetadataStoreTest, RemoveOfflinePage) { |
| 204 std::unique_ptr<OfflinePageMetadataStore> store(this->BuildStore()); | 206 std::unique_ptr<OfflinePageMetadataStore> store(this->BuildStore()); |
| 205 | 207 |
| 206 // Add an offline page. | 208 // Add an offline page. |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 258 std::unique_ptr<OfflinePageMetadataStore> store(this->BuildStore()); | 260 std::unique_ptr<OfflinePageMetadataStore> store(this->BuildStore()); |
| 259 | 261 |
| 260 // Add an offline page. | 262 // Add an offline page. |
| 261 OfflinePageItem offline_page_1(GURL(kTestURL), 12345LL, kTestClientId1, | 263 OfflinePageItem offline_page_1(GURL(kTestURL), 12345LL, kTestClientId1, |
| 262 base::FilePath(kFilePath), kFileSize); | 264 base::FilePath(kFilePath), kFileSize); |
| 263 base::FilePath file_path_2 = | 265 base::FilePath file_path_2 = |
| 264 base::FilePath(FILE_PATH_LITERAL("//other.page.com.mhtml")); | 266 base::FilePath(FILE_PATH_LITERAL("//other.page.com.mhtml")); |
| 265 OfflinePageItem offline_page_2(GURL("https://other.page.com"), 5678LL, | 267 OfflinePageItem offline_page_2(GURL("https://other.page.com"), 5678LL, |
| 266 kTestClientId2, file_path_2, 12345, | 268 kTestClientId2, file_path_2, 12345, |
| 267 base::Time::Now()); | 269 base::Time::Now()); |
| 270 offline_page_2.expiration_time = base::Time::Now(); | |
| 268 store->AddOrUpdateOfflinePage( | 271 store->AddOrUpdateOfflinePage( |
| 269 offline_page_1, | 272 offline_page_1, |
| 270 base::Bind(&OfflinePageMetadataStoreTestBase::UpdateCallback, | 273 base::Bind(&OfflinePageMetadataStoreTestBase::UpdateCallback, |
| 271 base::Unretained(this), ADD)); | 274 base::Unretained(this), ADD)); |
| 272 this->PumpLoop(); | 275 this->PumpLoop(); |
| 273 EXPECT_EQ(ADD, this->last_called_callback_); | 276 EXPECT_EQ(ADD, this->last_called_callback_); |
| 274 EXPECT_EQ(STATUS_TRUE, this->last_status_); | 277 EXPECT_EQ(STATUS_TRUE, this->last_status_); |
| 275 | 278 |
| 276 this->ClearResults(); | 279 this->ClearResults(); |
| 277 | 280 |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 320 EXPECT_EQ(1U, this->offline_pages_.size()); | 323 EXPECT_EQ(1U, this->offline_pages_.size()); |
| 321 EXPECT_EQ(offline_page_2.url, this->offline_pages_[0].url); | 324 EXPECT_EQ(offline_page_2.url, this->offline_pages_[0].url); |
| 322 EXPECT_EQ(offline_page_2.offline_id, this->offline_pages_[0].offline_id); | 325 EXPECT_EQ(offline_page_2.offline_id, this->offline_pages_[0].offline_id); |
| 323 EXPECT_EQ(offline_page_2.version, this->offline_pages_[0].version); | 326 EXPECT_EQ(offline_page_2.version, this->offline_pages_[0].version); |
| 324 EXPECT_EQ(offline_page_2.file_path, this->offline_pages_[0].file_path); | 327 EXPECT_EQ(offline_page_2.file_path, this->offline_pages_[0].file_path); |
| 325 EXPECT_EQ(offline_page_2.file_size, this->offline_pages_[0].file_size); | 328 EXPECT_EQ(offline_page_2.file_size, this->offline_pages_[0].file_size); |
| 326 EXPECT_EQ(offline_page_2.creation_time, | 329 EXPECT_EQ(offline_page_2.creation_time, |
| 327 this->offline_pages_[0].creation_time); | 330 this->offline_pages_[0].creation_time); |
| 328 EXPECT_EQ(offline_page_2.last_access_time, | 331 EXPECT_EQ(offline_page_2.last_access_time, |
| 329 this->offline_pages_[0].last_access_time); | 332 this->offline_pages_[0].last_access_time); |
| 333 EXPECT_EQ(offline_page_2.expiration_time, | |
| 334 this->offline_pages_[0].expiration_time); | |
| 330 EXPECT_EQ(offline_page_2.access_count, this->offline_pages_[0].access_count); | 335 EXPECT_EQ(offline_page_2.access_count, this->offline_pages_[0].access_count); |
| 331 EXPECT_EQ(offline_page_2.client_id, this->offline_pages_[0].client_id); | 336 EXPECT_EQ(offline_page_2.client_id, this->offline_pages_[0].client_id); |
| 332 } | 337 } |
| 333 | 338 |
| 334 // Tests updating offline page metadata from the store. | 339 // Tests updating offline page metadata from the store. |
| 335 TYPED_TEST(OfflinePageMetadataStoreTest, UpdateOfflinePage) { | 340 TYPED_TEST(OfflinePageMetadataStoreTest, UpdateOfflinePage) { |
| 336 std::unique_ptr<OfflinePageMetadataStore> store(this->BuildStore()); | 341 std::unique_ptr<OfflinePageMetadataStore> store(this->BuildStore()); |
| 337 | 342 |
| 338 // First, adds a fresh page. | 343 // First, adds a fresh page. |
| 339 OfflinePageItem offline_page(GURL(kTestURL), 1234LL, kTestClientId1, | 344 OfflinePageItem offline_page(GURL(kTestURL), 1234LL, kTestClientId1, |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 355 EXPECT_EQ(STATUS_TRUE, this->last_status_); | 360 EXPECT_EQ(STATUS_TRUE, this->last_status_); |
| 356 EXPECT_EQ(1U, this->offline_pages_.size()); | 361 EXPECT_EQ(1U, this->offline_pages_.size()); |
| 357 EXPECT_EQ(offline_page.url, this->offline_pages_[0].url); | 362 EXPECT_EQ(offline_page.url, this->offline_pages_[0].url); |
| 358 EXPECT_EQ(offline_page.offline_id, this->offline_pages_[0].offline_id); | 363 EXPECT_EQ(offline_page.offline_id, this->offline_pages_[0].offline_id); |
| 359 EXPECT_EQ(offline_page.version, this->offline_pages_[0].version); | 364 EXPECT_EQ(offline_page.version, this->offline_pages_[0].version); |
| 360 EXPECT_EQ(offline_page.file_path, this->offline_pages_[0].file_path); | 365 EXPECT_EQ(offline_page.file_path, this->offline_pages_[0].file_path); |
| 361 EXPECT_EQ(offline_page.file_size, this->offline_pages_[0].file_size); | 366 EXPECT_EQ(offline_page.file_size, this->offline_pages_[0].file_size); |
| 362 EXPECT_EQ(offline_page.creation_time, this->offline_pages_[0].creation_time); | 367 EXPECT_EQ(offline_page.creation_time, this->offline_pages_[0].creation_time); |
| 363 EXPECT_EQ(offline_page.last_access_time, | 368 EXPECT_EQ(offline_page.last_access_time, |
| 364 this->offline_pages_[0].last_access_time); | 369 this->offline_pages_[0].last_access_time); |
| 370 EXPECT_EQ(offline_page.expiration_time, | |
| 371 this->offline_pages_[0].expiration_time); | |
| 365 EXPECT_EQ(offline_page.access_count, this->offline_pages_[0].access_count); | 372 EXPECT_EQ(offline_page.access_count, this->offline_pages_[0].access_count); |
| 366 EXPECT_EQ(offline_page.client_id, this->offline_pages_[0].client_id); | 373 EXPECT_EQ(offline_page.client_id, this->offline_pages_[0].client_id); |
| 367 | 374 |
| 368 // Then update some data. | 375 // Then update some data. |
| 369 offline_page.file_size = kFileSize + 1; | 376 offline_page.file_size = kFileSize + 1; |
| 370 offline_page.access_count++; | 377 offline_page.access_count++; |
| 371 store->AddOrUpdateOfflinePage( | 378 store->AddOrUpdateOfflinePage( |
| 372 offline_page, | 379 offline_page, |
| 373 base::Bind(&OfflinePageMetadataStoreTestBase::UpdateCallback, | 380 base::Bind(&OfflinePageMetadataStoreTestBase::UpdateCallback, |
| 374 base::Unretained(this), ADD)); | 381 base::Unretained(this), ADD)); |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 385 EXPECT_EQ(STATUS_TRUE, this->last_status_); | 392 EXPECT_EQ(STATUS_TRUE, this->last_status_); |
| 386 EXPECT_EQ(1U, this->offline_pages_.size()); | 393 EXPECT_EQ(1U, this->offline_pages_.size()); |
| 387 EXPECT_EQ(offline_page.url, this->offline_pages_[0].url); | 394 EXPECT_EQ(offline_page.url, this->offline_pages_[0].url); |
| 388 EXPECT_EQ(offline_page.offline_id, this->offline_pages_[0].offline_id); | 395 EXPECT_EQ(offline_page.offline_id, this->offline_pages_[0].offline_id); |
| 389 EXPECT_EQ(offline_page.version, this->offline_pages_[0].version); | 396 EXPECT_EQ(offline_page.version, this->offline_pages_[0].version); |
| 390 EXPECT_EQ(offline_page.file_path, this->offline_pages_[0].file_path); | 397 EXPECT_EQ(offline_page.file_path, this->offline_pages_[0].file_path); |
| 391 EXPECT_EQ(offline_page.file_size, this->offline_pages_[0].file_size); | 398 EXPECT_EQ(offline_page.file_size, this->offline_pages_[0].file_size); |
| 392 EXPECT_EQ(offline_page.creation_time, this->offline_pages_[0].creation_time); | 399 EXPECT_EQ(offline_page.creation_time, this->offline_pages_[0].creation_time); |
| 393 EXPECT_EQ(offline_page.last_access_time, | 400 EXPECT_EQ(offline_page.last_access_time, |
| 394 this->offline_pages_[0].last_access_time); | 401 this->offline_pages_[0].last_access_time); |
| 402 EXPECT_EQ(offline_page.expiration_time, | |
| 403 this->offline_pages_[0].expiration_time); | |
| 395 EXPECT_EQ(offline_page.access_count, this->offline_pages_[0].access_count); | 404 EXPECT_EQ(offline_page.access_count, this->offline_pages_[0].access_count); |
| 396 EXPECT_EQ(offline_page.client_id, this->offline_pages_[0].client_id); | 405 EXPECT_EQ(offline_page.client_id, this->offline_pages_[0].client_id); |
| 397 } | 406 } |
| 398 | 407 |
| 399 } // namespace | 408 } // namespace |
| 400 | 409 |
| 401 class OfflinePageMetadataStoreImplTest | 410 class OfflinePageMetadataStoreImplTest |
| 402 : public OfflinePageMetadataStoreTest<OfflinePageMetadataStoreImplFactory> { | 411 : public OfflinePageMetadataStoreTest<OfflinePageMetadataStoreImplFactory> { |
| 403 public: | 412 public: |
| 404 void UpdateStoreEntries( | 413 void UpdateStoreEntries( |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 464 EXPECT_EQ(STATUS_TRUE, this->last_status_); | 473 EXPECT_EQ(STATUS_TRUE, this->last_status_); |
| 465 EXPECT_EQ(1U, this->offline_pages_.size()); | 474 EXPECT_EQ(1U, this->offline_pages_.size()); |
| 466 EXPECT_EQ(offline_page.url, this->offline_pages_[0].url); | 475 EXPECT_EQ(offline_page.url, this->offline_pages_[0].url); |
| 467 EXPECT_EQ(offline_page.offline_id, this->offline_pages_[0].offline_id); | 476 EXPECT_EQ(offline_page.offline_id, this->offline_pages_[0].offline_id); |
| 468 EXPECT_EQ(offline_page.version, this->offline_pages_[0].version); | 477 EXPECT_EQ(offline_page.version, this->offline_pages_[0].version); |
| 469 EXPECT_EQ(offline_page.file_path, this->offline_pages_[0].file_path); | 478 EXPECT_EQ(offline_page.file_path, this->offline_pages_[0].file_path); |
| 470 EXPECT_EQ(offline_page.file_size, this->offline_pages_[0].file_size); | 479 EXPECT_EQ(offline_page.file_size, this->offline_pages_[0].file_size); |
| 471 EXPECT_EQ(offline_page.creation_time, this->offline_pages_[0].creation_time); | 480 EXPECT_EQ(offline_page.creation_time, this->offline_pages_[0].creation_time); |
| 472 EXPECT_EQ(offline_page.last_access_time, | 481 EXPECT_EQ(offline_page.last_access_time, |
| 473 this->offline_pages_[0].last_access_time); | 482 this->offline_pages_[0].last_access_time); |
| 483 EXPECT_EQ(offline_page.expiration_time, | |
| 484 this->offline_pages_[0].expiration_time); | |
| 474 EXPECT_EQ(offline_page.access_count, this->offline_pages_[0].access_count); | 485 EXPECT_EQ(offline_page.access_count, this->offline_pages_[0].access_count); |
| 475 } | 486 } |
| 476 | 487 |
| 477 // Test that loading a store with nothing but bad values errors. | 488 // Test that loading a store with nothing but bad values errors. |
| 478 // Needs to be outside of the anonymous namespace in order for FRIEND_TEST | 489 // Needs to be outside of the anonymous namespace in order for FRIEND_TEST |
| 479 // to work. | 490 // to work. |
| 480 TEST_F(OfflinePageMetadataStoreImplTest, LoadTotallyCorruptedStore) { | 491 TEST_F(OfflinePageMetadataStoreImplTest, LoadTotallyCorruptedStore) { |
| 481 std::unique_ptr<OfflinePageMetadataStore> store(this->BuildStore()); | 492 std::unique_ptr<OfflinePageMetadataStore> store(this->BuildStore()); |
| 482 | 493 |
| 483 // Manually write two broken pages (no id) | 494 // Manually write two broken pages (no id) |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 549 offline_pages_[0].client_id.name_space); | 560 offline_pages_[0].client_id.name_space); |
| 550 EXPECT_EQ(base::Int64ToString(offline_page_proto.deprecated_bookmark_id()), | 561 EXPECT_EQ(base::Int64ToString(offline_page_proto.deprecated_bookmark_id()), |
| 551 offline_pages_[0].client_id.id); | 562 offline_pages_[0].client_id.id); |
| 552 EXPECT_EQ(GURL(kTestURL), offline_pages_[0].url); | 563 EXPECT_EQ(GURL(kTestURL), offline_pages_[0].url); |
| 553 EXPECT_EQ(offline_page_proto.version(), offline_pages_[0].version); | 564 EXPECT_EQ(offline_page_proto.version(), offline_pages_[0].version); |
| 554 EXPECT_EQ(offline_page_proto.file_path(), | 565 EXPECT_EQ(offline_page_proto.file_path(), |
| 555 offline_pages_[0].file_path.MaybeAsASCII()); | 566 offline_pages_[0].file_path.MaybeAsASCII()); |
| 556 } | 567 } |
| 557 | 568 |
| 558 } // namespace offline_pages | 569 } // namespace offline_pages |
| OLD | NEW |