Commit ae8b2190 authored by Caitlin Fischer's avatar Caitlin Fischer Committed by Commit Bot

Enable some UKM C++ browser tests on Android.

Also, remove the corresponding Java tests.

Bug: 1049736
Change-Id: I397d2ba2e78048d37d0ca3625eab69f05160f2b2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2247706Reviewed-by: default avatarBrian White <bcwhite@chromium.org>
Reviewed-by: default avatarMarc Treib <treib@chromium.org>
Auto-Submit: Caitlin Fischer <caitlinfischer@google.com>
Commit-Queue: Marc Treib <treib@chromium.org>
Cr-Commit-Position: refs/heads/master@{#779208}
parent c579e9ed
...@@ -71,95 +71,6 @@ public class UkmTest { ...@@ -71,95 +71,6 @@ public class UkmTest {
return getElementContent(normalTab, "clientid"); return getElementContent(normalTab, "clientid");
} }
@Test
@SmallTest
// TODO(crbug/1049736): Enable the corrersponding C++ test and delete this
// test.
public void testMetricsConsent() throws Exception {
// Keep in sync with UkmBrowserTest.MetricsConsentCheck in
// chrome/browser/metrics/ukm_browsertest.cc.
// Make sure that UKM is disabled when metrics consent is revoked.
TestThreadUtils.runOnUiThreadBlocking(
() -> UmaSessionStats.updateMetricsAndCrashReportingForTesting(true));
// Enable a Syncing account.
Account account = mSyncTestRule.setUpAccountAndSignInForTesting();
Tab normalTab = mSyncTestRule.getActivity().getActivityTab();
Assert.assertTrue("UKM Enabled:", isUkmEnabled(normalTab));
String clientId = getUkmClientId(normalTab);
// Ideally we should verify that unsent logs are cleared, which we do via HasUnsentUkmLogs()
// in the ukm_browsertest.cc version.
// Verify that after revoking consent, UKM is disabled.
TestThreadUtils.runOnUiThreadBlocking(
() -> UmaSessionStats.updateMetricsAndCrashReportingForTesting(false));
Assert.assertFalse("UKM Enabled:", isUkmEnabled(normalTab));
// Re-enable consent, UKM is re-enabled.
TestThreadUtils.runOnUiThreadBlocking(
() -> UmaSessionStats.updateMetricsAndCrashReportingForTesting(true));
Assert.assertTrue("UKM Enabled:", isUkmEnabled(normalTab));
// Client ID should have been reset.
Assert.assertNotEquals("Client id:", clientId, getUkmClientId(normalTab));
}
@Test
@SmallTest
// TODO(crbug/1049736): Enable the corrersponding C++ test and delete this
// test.
public void consentAddedButNoSyncCheck() throws Exception {
// Keep in sync with UkmBrowserTest.ConsentAddedButNoSyncCheck in
// chrome/browser/metrics/ukm_browsertest.cc.
// Make sure that providing consent doesn't enable UKM when sync is disabled.
TestThreadUtils.runOnUiThreadBlocking(
() -> UmaSessionStats.updateMetricsAndCrashReportingForTesting(false));
Tab normalTab = mSyncTestRule.getActivity().getActivityTab();
Assert.assertFalse("UKM Enabled:", isUkmEnabled(normalTab));
// Enable consent, Sync still not enabled so UKM should be disabled.
TestThreadUtils.runOnUiThreadBlocking(
() -> UmaSessionStats.updateMetricsAndCrashReportingForTesting(true));
Assert.assertFalse("UKM Enabled:", isUkmEnabled(normalTab));
// Finally, sign in and UKM is enabled.
Account account = mSyncTestRule.setUpAccountAndSignInForTesting();
Assert.assertTrue("UKM Enabled:", isUkmEnabled(normalTab));
}
@Test
@SmallTest
// TODO(crbug/1049736): Enable the corrersponding C++ test and delete this
// test.
public void singleSyncSignoutCheck() throws Exception {
// Keep in sync with UkmBrowserTest.SingleSyncSignoutCheck in
// chrome/browser/metrics/ukm_browsertest.cc.
// Make sure that UKM is disabled when an secondary passphrase is set.
TestThreadUtils.runOnUiThreadBlocking(
() -> UmaSessionStats.updateMetricsAndCrashReportingForTesting(true));
// Enable a Syncing account.
Account account = mSyncTestRule.setUpAccountAndSignInForTesting();
Tab normalTab = mSyncTestRule.getActivity().getActivityTab();
Assert.assertTrue("UKM Enabled:", isUkmEnabled(normalTab));
String clientId = getUkmClientId(normalTab);
// Signing out should disable UKM.
mSyncTestRule.signOut();
Assert.assertFalse("UKM Enabled:", isUkmEnabled(normalTab));
// Client ID should have been reset.
Assert.assertNotEquals("Client id:", clientId, getUkmClientId(normalTab));
}
@Test @Test
@SmallTest @SmallTest
// TODO(crbug/1049736): Enable the corrersponding C++ test and delete this // TODO(crbug/1049736): Enable the corrersponding C++ test and delete this
......
...@@ -584,10 +584,8 @@ IN_PROC_BROWSER_TEST_F(UkmBrowserTest, OpenNonSyncCheck) { ...@@ -584,10 +584,8 @@ IN_PROC_BROWSER_TEST_F(UkmBrowserTest, OpenNonSyncCheck) {
#endif // !defined(OS_ANDROID) #endif // !defined(OS_ANDROID)
// Make sure that UKM is disabled when metrics consent is revoked. // Make sure that UKM is disabled when metrics consent is revoked.
// Keep in sync with testMetricConsent in chrome/android/javatests/src/org/ // Keep in sync with testMetricsConsent in ios/chrome/browser/metrics/
// chromium/chrome/browser/sync/UkmTest.java and with testMetricsConsent in // ukm_egtest.mm.
// ios/chrome/browser/metrics/ukm_egtest.mm.
#if !defined(OS_ANDROID)
IN_PROC_BROWSER_TEST_F(UkmBrowserTest, MetricsConsentCheck) { IN_PROC_BROWSER_TEST_F(UkmBrowserTest, MetricsConsentCheck) {
ukm::UkmTestHelper ukm_test_helper(GetUkmService()); ukm::UkmTestHelper ukm_test_helper(GetUkmService());
MetricsConsentOverride metrics_consent(true); MetricsConsentOverride metrics_consent(true);
...@@ -596,7 +594,7 @@ IN_PROC_BROWSER_TEST_F(UkmBrowserTest, MetricsConsentCheck) { ...@@ -596,7 +594,7 @@ IN_PROC_BROWSER_TEST_F(UkmBrowserTest, MetricsConsentCheck) {
std::unique_ptr<ProfileSyncServiceHarness> harness = std::unique_ptr<ProfileSyncServiceHarness> harness =
EnableSyncForProfile(profile); EnableSyncForProfile(profile);
Browser* sync_browser = CreateBrowser(profile); PlatformBrowser browser = CreatePlatformBrowser(profile);
EXPECT_TRUE(ukm_test_helper.IsRecordingEnabled()); EXPECT_TRUE(ukm_test_helper.IsRecordingEnabled());
uint64_t original_client_id = ukm_test_helper.GetClientId(); uint64_t original_client_id = ukm_test_helper.GetClientId();
EXPECT_NE(0U, original_client_id); EXPECT_NE(0U, original_client_id);
...@@ -616,9 +614,8 @@ IN_PROC_BROWSER_TEST_F(UkmBrowserTest, MetricsConsentCheck) { ...@@ -616,9 +614,8 @@ IN_PROC_BROWSER_TEST_F(UkmBrowserTest, MetricsConsentCheck) {
EXPECT_NE(original_client_id, ukm_test_helper.GetClientId()); EXPECT_NE(original_client_id, ukm_test_helper.GetClientId());
harness->service()->GetUserSettings()->SetSyncRequested(false); harness->service()->GetUserSettings()->SetSyncRequested(false);
CloseBrowserSynchronously(sync_browser); ClosePlatformBrowser(browser);
} }
#endif // !defined(OS_ANDROID)
#if !defined(OS_ANDROID) #if !defined(OS_ANDROID)
IN_PROC_BROWSER_TEST_F(UkmBrowserTest, LogProtoData) { IN_PROC_BROWSER_TEST_F(UkmBrowserTest, LogProtoData) {
...@@ -783,16 +780,14 @@ IN_PROC_BROWSER_TEST_F(UkmBrowserTest, NetworkProviderPopulatesSystemProfile) { ...@@ -783,16 +780,14 @@ IN_PROC_BROWSER_TEST_F(UkmBrowserTest, NetworkProviderPopulatesSystemProfile) {
#endif // !defined(OS_ANDROID) #endif // !defined(OS_ANDROID)
// Make sure that providing consent doesn't enable UKM when sync is disabled. // Make sure that providing consent doesn't enable UKM when sync is disabled.
// Keep in sync with consentAddedButNoSyncCheck in chrome/android/javatests/src/ // Keep in sync with testConsentAddedButNoSync in ios/chrome/browser/metrics/
// org/chromium/chrome/browser/sync/UkmTest.java and with // ukm_egtest.mm.
// testConsentAddedButNoSync in ios/chrome/browser/metrics/ukm_egtest.mm.
#if !defined(OS_ANDROID)
IN_PROC_BROWSER_TEST_F(UkmBrowserTest, ConsentAddedButNoSyncCheck) { IN_PROC_BROWSER_TEST_F(UkmBrowserTest, ConsentAddedButNoSyncCheck) {
ukm::UkmTestHelper ukm_test_helper(GetUkmService()); ukm::UkmTestHelper ukm_test_helper(GetUkmService());
MetricsConsentOverride metrics_consent(false); MetricsConsentOverride metrics_consent(false);
Profile* profile = ProfileManager::GetActiveUserProfile(); Profile* profile = ProfileManager::GetActiveUserProfile();
Browser* browser = CreateBrowser(profile); PlatformBrowser browser = CreatePlatformBrowser(profile);
EXPECT_FALSE(ukm_test_helper.IsRecordingEnabled()); EXPECT_FALSE(ukm_test_helper.IsRecordingEnabled());
metrics_consent.Update(true); metrics_consent.Update(true);
...@@ -804,9 +799,8 @@ IN_PROC_BROWSER_TEST_F(UkmBrowserTest, ConsentAddedButNoSyncCheck) { ...@@ -804,9 +799,8 @@ IN_PROC_BROWSER_TEST_F(UkmBrowserTest, ConsentAddedButNoSyncCheck) {
EXPECT_TRUE(ukm_test_helper.IsRecordingEnabled()); EXPECT_TRUE(ukm_test_helper.IsRecordingEnabled());
harness->service()->GetUserSettings()->SetSyncRequested(false); harness->service()->GetUserSettings()->SetSyncRequested(false);
CloseBrowserSynchronously(browser); ClosePlatformBrowser(browser);
} }
#endif // !defined(OS_ANDROID)
// Make sure that extension URLs are disabled when an open sync window // Make sure that extension URLs are disabled when an open sync window
// disables it. // disables it.
...@@ -1008,12 +1002,11 @@ IN_PROC_BROWSER_TEST_F(UkmBrowserTest, LogsOpenerSource) { ...@@ -1008,12 +1002,11 @@ IN_PROC_BROWSER_TEST_F(UkmBrowserTest, LogsOpenerSource) {
#endif // !defined(OS_ANDROID) #endif // !defined(OS_ANDROID)
// ChromeOS doesn't have the concept of sign-out so this test doesn't make sense // ChromeOS doesn't have the concept of sign-out so this test doesn't make sense
// there. Android has the concept of sign-out and is covered by a Java test. // there.
#if !defined(OS_CHROMEOS) && !defined(OS_ANDROID) #if !defined(OS_CHROMEOS)
// Make sure that UKM is disabled when the profile signs out of Sync. // Make sure that UKM is disabled when the profile signs out of Sync.
// Keep in sync with singleSyncSignoutCheck in hrome/android/javatests/src/org/ // Keep in sync with testSingleSyncSignout in ios/chrome/browser/metrics/
// chromium/chrome/browser/sync/UkmTest.java and with testSingleSyncSignout in // ukm_egtest.mm.
// ios/chrome/browser/metrics/ukm_egtest.mm.
IN_PROC_BROWSER_TEST_F(UkmBrowserTest, SingleSyncSignoutCheck) { IN_PROC_BROWSER_TEST_F(UkmBrowserTest, SingleSyncSignoutCheck) {
ukm::UkmTestHelper ukm_test_helper(GetUkmService()); ukm::UkmTestHelper ukm_test_helper(GetUkmService());
MetricsConsentOverride metrics_consent(true); MetricsConsentOverride metrics_consent(true);
...@@ -1022,7 +1015,7 @@ IN_PROC_BROWSER_TEST_F(UkmBrowserTest, SingleSyncSignoutCheck) { ...@@ -1022,7 +1015,7 @@ IN_PROC_BROWSER_TEST_F(UkmBrowserTest, SingleSyncSignoutCheck) {
std::unique_ptr<ProfileSyncServiceHarness> harness = std::unique_ptr<ProfileSyncServiceHarness> harness =
EnableSyncForProfile(profile); EnableSyncForProfile(profile);
Browser* sync_browser = CreateBrowser(profile); PlatformBrowser browser = CreatePlatformBrowser(profile);
EXPECT_TRUE(ukm_test_helper.IsRecordingEnabled()); EXPECT_TRUE(ukm_test_helper.IsRecordingEnabled());
uint64_t original_client_id = ukm_test_helper.GetClientId(); uint64_t original_client_id = ukm_test_helper.GetClientId();
EXPECT_NE(0U, original_client_id); EXPECT_NE(0U, original_client_id);
...@@ -1032,12 +1025,12 @@ IN_PROC_BROWSER_TEST_F(UkmBrowserTest, SingleSyncSignoutCheck) { ...@@ -1032,12 +1025,12 @@ IN_PROC_BROWSER_TEST_F(UkmBrowserTest, SingleSyncSignoutCheck) {
EXPECT_NE(original_client_id, ukm_test_helper.GetClientId()); EXPECT_NE(original_client_id, ukm_test_helper.GetClientId());
harness->service()->GetUserSettings()->SetSyncRequested(false); harness->service()->GetUserSettings()->SetSyncRequested(false);
CloseBrowserSynchronously(sync_browser); ClosePlatformBrowser(browser);
} }
#endif // !defined(OS_CHROMEOS) && !defined(OS_ANDROID) #endif // !defined(OS_CHROMEOS)
// ChromeOS doesn't have the concept of sign-out so this test doesn't make sense // ChromeOS doesn't have the concept of sign-out so this test doesn't make sense
// there. Android has the concept of sign-out and is covered by a Java test. // there. Android doesn't have multiple profiles.
#if !defined(OS_CHROMEOS) && !defined(OS_ANDROID) #if !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
// Make sure that UKM is disabled when any profile signs out of Sync. // Make sure that UKM is disabled when any profile signs out of Sync.
IN_PROC_BROWSER_TEST_F(UkmBrowserTest, MultiSyncSignoutCheck) { IN_PROC_BROWSER_TEST_F(UkmBrowserTest, MultiSyncSignoutCheck) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment