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

Unified Diff: chrome/browser/autofill/autofill_download_unittest.cc

Issue 5703002: Add some basic success/failure UMA logging for autofill. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Single AutoFillMetrics class, more mocks Created 10 years 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: chrome/browser/autofill/autofill_download_unittest.cc
diff --git a/chrome/browser/autofill/autofill_download_unittest.cc b/chrome/browser/autofill/autofill_download_unittest.cc
index 68173c6c05393106ad388467fefaa0e5b83ecc11..279d0709425bf6ee1c378a4159f1b898413ee6d8 100644
--- a/chrome/browser/autofill/autofill_download_unittest.cc
+++ b/chrome/browser/autofill/autofill_download_unittest.cc
@@ -8,9 +8,11 @@
#include "base/test/test_timeouts.h"
#include "base/utf_string_conversions.h"
#include "chrome/browser/autofill/autofill_download.h"
+#include "chrome/browser/autofill/autofill_metrics.h"
#include "chrome/common/net/test_url_fetcher_factory.h"
#include "chrome/test/testing_profile.h"
#include "net/url_request/url_request_status.h"
+#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/WebKit/WebKit/chromium/public/WebInputElement.h"
#include "webkit/glue/form_data.h"
@@ -18,6 +20,15 @@
using webkit_glue::FormData;
using WebKit::WebInputElement;
+namespace {
+
+class MockAutoFillMetrics : public AutoFillMetrics {
+ public:
+ MOCK_CONST_METHOD1(Log, void(ServerQueryMetric metric));
+};
+
+} // namespace
+
// This tests AutoFillDownloadManager. AutoFillDownloadTestHelper implements
// AutoFillDownloadManager::Observer and creates an instance of
// AutoFillDownloadManager. Then it records responses to different initiated
@@ -86,8 +97,6 @@ class AutoFillDownloadTestHelper : public AutoFillDownloadManager::Observer {
AutoFillDownloadManager download_manager;
};
-namespace {
-
TEST(AutoFillDownloadTest, QueryAndUploadTest) {
MessageLoopForUI message_loop;
// Create and register factory.
@@ -173,7 +182,10 @@ TEST(AutoFillDownloadTest, QueryAndUploadTest) {
form_structures.push_back(form_structure);
// Request with id 0.
- EXPECT_TRUE(helper.download_manager.StartQueryRequest(form_structures));
+ MockAutoFillMetrics mock_metric_logger;
+ EXPECT_CALL(mock_metric_logger, Log(AutoFillMetrics::QUERY_SENT)).Times(1);
+ EXPECT_TRUE(helper.download_manager.StartQueryRequest(form_structures,
+ mock_metric_logger));
// Set upload to 100% so requests happen.
helper.download_manager.SetPositiveUploadRate(1.0);
helper.download_manager.SetNegativeUploadRate(1.0);
@@ -258,7 +270,9 @@ TEST(AutoFillDownloadTest, QueryAndUploadTest) {
EXPECT_EQ(NULL, fetcher);
// Request with id 3.
- EXPECT_TRUE(helper.download_manager.StartQueryRequest(form_structures));
+ EXPECT_CALL(mock_metric_logger, Log(AutoFillMetrics::QUERY_SENT)).Times(1);
+ EXPECT_TRUE(helper.download_manager.StartQueryRequest(form_structures,
+ mock_metric_logger));
fetcher = factory.GetFetcherByID(3);
ASSERT_TRUE(fetcher);
fetcher->set_backoff_delay(
@@ -274,7 +288,9 @@ TEST(AutoFillDownloadTest, QueryAndUploadTest) {
helper.responses_.pop_front();
// Query requests should be ignored for the next 10 seconds.
- EXPECT_FALSE(helper.download_manager.StartQueryRequest(form_structures));
+ EXPECT_CALL(mock_metric_logger, Log(AutoFillMetrics::QUERY_SENT)).Times(0);
+ EXPECT_FALSE(helper.download_manager.StartQueryRequest(form_structures,
+ mock_metric_logger));
fetcher = factory.GetFetcherByID(4);
EXPECT_EQ(NULL, fetcher);
@@ -304,5 +320,3 @@ TEST(AutoFillDownloadTest, QueryAndUploadTest) {
// Make sure consumer of URLFetcher does the right thing.
URLFetcher::set_factory(NULL);
}
-
-} // namespace

Powered by Google App Engine
This is Rietveld 408576698