OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/precache/core/precache_database.h" | 5 #include "components/precache/core/precache_database.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include <map> | 9 #include <map> |
10 #include <memory> | 10 #include <memory> |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 protected: | 94 protected: |
95 void SetUp() override { | 95 void SetUp() override { |
96 precache_database_.reset(new PrecacheDatabase()); | 96 precache_database_.reset(new PrecacheDatabase()); |
97 | 97 |
98 ASSERT_TRUE(scoped_temp_dir_.CreateUniqueTempDir()); | 98 ASSERT_TRUE(scoped_temp_dir_.CreateUniqueTempDir()); |
99 base::FilePath db_path = scoped_temp_dir_.GetPath().Append( | 99 base::FilePath db_path = scoped_temp_dir_.GetPath().Append( |
100 base::FilePath(FILE_PATH_LITERAL("precache_database"))); | 100 base::FilePath(FILE_PATH_LITERAL("precache_database"))); |
101 ASSERT_TRUE(precache_database_->Init(db_path)); | 101 ASSERT_TRUE(precache_database_->Init(db_path)); |
102 } | 102 } |
103 | 103 |
| 104 void TearDown() override { precache_url_table()->DeleteAll(); } |
| 105 |
104 std::map<GURL, base::Time> GetActualURLTableMap() { | 106 std::map<GURL, base::Time> GetActualURLTableMap() { |
105 // Flush any buffered writes so that the URL table will be up to date. | 107 // Flush any buffered writes so that the URL table will be up to date. |
106 precache_database_->Flush(); | 108 precache_database_->Flush(); |
107 | 109 |
108 std::map<GURL, base::Time> url_table_map; | 110 std::map<GURL, base::Time> url_table_map; |
109 precache_url_table()->GetAllDataForTesting(&url_table_map); | 111 precache_url_table()->GetAllDataForTesting(&url_table_map); |
110 return url_table_map; | 112 return url_table_map; |
111 } | 113 } |
112 | 114 |
113 PrecacheURLTable* precache_url_table() { | 115 PrecacheURLTable* precache_url_table() { |
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
328 RecordFetchFromNetwork(kURL, kLatency, kFetchTime, kSize); | 330 RecordFetchFromNetwork(kURL, kLatency, kFetchTime, kSize); |
329 | 331 |
330 // The URL table entry should have been deleted. | 332 // The URL table entry should have been deleted. |
331 EXPECT_TRUE(GetActualURLTableMap().empty()); | 333 EXPECT_TRUE(GetActualURLTableMap().empty()); |
332 | 334 |
333 ExpectNewSample("Precache.DownloadedNonPrecache", kSize); | 335 ExpectNewSample("Precache.DownloadedNonPrecache", kSize); |
334 ExpectNewSample("Precache.Latency.NonPrefetch", kLatency.InMilliseconds()); | 336 ExpectNewSample("Precache.Latency.NonPrefetch", kLatency.InMilliseconds()); |
335 ExpectNewSample("Precache.Latency.NonPrefetch.NonTopHosts", | 337 ExpectNewSample("Precache.Latency.NonPrefetch.NonTopHosts", |
336 kLatency.InMilliseconds()); | 338 kLatency.InMilliseconds()); |
337 ExpectNewSample("Precache.CacheStatus.NonPrefetch", kFromNetwork); | 339 ExpectNewSample("Precache.CacheStatus.NonPrefetch", kFromNetwork); |
| 340 ExpectNewSample("Precache.CacheStatus.NonPrefetch.FromPrecache", |
| 341 kFromNetwork); |
338 ExpectNoOtherSamples(); | 342 ExpectNoOtherSamples(); |
339 } | 343 } |
340 | 344 |
341 TEST_F(PrecacheDatabaseTest, FetchFromCacheWithURLTableEntry_NonCellular) { | 345 TEST_F(PrecacheDatabaseTest, FetchFromCacheWithURLTableEntry_NonCellular) { |
342 precache_url_table()->AddURL(kURL, kReferrerID, true, kOldFetchTime); | 346 precache_url_table()->AddURL(kURL, kReferrerID, true, kOldFetchTime); |
343 RecordFetchFromCache(kURL, kFetchTime, kSize); | 347 RecordFetchFromCache(kURL, kFetchTime, kSize); |
344 | 348 |
345 // The URL table entry should have been deleted. | 349 // The URL table entry should have been deleted. |
346 EXPECT_TRUE(GetActualURLTableMap().empty()); | 350 EXPECT_TRUE(GetActualURLTableMap().empty()); |
347 | 351 |
348 ExpectNewSample("Precache.Latency.NonPrefetch", 0); | 352 ExpectNewSample("Precache.Latency.NonPrefetch", 0); |
349 ExpectNewSample("Precache.Latency.NonPrefetch.NonTopHosts", 0); | 353 ExpectNewSample("Precache.Latency.NonPrefetch.NonTopHosts", 0); |
350 ExpectNewSample("Precache.CacheStatus.NonPrefetch", | 354 ExpectNewSample("Precache.CacheStatus.NonPrefetch", |
351 HttpResponseInfo::CacheEntryStatus::ENTRY_USED); | 355 HttpResponseInfo::CacheEntryStatus::ENTRY_USED); |
| 356 ExpectNewSample("Precache.CacheStatus.NonPrefetch.FromPrecache", |
| 357 HttpResponseInfo::CacheEntryStatus::ENTRY_USED); |
352 ExpectNewSample("Precache.Saved", kSize); | 358 ExpectNewSample("Precache.Saved", kSize); |
353 ExpectNewSample("Precache.Saved.Freshness", kFreshnessBucket10K); | 359 ExpectNewSample("Precache.Saved.Freshness", kFreshnessBucket10K); |
354 ExpectNoOtherSamples(); | 360 ExpectNoOtherSamples(); |
355 } | 361 } |
356 | 362 |
357 TEST_F(PrecacheDatabaseTest, FetchFromCacheWithURLTableEntry_Cellular) { | 363 TEST_F(PrecacheDatabaseTest, FetchFromCacheWithURLTableEntry_Cellular) { |
358 precache_url_table()->AddURL(kURL, kReferrerID, true, kOldFetchTime); | 364 precache_url_table()->AddURL(kURL, kReferrerID, true, kOldFetchTime); |
359 RecordFetchFromCacheCellular(kURL, kFetchTime, kSize); | 365 RecordFetchFromCacheCellular(kURL, kFetchTime, kSize); |
360 | 366 |
361 // The URL table entry should have been deleted. | 367 // The URL table entry should have been deleted. |
362 EXPECT_TRUE(GetActualURLTableMap().empty()); | 368 EXPECT_TRUE(GetActualURLTableMap().empty()); |
363 | 369 |
364 ExpectNewSample("Precache.Latency.NonPrefetch", 0); | 370 ExpectNewSample("Precache.Latency.NonPrefetch", 0); |
365 ExpectNewSample("Precache.Latency.NonPrefetch.NonTopHosts", 0); | 371 ExpectNewSample("Precache.Latency.NonPrefetch.NonTopHosts", 0); |
366 ExpectNewSample("Precache.CacheStatus.NonPrefetch", | 372 ExpectNewSample("Precache.CacheStatus.NonPrefetch", |
367 HttpResponseInfo::CacheEntryStatus::ENTRY_USED); | 373 HttpResponseInfo::CacheEntryStatus::ENTRY_USED); |
| 374 ExpectNewSample("Precache.CacheStatus.NonPrefetch.FromPrecache", |
| 375 HttpResponseInfo::CacheEntryStatus::ENTRY_USED); |
368 ExpectNewSample("Precache.Saved", kSize); | 376 ExpectNewSample("Precache.Saved", kSize); |
369 ExpectNewSample("Precache.Saved.Cellular", kSize); | 377 ExpectNewSample("Precache.Saved.Cellular", kSize); |
370 ExpectNewSample("Precache.Saved.Freshness", kFreshnessBucket10K); | 378 ExpectNewSample("Precache.Saved.Freshness", kFreshnessBucket10K); |
371 ExpectNoOtherSamples(); | 379 ExpectNoOtherSamples(); |
372 } | 380 } |
373 | 381 |
374 TEST_F(PrecacheDatabaseTest, FetchFromCacheWithoutURLTableEntry) { | 382 TEST_F(PrecacheDatabaseTest, FetchFromCacheWithoutURLTableEntry) { |
375 RecordFetchFromCache(kURL, kFetchTime, kSize); | 383 RecordFetchFromCache(kURL, kFetchTime, kSize); |
376 | 384 |
377 EXPECT_TRUE(GetActualURLTableMap().empty()); | 385 EXPECT_TRUE(GetActualURLTableMap().empty()); |
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
631 if (!resource.is_user_browsed) | 639 if (!resource.is_user_browsed) |
632 expected_url_table_map[GURL(resource.url)] = kPrecacheTime; | 640 expected_url_table_map[GURL(resource.url)] = kPrecacheTime; |
633 } | 641 } |
634 } | 642 } |
635 EXPECT_EQ(expected_url_table_map, GetActualURLTableMap()); | 643 EXPECT_EQ(expected_url_table_map, GetActualURLTableMap()); |
636 } | 644 } |
637 | 645 |
638 } // namespace | 646 } // namespace |
639 | 647 |
640 } // namespace precache | 648 } // namespace precache |
OLD | NEW |