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

Unified Diff: components/autofill/core/browser/autofill_metrics_unittest.cc

Issue 2883563002: Refactor UKM interface for mojo-ification (Closed)
Patch Set: Fix uma_session_stats.cc Created 3 years, 7 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/autofill/core/browser/autofill_metrics_unittest.cc
diff --git a/components/autofill/core/browser/autofill_metrics_unittest.cc b/components/autofill/core/browser/autofill_metrics_unittest.cc
index b9a4e6db8b37d32e293f4c1232540ad3beee3049..20379e508849a66418195d70182212c01d786bc6 100644
--- a/components/autofill/core/browser/autofill_metrics_unittest.cc
+++ b/components/autofill/core/browser/autofill_metrics_unittest.cc
@@ -34,15 +34,13 @@
#include "components/autofill/core/browser/webdata/autofill_webdata_service.h"
#include "components/autofill/core/common/form_data.h"
#include "components/autofill/core/common/form_field_data.h"
-#include "components/metrics/proto/ukm/entry.pb.h"
#include "components/prefs/pref_service.h"
#include "components/rappor/test_rappor_service.h"
#include "components/signin/core/browser/account_tracker_service.h"
#include "components/signin/core/browser/fake_signin_manager.h"
#include "components/signin/core/browser/test_signin_client.h"
#include "components/signin/core/common/signin_pref_names.h"
-#include "components/ukm/test_ukm_service.h"
-#include "components/ukm/ukm_entry.h"
+#include "components/ukm/test_ukm_recorder.h"
#include "components/ukm/ukm_source.h"
#include "components/webdata/common/web_data_results.h"
#include "testing/gmock/include/gmock/gmock.h"
@@ -310,36 +308,22 @@ class TestAutofillManager : public AutofillManager {
DISALLOW_COPY_AND_ASSIGN(TestAutofillManager);
};
-// Finds the specified UKM metric by |name| in the specified UKM |metrics|.
-const ukm::Entry_Metric* FindMetric(
- const char* name,
- const google::protobuf::RepeatedPtrField<ukm::Entry_Metric>& metrics) {
- for (const auto& metric : metrics) {
- if (metric.metric_hash() == base::HashMetricName(name))
- return &metric;
- }
- return nullptr;
-}
-
MATCHER(CompareMetrics, "") {
- const ukm::Entry_Metric& lhs = ::testing::get<0>(arg);
+ const ukm::mojom::UkmMetric* lhs = ::testing::get<0>(arg).get();
const std::pair<const char*, int64_t>& rhs = ::testing::get<1>(arg);
- return lhs.metric_hash() == base::HashMetricName(rhs.first) &&
- lhs.value() == rhs.second;
+ return lhs->metric_hash == base::HashMetricName(rhs.first) &&
+ lhs->value == rhs.second;
}
void VerifyDeveloperEngagementUkm(
const FormData& form,
- const ukm::TestUkmService* ukm_service,
+ const ukm::TestUkmRecorder* ukm_recorder,
const std::vector<int64_t>& expected_metric_values) {
- const ukm::UkmEntry* entry = ukm_service->GetEntryForEntryName(
+ const ukm::mojom::UkmEntry* entry = ukm_recorder->GetEntryForEntryName(
internal::kUKMDeveloperEngagementEntryName);
ASSERT_NE(nullptr, entry);
- ukm::Entry entry_proto;
- entry->PopulateProto(&entry_proto);
-
const ukm::UkmSource* source =
- ukm_service->GetSourceForSourceId(entry_proto.source_id());
+ ukm_recorder->GetSourceForSourceId(entry->source_id);
ASSERT_NE(nullptr, source);
EXPECT_EQ(form.origin, source->url());
@@ -350,52 +334,49 @@ void VerifyDeveloperEngagementUkm(
const std::vector<std::pair<const char*, int64_t>> expected_metrics{
{internal::kUKMDeveloperEngagementMetricName, expected_metric_value}};
- EXPECT_THAT(entry_proto.metrics(),
+ EXPECT_THAT(entry->metrics,
UnorderedPointwise(CompareMetrics(), expected_metrics));
}
MATCHER(CompareMetricsIgnoringMillisecondsSinceFormParsed, "") {
- const ukm::Entry_Metric& lhs = ::testing::get<0>(arg);
+ const ukm::mojom::UkmMetric* lhs = ::testing::get<0>(arg).get();
const std::pair<const char*, int64_t>& rhs = ::testing::get<1>(arg);
- return lhs.metric_hash() == base::HashMetricName(rhs.first) &&
- (lhs.value() == rhs.second ||
- (lhs.value() > 0 &&
+ return lhs->metric_hash == base::HashMetricName(rhs.first) &&
+ (lhs->value == rhs.second ||
+ (lhs->value > 0 &&
rhs.first == internal::kUKMMillisecondsSinceFormParsedMetricName));
}
void VerifyFormInteractionUkm(
const FormData& form,
- const ukm::TestUkmService* ukm_service,
+ const ukm::TestUkmRecorder* ukm_recorder,
const char* event_name,
const std::vector<std::vector<std::pair<const char*, int64_t>>>&
expected_metrics) {
size_t expected_metrics_index = 0;
- for (size_t i = 0; i < ukm_service->entries_count(); ++i) {
- const ukm::UkmEntry* entry = ukm_service->GetEntry(i);
- if (entry->event_hash() != base::HashMetricName(event_name))
+ for (size_t i = 0; i < ukm_recorder->entries_count(); ++i) {
+ const ukm::mojom::UkmEntry* entry = ukm_recorder->GetEntry(i);
+ if (entry->event_hash != base::HashMetricName(event_name))
continue;
- ukm::Entry entry_proto;
- entry->PopulateProto(&entry_proto);
-
const ukm::UkmSource* source =
- ukm_service->GetSourceForSourceId(entry_proto.source_id());
+ ukm_recorder->GetSourceForSourceId(entry->source_id);
ASSERT_NE(nullptr, source);
EXPECT_EQ(form.origin, source->url());
ASSERT_LT(expected_metrics_index, expected_metrics.size());
EXPECT_THAT(
- entry_proto.metrics(),
+ entry->metrics,
UnorderedPointwise(CompareMetricsIgnoringMillisecondsSinceFormParsed(),
expected_metrics[expected_metrics_index++]));
}
}
void VerifySubmitFormUkm(const FormData& form,
- const ukm::TestUkmService* ukm_service,
+ const ukm::TestUkmRecorder* ukm_recorder,
AutofillMetrics::AutofillFormSubmittedState state) {
VerifyFormInteractionUkm(
- form, ukm_service, internal::kUKMFormSubmittedEntryName,
+ form, ukm_recorder, internal::kUKMFormSubmittedEntryName,
{{{internal::kUKMAutofillFormSubmittedStateMetricName, state},
{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}}});
}
@@ -477,7 +458,7 @@ void AutofillMetricsTest::TearDown() {
account_tracker_.reset();
signin_client_.reset();
test::ReenableSystemServices();
- autofill_client_.GetTestUkmService()->Purge();
+ autofill_client_.GetTestUkmRecorder()->Purge();
}
void AutofillMetricsTest::EnableWalletSync() {
@@ -974,7 +955,7 @@ TEST_F(AutofillMetricsTest, QualityMetrics_BasedOnAutocomplete) {
std::unique_ptr<TestFormStructure> form_structure =
base::MakeUnique<TestFormStructure>(form);
TestFormStructure* form_structure_ptr = form_structure.get();
- form_structure->DetermineHeuristicTypes(nullptr /* ukm_service */);
+ form_structure->DetermineHeuristicTypes(nullptr /* ukm_recorder */);
autofill_manager_->form_structures()->push_back(std::move(form_structure));
AutofillQueryResponseContents response;
@@ -1631,9 +1612,9 @@ TEST_F(AutofillMetricsTest, NumberOfEditedAutofilledFields) {
"Autofill.NumberOfEditedAutofilledFieldsAtSubmission", 2, 1);
// UKM must not be logged unless enabled.
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService();
- EXPECT_EQ(0U, ukm_service->sources_count());
- EXPECT_EQ(0U, ukm_service->entries_count());
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder();
+ EXPECT_EQ(0U, ukm_recorder->sources_count());
+ EXPECT_EQ(0U, ukm_recorder->entries_count());
}
// Verify that when resetting the autofill manager (such as during a
@@ -1688,7 +1669,7 @@ TEST_F(AutofillMetricsTest, NumberOfEditedAutofilledFields_NoSubmission) {
// Verify that we correctly log metrics regarding developer engagement.
TEST_F(AutofillMetricsTest, DeveloperEngagement) {
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService();
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder();
// Start with a non-fillable form.
FormData form;
@@ -1712,8 +1693,8 @@ TEST_F(AutofillMetricsTest, DeveloperEngagement) {
histogram_tester.ExpectTotalCount("Autofill.DeveloperEngagement", 0);
// UKM must not be logged unless enabled.
- EXPECT_EQ(0U, ukm_service->sources_count());
- EXPECT_EQ(0U, ukm_service->entries_count());
+ EXPECT_EQ(0U, ukm_recorder->sources_count());
+ EXPECT_EQ(0U, ukm_recorder->entries_count());
}
// Add another field to the form, so that it becomes fillable.
@@ -1730,8 +1711,8 @@ TEST_F(AutofillMetricsTest, DeveloperEngagement) {
AutofillMetrics::FILLABLE_FORM_PARSED_WITHOUT_TYPE_HINTS, 1);
// UKM must not be logged unless enabled.
- EXPECT_EQ(0U, ukm_service->sources_count());
- EXPECT_EQ(0U, ukm_service->entries_count());
+ EXPECT_EQ(0U, ukm_recorder->sources_count());
+ EXPECT_EQ(0U, ukm_recorder->entries_count());
}
// Add some fields with an author-specified field type to the form.
@@ -1759,8 +1740,8 @@ TEST_F(AutofillMetricsTest, DeveloperEngagement) {
AutofillMetrics::FILLABLE_FORM_PARSED_WITH_TYPE_HINTS, 1);
// UKM must not be logged unless enabled.
- EXPECT_EQ(0U, ukm_service->sources_count());
- EXPECT_EQ(0U, ukm_service->entries_count());
+ EXPECT_EQ(0U, ukm_recorder->sources_count());
+ EXPECT_EQ(0U, ukm_recorder->entries_count());
histogram_tester.ExpectBucketCount(
"Autofill.DeveloperEngagement",
@@ -1792,7 +1773,7 @@ TEST_F(AutofillMetricsTest, DeveloperEngagement) {
TEST_F(AutofillMetricsTest,
UkmDeveloperEngagement_LogFillableFormParsedWithoutTypeHints) {
EnableUkmLogging();
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService();
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder();
// Start with a non-fillable form.
FormData form;
@@ -1813,8 +1794,8 @@ TEST_F(AutofillMetricsTest,
autofill_manager_->OnFormsSeen(forms, TimeTicks::Now());
autofill_manager_->Reset();
- EXPECT_EQ(0U, ukm_service->sources_count());
- EXPECT_EQ(0U, ukm_service->entries_count());
+ EXPECT_EQ(0U, ukm_recorder->sources_count());
+ EXPECT_EQ(0U, ukm_recorder->entries_count());
}
// Add another field to the form, so that it becomes fillable.
@@ -1827,10 +1808,10 @@ TEST_F(AutofillMetricsTest,
autofill_manager_->OnFormsSeen(forms, TimeTicks::Now());
autofill_manager_->Reset();
- ASSERT_EQ(1U, ukm_service->entries_count());
- ASSERT_EQ(1U, ukm_service->sources_count());
+ ASSERT_EQ(1U, ukm_recorder->entries_count());
+ ASSERT_EQ(1U, ukm_recorder->sources_count());
VerifyDeveloperEngagementUkm(
- form, ukm_service,
+ form, ukm_recorder,
{AutofillMetrics::FILLABLE_FORM_PARSED_WITHOUT_TYPE_HINTS});
}
}
@@ -1840,7 +1821,7 @@ TEST_F(AutofillMetricsTest,
TEST_F(AutofillMetricsTest,
UkmDeveloperEngagement_LogFillableFormParsedWithTypeHints) {
EnableUkmLogging();
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService();
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder();
FormData form;
form.name = ASCIIToUTF16("TestForm");
@@ -1880,10 +1861,10 @@ TEST_F(AutofillMetricsTest,
autofill_manager_->OnFormsSeen(forms, TimeTicks::Now());
autofill_manager_->Reset();
- ASSERT_EQ(1U, ukm_service->entries_count());
- ASSERT_EQ(1U, ukm_service->sources_count());
+ ASSERT_EQ(1U, ukm_recorder->entries_count());
+ ASSERT_EQ(1U, ukm_recorder->sources_count());
VerifyDeveloperEngagementUkm(
- form, ukm_service,
+ form, ukm_recorder,
{AutofillMetrics::FILLABLE_FORM_PARSED_WITH_TYPE_HINTS});
}
}
@@ -1892,7 +1873,7 @@ TEST_F(AutofillMetricsTest,
// developer engagement.
TEST_F(AutofillMetricsTest, UkmDeveloperEngagement_LogUpiVpaTypeHint) {
EnableUkmLogging();
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService();
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder();
FormData form;
form.name = ASCIIToUTF16("TestForm");
@@ -1916,11 +1897,11 @@ TEST_F(AutofillMetricsTest, UkmDeveloperEngagement_LogUpiVpaTypeHint) {
autofill_manager_->OnFormsSeen(forms, TimeTicks::Now());
autofill_manager_->Reset();
- ASSERT_EQ(1U, ukm_service->entries_count());
- ASSERT_EQ(1U, ukm_service->sources_count());
- VerifyDeveloperEngagementUkm(form, ukm_service,
+ ASSERT_EQ(1U, ukm_recorder->entries_count());
+ ASSERT_EQ(1U, ukm_recorder->sources_count());
+ VerifyDeveloperEngagementUkm(form, ukm_recorder,
{AutofillMetrics::FORM_CONTAINS_UPI_VPA_HINT});
- ukm_service->Purge();
+ ukm_recorder->Purge();
}
// Add another field with an author-specified field type to the form.
@@ -1933,7 +1914,7 @@ TEST_F(AutofillMetricsTest, UkmDeveloperEngagement_LogUpiVpaTypeHint) {
autofill_manager_->Reset();
VerifyDeveloperEngagementUkm(
- form, ukm_service,
+ form, ukm_recorder,
{AutofillMetrics::FILLABLE_FORM_PARSED_WITH_TYPE_HINTS,
AutofillMetrics::FORM_CONTAINS_UPI_VPA_HINT});
}
@@ -2119,7 +2100,7 @@ TEST_F(AutofillMetricsTest, AddressSuggestionsCount) {
// Test that the credit card checkout flow user actions are correctly logged.
TEST_F(AutofillMetricsTest, CreditCardCheckoutFlowUserActions) {
EnableUkmLogging();
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService();
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder();
personal_data_->RecreateCreditCards(
true /* include_local_credit_card */,
@@ -2198,27 +2179,27 @@ TEST_F(AutofillMetricsTest, CreditCardCheckoutFlowUserActions) {
}
VerifyFormInteractionUkm(
- form, ukm_service, internal::kUKMSuggestionsShownEntryName,
+ form, ukm_recorder, internal::kUKMSuggestionsShownEntryName,
{{{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}}});
// Expect 2 |FORM_EVENT_LOCAL_SUGGESTION_FILLED| events. First, from
// call to |external_delegate_->DidAcceptSuggestion|. Second, from call to
// |autofill_manager_->FillOrPreviewForm|.
VerifyFormInteractionUkm(
- form, ukm_service, internal::kUKMSuggestionFilledEntryName,
+ form, ukm_recorder, internal::kUKMSuggestionFilledEntryName,
{{{internal::kUKMRecordTypeMetricName, CreditCard::LOCAL_CARD},
{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}},
{{internal::kUKMRecordTypeMetricName, CreditCard::LOCAL_CARD},
{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}}});
// Expect |NON_FILLABLE_FORM_OR_NEW_DATA| in |AutofillFormSubmittedState|
// because |field.value| is empty in |DeterminePossibleFieldTypesForUpload|.
- VerifySubmitFormUkm(form, ukm_service,
+ VerifySubmitFormUkm(form, ukm_recorder,
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA);
}
// Test that the profile checkout flow user actions are correctly logged.
TEST_F(AutofillMetricsTest, ProfileCheckoutFlowUserActions) {
EnableUkmLogging();
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService();
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder();
// Create a profile.
personal_data_->RecreateProfile();
@@ -2295,20 +2276,20 @@ TEST_F(AutofillMetricsTest, ProfileCheckoutFlowUserActions) {
}
VerifyFormInteractionUkm(
- form, ukm_service, internal::kUKMSuggestionsShownEntryName,
+ form, ukm_recorder, internal::kUKMSuggestionsShownEntryName,
{{{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}}});
// Expect 2 |FORM_EVENT_LOCAL_SUGGESTION_FILLED| events. First, from
// call to |external_delegate_->DidAcceptSuggestion|. Second, from call to
// |autofill_manager_->FillOrPreviewForm|.
VerifyFormInteractionUkm(
- form, ukm_service, internal::kUKMSuggestionFilledEntryName,
+ form, ukm_recorder, internal::kUKMSuggestionFilledEntryName,
{{{internal::kUKMRecordTypeMetricName, AutofillProfile::LOCAL_PROFILE},
{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}},
{{internal::kUKMRecordTypeMetricName, AutofillProfile::LOCAL_PROFILE},
{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}}});
// Expect |NON_FILLABLE_FORM_OR_NEW_DATA| in |AutofillFormSubmittedState|
// because |field.value| is empty in |DeterminePossibleFieldTypesForUpload|.
- VerifySubmitFormUkm(form, ukm_service,
+ VerifySubmitFormUkm(form, ukm_recorder,
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA);
}
@@ -2601,9 +2582,9 @@ TEST_F(AutofillMetricsTest, CreditCardShownFormEvents) {
}
// UKM must not be logged unless enabled.
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService();
- EXPECT_EQ(0U, ukm_service->sources_count());
- EXPECT_EQ(0U, ukm_service->entries_count());
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder();
+ EXPECT_EQ(0U, ukm_recorder->sources_count());
+ EXPECT_EQ(0U, ukm_recorder->entries_count());
}
// Test that we log selected form event for credit cards.
@@ -2871,7 +2852,7 @@ TEST_F(AutofillMetricsTest, CreditCardGetRealPanDuration) {
// Test that we log submitted form events for credit cards.
TEST_F(AutofillMetricsTest, CreditCardSubmittedFormEvents) {
EnableUkmLogging();
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService();
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder();
EnableWalletSync();
// Creating all kinds of cards.
@@ -2913,13 +2894,13 @@ TEST_F(AutofillMetricsTest, CreditCardSubmittedFormEvents) {
"Autofill.FormEvents.CreditCard",
AutofillMetrics::FORM_EVENT_NO_SUGGESTION_SUBMITTED_ONCE, 1);
- VerifySubmitFormUkm(form, ukm_service,
+ VerifySubmitFormUkm(form, ukm_recorder,
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA);
}
// Reset the autofill manager state and purge UKM logs.
autofill_manager_->Reset();
- ukm_service->Purge();
+ ukm_recorder->Purge();
autofill_manager_->AddSeenForm(form, field_types, field_types);
@@ -2937,15 +2918,15 @@ TEST_F(AutofillMetricsTest, CreditCardSubmittedFormEvents) {
AutofillMetrics::FORM_EVENT_SUGGESTION_SHOWN_WILL_SUBMIT_ONCE, 1);
VerifyFormInteractionUkm(
- form, ukm_service, internal::kUKMSuggestionsShownEntryName,
+ form, ukm_recorder, internal::kUKMSuggestionsShownEntryName,
{{{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}}});
- VerifySubmitFormUkm(form, ukm_service,
+ VerifySubmitFormUkm(form, ukm_recorder,
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA);
}
// Reset the autofill manager state and purge UKM logs.
autofill_manager_->Reset();
- ukm_service->Purge();
+ ukm_recorder->Purge();
autofill_manager_->AddSeenForm(form, field_types, field_types);
@@ -2966,16 +2947,16 @@ TEST_F(AutofillMetricsTest, CreditCardSubmittedFormEvents) {
AutofillMetrics::FORM_EVENT_LOCAL_SUGGESTION_SUBMITTED_ONCE, 1);
VerifyFormInteractionUkm(
- form, ukm_service, internal::kUKMSuggestionFilledEntryName,
+ form, ukm_recorder, internal::kUKMSuggestionFilledEntryName,
{{{internal::kUKMRecordTypeMetricName, CreditCard::LOCAL_CARD},
{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}}});
- VerifySubmitFormUkm(form, ukm_service,
+ VerifySubmitFormUkm(form, ukm_recorder,
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA);
}
// Reset the autofill manager state and purge UKM logs.
autofill_manager_->Reset();
- ukm_service->Purge();
+ ukm_recorder->Purge();
autofill_manager_->AddSeenForm(form, field_types, field_types);
@@ -2997,16 +2978,16 @@ TEST_F(AutofillMetricsTest, CreditCardSubmittedFormEvents) {
AutofillMetrics::FORM_EVENT_SERVER_SUGGESTION_SUBMITTED_ONCE, 1);
VerifyFormInteractionUkm(
- form, ukm_service, internal::kUKMSuggestionFilledEntryName,
+ form, ukm_recorder, internal::kUKMSuggestionFilledEntryName,
{{{internal::kUKMRecordTypeMetricName, CreditCard::FULL_SERVER_CARD},
{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}}});
- VerifySubmitFormUkm(form, ukm_service,
+ VerifySubmitFormUkm(form, ukm_recorder,
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA);
}
// Reset the autofill manager state and purge UKM logs.
autofill_manager_->Reset();
- ukm_service->Purge();
+ ukm_recorder->Purge();
autofill_manager_->AddSeenForm(form, field_types, field_types);
@@ -3030,19 +3011,19 @@ TEST_F(AutofillMetricsTest, CreditCardSubmittedFormEvents) {
1);
VerifyFormInteractionUkm(
- form, ukm_service, internal::kUKMSuggestionFilledEntryName,
+ form, ukm_recorder, internal::kUKMSuggestionFilledEntryName,
{{{internal::kUKMRecordTypeMetricName, CreditCard::MASKED_SERVER_CARD},
{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}}});
VerifyFormInteractionUkm(
- form, ukm_service, internal::kUKMSelectedMaskedServerCardEntryName,
+ form, ukm_recorder, internal::kUKMSelectedMaskedServerCardEntryName,
{{{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}}});
- VerifySubmitFormUkm(form, ukm_service,
+ VerifySubmitFormUkm(form, ukm_recorder,
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA);
}
// Reset the autofill manager state and purge UKM logs.
autofill_manager_->Reset();
- ukm_service->Purge();
+ ukm_recorder->Purge();
// Recreating cards as the previous test should have upgraded the masked
// card to a full card.
@@ -3062,7 +3043,7 @@ TEST_F(AutofillMetricsTest, CreditCardSubmittedFormEvents) {
autofill_manager_->SubmitForm(form, TimeTicks::Now());
VerifyFormInteractionUkm(
- form, ukm_service, internal::kUKMFormSubmittedEntryName,
+ form, ukm_recorder, internal::kUKMFormSubmittedEntryName,
{{{internal::kUKMAutofillFormSubmittedStateMetricName,
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA},
{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}}});
@@ -3070,7 +3051,7 @@ TEST_F(AutofillMetricsTest, CreditCardSubmittedFormEvents) {
autofill_manager_->SubmitForm(form, TimeTicks::Now());
VerifyFormInteractionUkm(
- form, ukm_service, internal::kUKMFormSubmittedEntryName,
+ form, ukm_recorder, internal::kUKMFormSubmittedEntryName,
{{{internal::kUKMAutofillFormSubmittedStateMetricName,
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA},
{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}},
@@ -3116,7 +3097,7 @@ TEST_F(AutofillMetricsTest, CreditCardSubmittedFormEvents) {
// Reset the autofill manager state and purge UKM logs.
autofill_manager_->Reset();
- ukm_service->Purge();
+ ukm_recorder->Purge();
autofill_manager_->AddSeenForm(form, field_types, field_types);
@@ -3162,9 +3143,9 @@ TEST_F(AutofillMetricsTest, CreditCardSubmittedFormEvents) {
0);
VerifyFormInteractionUkm(
- form, ukm_service, internal::kUKMSuggestionsShownEntryName,
+ form, ukm_recorder, internal::kUKMSuggestionsShownEntryName,
{{{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}}});
- VerifySubmitFormUkm(form, ukm_service,
+ VerifySubmitFormUkm(form, ukm_recorder,
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA);
}
}
@@ -3588,7 +3569,7 @@ TEST_F(AutofillMetricsTest, AddressFilledFormEvents) {
// Test that we log submitted form events for address.
TEST_F(AutofillMetricsTest, AddressSubmittedFormEvents) {
EnableUkmLogging();
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService();
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder();
EnableWalletSync();
// Create a profile.
@@ -3627,13 +3608,13 @@ TEST_F(AutofillMetricsTest, AddressSubmittedFormEvents) {
"Autofill.FormEvents.Address",
AutofillMetrics::FORM_EVENT_NO_SUGGESTION_SUBMITTED_ONCE, 1);
- VerifySubmitFormUkm(form, ukm_service,
+ VerifySubmitFormUkm(form, ukm_recorder,
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA);
}
// Reset the autofill manager state and purge UKM logs.
autofill_manager_->Reset();
- ukm_service->Purge();
+ ukm_recorder->Purge();
autofill_manager_->AddSeenForm(form, field_types, field_types);
@@ -4129,7 +4110,7 @@ TEST_F(AutofillMetricsTest, DaysSinceLastUse_Profile) {
// Verify that we correctly log the submitted form's state.
TEST_F(AutofillMetricsTest, AutofillFormSubmittedState) {
EnableUkmLogging();
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService();
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder();
// Start with a form with insufficiently many fields.
FormData form;
@@ -4174,12 +4155,12 @@ TEST_F(AutofillMetricsTest, AutofillFormSubmittedState) {
// Expect an entry for |DeveloperEngagement| and an entry for form
// interactions. Both entries are for the same URL.
- ASSERT_EQ(2U, ukm_service->entries_count());
- ASSERT_EQ(2U, ukm_service->sources_count());
+ ASSERT_EQ(2U, ukm_recorder->entries_count());
+ ASSERT_EQ(2U, ukm_recorder->sources_count());
VerifyDeveloperEngagementUkm(
- form, ukm_service,
+ form, ukm_recorder,
{AutofillMetrics::FILLABLE_FORM_PARSED_WITHOUT_TYPE_HINTS});
- VerifyFormInteractionUkm(form, ukm_service,
+ VerifyFormInteractionUkm(form, ukm_recorder,
internal::kUKMFormSubmittedEntryName,
expected_form_submission_ukm_metrics);
}
@@ -4203,7 +4184,7 @@ TEST_F(AutofillMetricsTest, AutofillFormSubmittedState) {
{{internal::kUKMAutofillFormSubmittedStateMetricName,
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA},
{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}});
- VerifyFormInteractionUkm(form, ukm_service,
+ VerifyFormInteractionUkm(form, ukm_recorder,
internal::kUKMFormSubmittedEntryName,
expected_form_submission_ukm_metrics);
}
@@ -4229,7 +4210,7 @@ TEST_F(AutofillMetricsTest, AutofillFormSubmittedState) {
AutofillMetrics::
FILLABLE_FORM_AUTOFILLED_NONE_DID_NOT_SHOW_SUGGESTIONS},
{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}});
- VerifyFormInteractionUkm(form, ukm_service,
+ VerifyFormInteractionUkm(form, ukm_recorder,
internal::kUKMFormSubmittedEntryName,
expected_form_submission_ukm_metrics);
}
@@ -4247,13 +4228,13 @@ TEST_F(AutofillMetricsTest, AutofillFormSubmittedState) {
"Autofill_FormSubmitted_FilledNone_SuggestionsShown"));
VerifyFormInteractionUkm(
- form, ukm_service, internal::kUKMSuggestionsShownEntryName,
+ form, ukm_recorder, internal::kUKMSuggestionsShownEntryName,
{{{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}}});
expected_form_submission_ukm_metrics.push_back(
{{internal::kUKMAutofillFormSubmittedStateMetricName,
AutofillMetrics::FILLABLE_FORM_AUTOFILLED_NONE_DID_SHOW_SUGGESTIONS},
{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}});
- VerifyFormInteractionUkm(form, ukm_service,
+ VerifyFormInteractionUkm(form, ukm_recorder,
internal::kUKMFormSubmittedEntryName,
expected_form_submission_ukm_metrics);
}
@@ -4277,7 +4258,7 @@ TEST_F(AutofillMetricsTest, AutofillFormSubmittedState) {
{{internal::kUKMAutofillFormSubmittedStateMetricName,
AutofillMetrics::FILLABLE_FORM_AUTOFILLED_SOME},
{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}});
- VerifyFormInteractionUkm(form, ukm_service,
+ VerifyFormInteractionUkm(form, ukm_recorder,
internal::kUKMFormSubmittedEntryName,
expected_form_submission_ukm_metrics);
}
@@ -4302,7 +4283,7 @@ TEST_F(AutofillMetricsTest, AutofillFormSubmittedState) {
{{internal::kUKMAutofillFormSubmittedStateMetricName,
AutofillMetrics::FILLABLE_FORM_AUTOFILLED_ALL},
{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}});
- VerifyFormInteractionUkm(form, ukm_service,
+ VerifyFormInteractionUkm(form, ukm_recorder,
internal::kUKMFormSubmittedEntryName,
expected_form_submission_ukm_metrics);
}
@@ -4326,7 +4307,7 @@ TEST_F(AutofillMetricsTest, AutofillFormSubmittedState) {
{{internal::kUKMAutofillFormSubmittedStateMetricName,
AutofillMetrics::NON_FILLABLE_FORM_OR_NEW_DATA},
{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}});
- VerifyFormInteractionUkm(form, ukm_service,
+ VerifyFormInteractionUkm(form, ukm_recorder,
internal::kUKMFormSubmittedEntryName,
expected_form_submission_ukm_metrics);
}
@@ -4336,7 +4317,7 @@ TEST_F(AutofillMetricsTest, AutofillFormSubmittedState) {
// interaction.
TEST_F(AutofillMetricsTest, UserHappinessFormInteraction) {
EnableUkmLogging();
- ukm::TestUkmService* ukm_service = autofill_client_.GetTestUkmService();
+ ukm::TestUkmRecorder* ukm_recorder = autofill_client_.GetTestUkmRecorder();
// Load a fillable form.
FormData form;
@@ -4441,22 +4422,22 @@ TEST_F(AutofillMetricsTest, UserHappinessFormInteraction) {
autofill_manager_->Reset();
VerifyFormInteractionUkm(
- form, ukm_service, internal::kUKMInteractedWithFormEntryName,
+ form, ukm_recorder, internal::kUKMInteractedWithFormEntryName,
{{{internal::kUKMIsForCreditCardMetricName, false},
{internal::kUKMLocalRecordTypeCountMetricName, 0},
{internal::kUKMServerRecordTypeCountMetricName, 0}}});
VerifyFormInteractionUkm(
- form, ukm_service, internal::kUKMSuggestionsShownEntryName,
+ form, ukm_recorder, internal::kUKMSuggestionsShownEntryName,
{{{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}},
{{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}}});
VerifyFormInteractionUkm(
- form, ukm_service, internal::kUKMSuggestionFilledEntryName,
+ form, ukm_recorder, internal::kUKMSuggestionFilledEntryName,
{{{internal::kUKMRecordTypeMetricName, AutofillProfile::LOCAL_PROFILE},
{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}},
{{internal::kUKMRecordTypeMetricName, AutofillProfile::LOCAL_PROFILE},
{internal::kUKMMillisecondsSinceFormParsedMetricName, 0}}});
VerifyFormInteractionUkm(
- form, ukm_service, internal::kUKMTextFieldDidChangeEntryName,
+ form, ukm_recorder, internal::kUKMTextFieldDidChangeEntryName,
{{{internal::kUKMFieldTypeGroupMetricName, NAME},
{internal::kUKMHeuristicTypeMetricName, NAME_FULL},
{internal::kUKMServerTypeMetricName, NO_SERVER_DATA},
@@ -5055,129 +5036,121 @@ TEST_F(AutofillMetricsTest,
// Tests that logging CardUploadDecision UKM works as expected.
TEST_F(AutofillMetricsTest, RecordCardUploadDecisionMetric) {
EnableUkmLogging();
- ukm::UkmServiceTestingHarness ukm_service_test_harness;
+ ukm::TestUkmRecorder test_ukm_recorder;
GURL url("https://www.google.com");
int upload_decision = 1;
std::vector<std::pair<const char*, int>> metrics = {
{internal::kUKMCardUploadDecisionMetricName, upload_decision}};
- EXPECT_TRUE(AutofillMetrics::LogUkm(
- ukm_service_test_harness.test_ukm_service(), url,
- internal::kUKMCardUploadDecisionEntryName, metrics));
+ EXPECT_TRUE(AutofillMetrics::LogUkm(&test_ukm_recorder, url,
+ internal::kUKMCardUploadDecisionEntryName,
+ metrics));
// Make sure that the UKM was logged correctly.
- ukm::TestUkmService* ukm_service =
- ukm_service_test_harness.test_ukm_service();
+ ukm::TestUkmRecorder* ukm_recorder = &test_ukm_recorder;
- ASSERT_EQ(1U, ukm_service->sources_count());
+ ASSERT_EQ(1U, ukm_recorder->sources_count());
const ukm::UkmSource* source =
- ukm_service->GetSourceForUrl(url.spec().c_str());
+ ukm_recorder->GetSourceForUrl(url.spec().c_str());
EXPECT_EQ(url.spec(), source->url().spec());
- ASSERT_EQ(1U, ukm_service->entries_count());
- const ukm::UkmEntry* entry = ukm_service->GetEntry(0);
- EXPECT_EQ(source->id(), entry->source_id());
+ ASSERT_EQ(1U, ukm_recorder->entries_count());
+ const ukm::mojom::UkmEntry* entry = ukm_recorder->GetEntry(0);
// Make sure that a card upload decision entry was logged.
- ukm::Entry entry_proto;
- entry->PopulateProto(&entry_proto);
- EXPECT_EQ(source->id(), entry_proto.source_id());
+ EXPECT_EQ(source->id(), entry->source_id);
EXPECT_EQ(base::HashMetricName(internal::kUKMCardUploadDecisionEntryName),
- entry_proto.event_hash());
- EXPECT_EQ(1, entry_proto.metrics_size());
+ entry->event_hash);
+ EXPECT_EQ(1U, entry->metrics.size());
// Make sure that the correct upload decision was logged.
- const ukm::Entry_Metric* metric = FindMetric(
- internal::kUKMCardUploadDecisionMetricName, entry_proto.metrics());
+ const ukm::mojom::UkmMetric* metric = ukm::TestUkmRecorder::FindMetric(
+ entry, internal::kUKMCardUploadDecisionMetricName);
ASSERT_NE(nullptr, metric);
- EXPECT_EQ(upload_decision, metric->value());
+ EXPECT_EQ(upload_decision, metric->value);
}
// Tests that logging DeveloperEngagement UKM works as expected.
TEST_F(AutofillMetricsTest, RecordDeveloperEngagementMetric) {
EnableUkmLogging();
- ukm::UkmServiceTestingHarness ukm_service_test_harness;
+ ukm::TestUkmRecorder test_ukm_recorder;
GURL url("https://www.google.com");
int form_structure_metric = 1;
std::vector<std::pair<const char*, int>> metrics = {
{internal::kUKMDeveloperEngagementMetricName, form_structure_metric}};
EXPECT_TRUE(AutofillMetrics::LogUkm(
- ukm_service_test_harness.test_ukm_service(), url,
- internal::kUKMDeveloperEngagementEntryName, metrics));
+ &test_ukm_recorder, url, internal::kUKMDeveloperEngagementEntryName,
+ metrics));
// Make sure that the UKM was logged correctly.
- ukm::TestUkmService* ukm_service =
- ukm_service_test_harness.test_ukm_service();
+ ukm::TestUkmRecorder* ukm_recorder = &test_ukm_recorder;
- ASSERT_EQ(1U, ukm_service->sources_count());
+ ASSERT_EQ(1U, ukm_recorder->sources_count());
const ukm::UkmSource* source =
- ukm_service->GetSourceForUrl(url.spec().c_str());
+ ukm_recorder->GetSourceForUrl(url.spec().c_str());
EXPECT_EQ(url.spec(), source->url().spec());
- ASSERT_EQ(1U, ukm_service->entries_count());
- const ukm::UkmEntry* entry = ukm_service->GetEntry(0);
- EXPECT_EQ(source->id(), entry->source_id());
+ ASSERT_EQ(1U, ukm_recorder->entries_count());
+ const ukm::mojom::UkmEntry* entry = ukm_recorder->GetEntry(0);
// Make sure that a developer engagement entry was logged.
- ukm::Entry entry_proto;
- entry->PopulateProto(&entry_proto);
- EXPECT_EQ(source->id(), entry_proto.source_id());
+ EXPECT_EQ(source->id(), entry->source_id);
EXPECT_EQ(base::HashMetricName(internal::kUKMDeveloperEngagementEntryName),
- entry_proto.event_hash());
- EXPECT_EQ(1, entry_proto.metrics_size());
+ entry->event_hash);
+ EXPECT_EQ(1U, entry->metrics.size());
// Make sure that the correct developer engagement metric was logged.
- const ukm::Entry_Metric* metric = FindMetric(
- internal::kUKMDeveloperEngagementMetricName, entry_proto.metrics());
+ const ukm::mojom::UkmMetric* metric = ukm::TestUkmRecorder::FindMetric(
+ entry, internal::kUKMDeveloperEngagementMetricName);
ASSERT_NE(nullptr, metric);
- EXPECT_EQ(form_structure_metric, metric->value());
+ EXPECT_EQ(form_structure_metric, metric->value);
}
// Tests that no UKM is logged when the URL is not valid.
TEST_F(AutofillMetricsTest, RecordCardUploadDecisionMetric_InvalidUrl) {
EnableUkmLogging();
- ukm::UkmServiceTestingHarness ukm_service_test_harness;
+ ukm::TestUkmRecorder test_ukm_recorder;
GURL url("");
std::vector<std::pair<const char*, int>> metrics = {{"metric", 1}};
- EXPECT_FALSE(AutofillMetrics::LogUkm(
- ukm_service_test_harness.test_ukm_service(), url, "test_ukm", metrics));
- EXPECT_EQ(0U, ukm_service_test_harness.test_ukm_service()->sources_count());
+ EXPECT_FALSE(
+ AutofillMetrics::LogUkm(&test_ukm_recorder, url, "test_ukm", metrics));
+ EXPECT_EQ(0U, test_ukm_recorder.sources_count());
}
// Tests that no UKM is logged when the metrics map is empty.
TEST_F(AutofillMetricsTest, RecordCardUploadDecisionMetric_NoMetrics) {
EnableUkmLogging();
- ukm::UkmServiceTestingHarness ukm_service_test_harness;
+ ukm::TestUkmRecorder test_ukm_recorder;
GURL url("https://www.google.com");
std::vector<std::pair<const char*, int>> metrics;
- EXPECT_FALSE(AutofillMetrics::LogUkm(
- ukm_service_test_harness.test_ukm_service(), url, "test_ukm", metrics));
- EXPECT_EQ(0U, ukm_service_test_harness.test_ukm_service()->sources_count());
+ EXPECT_FALSE(
+ AutofillMetrics::LogUkm(&test_ukm_recorder, url, "test_ukm", metrics));
+ EXPECT_EQ(0U, test_ukm_recorder.sources_count());
}
// Tests that no UKM is logged when the ukm service is null.
-TEST_F(AutofillMetricsTest, RecordCardUploadDecisionMetric_NoUkmService) {
+TEST_F(AutofillMetricsTest, RecordCardUploadDecisionMetric_NoUkmRecorder) {
EnableUkmLogging();
- ukm::UkmServiceTestingHarness ukm_service_test_harness;
+ ukm::TestUkmRecorder test_ukm_recorder;
GURL url("https://www.google.com");
std::vector<std::pair<const char*, int>> metrics = {{"metric", 1}};
EXPECT_FALSE(AutofillMetrics::LogUkm(nullptr, url, "test_ukm", metrics));
- ASSERT_EQ(0U, ukm_service_test_harness.test_ukm_service()->sources_count());
+ ASSERT_EQ(0U, test_ukm_recorder.sources_count());
}
// Tests that no UKM is logged when the ukm logging feature is disabled.
TEST_F(AutofillMetricsTest, RecordCardUploadDecisionMetric_FeatureDisabled) {
- ukm::UkmServiceTestingHarness ukm_service_test_harness;
+ ukm::TestUkmRecorder test_ukm_recorder;
GURL url("https://www.google.com");
std::vector<std::pair<const char*, int>> metrics = {{"metric", 1}};
- EXPECT_FALSE(AutofillMetrics::LogUkm(
- ukm_service_test_harness.test_ukm_service(), url, "test_ukm", metrics));
- EXPECT_EQ(0U, ukm_service_test_harness.test_ukm_service()->sources_count());
+ EXPECT_FALSE(
+ AutofillMetrics::LogUkm(&test_ukm_recorder, url, "test_ukm", metrics));
+ EXPECT_EQ(0U, test_ukm_recorder.sources_count());
}
} // namespace autofill

Powered by Google App Engine
This is Rietveld 408576698