Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(375)

Unified Diff: components/offline_pages/offline_page_model_impl_unittest.cc

Issue 2314273003: [Offline Pages] Adds duplicate detection metrics. (Closed)
Patch Set: Fix nits and comments. Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/offline_pages/offline_page_model_impl_unittest.cc
diff --git a/components/offline_pages/offline_page_model_impl_unittest.cc b/components/offline_pages/offline_page_model_impl_unittest.cc
index 722e7743eebe05925f06052134bd888c459f560b..25e64335c0e96a6b70ce2c860f6b9895653ee26e 100644
--- a/components/offline_pages/offline_page_model_impl_unittest.cc
+++ b/components/offline_pages/offline_page_model_impl_unittest.cc
@@ -13,6 +13,7 @@
#include "base/feature_list.h"
#include "base/files/file_util.h"
#include "base/files/scoped_temp_dir.h"
+#include "base/metrics/statistics_recorder.h"
#include "base/run_loop.h"
#include "base/single_thread_task_runner.h"
#include "base/strings/string_number_conversions.h"
@@ -1040,6 +1041,48 @@ TEST_F(OfflinePageModelImplTest, SaveMultiplePagesWithSameURLBySameClientId) {
EXPECT_TRUE(id_set.find(offline2) != id_set.end());
}
+TEST_F(OfflinePageModelImplTest, DownloadMetrics) {
+ EXPECT_FALSE(HasPages(kUserRequestedNamespace));
+ SavePage(kTestUrl, kTestUserRequestedClientId);
+ histograms().ExpectUniqueSample(
+ "OfflinePages.DownloadSavedPageDuplicateCount", 1, 1);
+ FastForwardBy(base::TimeDelta::FromMinutes(1));
+ histograms().ExpectTotalCount(
+ "OfflinePages.DownloadSavedPageTimeSinceDuplicateSaved", 0);
+ SavePage(kTestUrl, kTestUserRequestedClientId);
+ histograms().ExpectTotalCount("OfflinePages.DownloadSavedPageDuplicateCount",
+ 2);
+ histograms().ExpectBucketCount("OfflinePages.DownloadSavedPageDuplicateCount",
+ 2, 1);
+ histograms().ExpectBucketCount("OfflinePages.DownloadSavedPageDuplicateCount",
+ 1, 1);
+ histograms().ExpectTotalCount(
+ "OfflinePages.DownloadSavedPageTimeSinceDuplicateSaved", 1);
+ histograms().ExpectTotalCount(
+ "OfflinePages.DownloadDeletedPageDuplicateCount", 0);
+
+ // void DeletePage(int64_t offline_id, const DeletePageCallback& callback) {
+ const std::vector<int64_t> ids =
+ GetOfflineIdsForClientId(kTestUserRequestedClientId);
+ ASSERT_EQ(2U, ids.size());
+
+ DeletePage(ids[0], base::Bind(&OfflinePageModelImplTest::OnDeletePageDone,
+ AsWeakPtr()));
+ PumpLoop();
+ histograms().ExpectUniqueSample(
+ "OfflinePages.DownloadDeletedPageDuplicateCount", 2, 1);
+ DeletePage(ids[1], base::Bind(&OfflinePageModelImplTest::OnDeletePageDone,
+ AsWeakPtr()));
+ PumpLoop();
+ // No change when we delete the last page.
+ histograms().ExpectTotalCount(
+ "OfflinePages.DownloadDeletedPageDuplicateCount", 2);
+ histograms().ExpectBucketCount(
+ "OfflinePages.DownloadDeletedPageDuplicateCount", 1, 1);
+ histograms().ExpectBucketCount(
+ "OfflinePages.DownloadDeletedPageDuplicateCount", 2, 1);
+}
+
TEST_F(OfflinePageModelImplTest, GetBestPage) {
// We will save 3 pages - two for the same URL, and one for a different URL.
// Correct behavior will pick the most recently saved page for the correct

Powered by Google App Engine
This is Rietveld 408576698