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

Side by Side Diff: chrome/installer/util/google_update_settings_unittest.cc

Issue 2222903004: Clear client id prefs when opting out of UMA. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/installer/util/google_update_settings.h" 5 #include "chrome/installer/util/google_update_settings.h"
6 6
7 #include <windows.h> 7 #include <windows.h>
8 #include <shlwapi.h> // For SHDeleteKey. 8 #include <shlwapi.h> // For SHDeleteKey.
9 #include <stddef.h> 9 #include <stddef.h>
10 10
(...skipping 1253 matching lines...) Expand 10 before | Expand all | Expand 10 after
1264 void CollectStatsConsent::TearDownTestCase() { 1264 void CollectStatsConsent::TearDownTestCase() {
1265 delete chrome_version_key_; 1265 delete chrome_version_key_;
1266 delete chrome_state_key_; 1266 delete chrome_state_key_;
1267 delete chrome_state_medium_key_; 1267 delete chrome_state_medium_key_;
1268 delete binaries_state_key_; 1268 delete binaries_state_key_;
1269 delete binaries_state_medium_key_; 1269 delete binaries_state_medium_key_;
1270 } 1270 }
1271 1271
1272 // Install the registry override and apply the settings to the registry. 1272 // Install the registry override and apply the settings to the registry.
1273 void CollectStatsConsent::SetUp() { 1273 void CollectStatsConsent::SetUp() {
1274 // Override both HKLM and HKCU as tests may touch either/both.
1275 override_manager_.OverrideRegistry(HKEY_LOCAL_MACHINE);
1276 override_manager_.OverrideRegistry(HKEY_CURRENT_USER);
1277
1274 const StatsState& stats_state = GetParam(); 1278 const StatsState& stats_state = GetParam();
1275 const HKEY root_key = stats_state.root_key(); 1279 const HKEY root_key = stats_state.root_key();
1276 base::string16 reg_temp_name(
1277 stats_state.system_level() ? L"HKLM_" : L"HKCU_");
1278 reg_temp_name += L"CollectStatsConsent";
1279 override_manager_.OverrideRegistry(root_key);
1280
1281 if (stats_state.multi_install()) { 1280 if (stats_state.multi_install()) {
1282 MakeChromeMultiInstall(root_key); 1281 MakeChromeMultiInstall(root_key);
1283 ApplySetting(stats_state.state_value(), root_key, *binaries_state_key_); 1282 ApplySetting(stats_state.state_value(), root_key, *binaries_state_key_);
1284 ApplySetting(stats_state.state_medium_value(), root_key, 1283 ApplySetting(stats_state.state_medium_value(), root_key,
1285 *binaries_state_medium_key_); 1284 *binaries_state_medium_key_);
1286 } else { 1285 } else {
1287 ApplySetting(stats_state.state_value(), root_key, *chrome_state_key_); 1286 ApplySetting(stats_state.state_value(), root_key, *chrome_state_key_);
1288 ApplySetting(stats_state.state_medium_value(), root_key, 1287 ApplySetting(stats_state.state_medium_value(), root_key,
1289 *chrome_state_medium_key_); 1288 *chrome_state_medium_key_);
1290 } 1289 }
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
1326 GetParam().system_level())); 1325 GetParam().system_level()));
1327 } else { 1326 } else {
1328 EXPECT_FALSE(GoogleUpdateSettings::GetCollectStatsConsentAtLevel( 1327 EXPECT_FALSE(GoogleUpdateSettings::GetCollectStatsConsentAtLevel(
1329 GetParam().system_level())); 1328 GetParam().system_level()));
1330 } 1329 }
1331 } 1330 }
1332 1331
1333 // Test that stats consent can be flipped to the opposite setting, that the new 1332 // Test that stats consent can be flipped to the opposite setting, that the new
1334 // setting takes affect, and that the correct registry location is modified. 1333 // setting takes affect, and that the correct registry location is modified.
1335 TEST_P(CollectStatsConsent, SetCollectStatsConsentAtLevel) { 1334 TEST_P(CollectStatsConsent, SetCollectStatsConsentAtLevel) {
1335 // When testing revoking consent, verify that backup client info is cleared.
1336 // To do so, first add some backup client info.
1337 if (GetParam().is_consent_granted()) {
1338 metrics::ClientInfo client_info;
1339 client_info.client_id = "01234567-89ab-cdef-fedc-ba9876543210";
1340 client_info.installation_date = 123;
1341 client_info.reporting_enabled_date = 345;
1342 GoogleUpdateSettings::StoreMetricsClientInfo(client_info);
1343 }
1344
1336 EXPECT_TRUE(GoogleUpdateSettings::SetCollectStatsConsentAtLevel( 1345 EXPECT_TRUE(GoogleUpdateSettings::SetCollectStatsConsentAtLevel(
1337 GetParam().system_level(), 1346 GetParam().system_level(),
1338 !GetParam().is_consent_granted())); 1347 !GetParam().is_consent_granted()));
1348
1339 const base::string16* const reg_keys[] = { 1349 const base::string16* const reg_keys[] = {
1340 chrome_state_key_, 1350 chrome_state_key_,
1341 chrome_state_medium_key_, 1351 chrome_state_medium_key_,
1342 binaries_state_key_, 1352 binaries_state_key_,
1343 binaries_state_medium_key_, 1353 binaries_state_medium_key_,
1344 }; 1354 };
1345 int key_index = ((GetParam().system_level() ? 1 : 0) + 1355 int key_index = ((GetParam().system_level() ? 1 : 0) +
1346 (GetParam().multi_install() ? 2 : 0)); 1356 (GetParam().multi_install() ? 2 : 0));
1347 const base::string16& reg_key = *reg_keys[key_index]; 1357 const base::string16& reg_key = *reg_keys[key_index];
1348 DWORD value = 0; 1358 DWORD value = 0;
1349 EXPECT_EQ( 1359 EXPECT_EQ(
1350 ERROR_SUCCESS, 1360 ERROR_SUCCESS,
1351 RegKey(GetParam().root_key(), reg_key.c_str(), 1361 RegKey(GetParam().root_key(), reg_key.c_str(),
1352 KEY_QUERY_VALUE).ReadValueDW(google_update::kRegUsageStatsField, 1362 KEY_QUERY_VALUE).ReadValueDW(google_update::kRegUsageStatsField,
1353 &value)); 1363 &value));
1354 if (GetParam().is_consent_granted()) { 1364 if (GetParam().is_consent_granted()) {
1355 EXPECT_FALSE(GoogleUpdateSettings::GetCollectStatsConsentAtLevel( 1365 EXPECT_FALSE(GoogleUpdateSettings::GetCollectStatsConsentAtLevel(
1356 GetParam().system_level())); 1366 GetParam().system_level()));
1357 EXPECT_EQ(0UL, value); 1367 EXPECT_EQ(0UL, value);
1358 } else { 1368 } else {
1359 EXPECT_TRUE(GoogleUpdateSettings::GetCollectStatsConsentAtLevel( 1369 EXPECT_TRUE(GoogleUpdateSettings::GetCollectStatsConsentAtLevel(
1360 GetParam().system_level())); 1370 GetParam().system_level()));
1361 EXPECT_EQ(1UL, value); 1371 EXPECT_EQ(1UL, value);
1372 // Verify that backup client info has been cleared.
1373 EXPECT_FALSE(GoogleUpdateSettings::LoadMetricsClientInfo());
1362 } 1374 }
1363 } 1375 }
1364 1376
1365 INSTANTIATE_TEST_CASE_P( 1377 INSTANTIATE_TEST_CASE_P(
1366 UserLevelSingleInstall, 1378 UserLevelSingleInstall,
1367 CollectStatsConsent, 1379 CollectStatsConsent,
1368 ::testing::Values( 1380 ::testing::Values(
1369 StatsState(StatsState::kUserLevel, StatsState::SINGLE_INSTALL, 1381 StatsState(StatsState::kUserLevel, StatsState::SINGLE_INSTALL,
1370 StatsState::NO_SETTING), 1382 StatsState::NO_SETTING),
1371 StatsState(StatsState::kUserLevel, StatsState::SINGLE_INSTALL, 1383 StatsState(StatsState::kUserLevel, StatsState::SINGLE_INSTALL,
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
1419 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL, 1431 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL,
1420 StatsState::FALSE_SETTING, StatsState::FALSE_SETTING), 1432 StatsState::FALSE_SETTING, StatsState::FALSE_SETTING),
1421 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL, 1433 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL,
1422 StatsState::FALSE_SETTING, StatsState::TRUE_SETTING), 1434 StatsState::FALSE_SETTING, StatsState::TRUE_SETTING),
1423 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL, 1435 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL,
1424 StatsState::TRUE_SETTING, StatsState::NO_SETTING), 1436 StatsState::TRUE_SETTING, StatsState::NO_SETTING),
1425 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL, 1437 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL,
1426 StatsState::TRUE_SETTING, StatsState::FALSE_SETTING), 1438 StatsState::TRUE_SETTING, StatsState::FALSE_SETTING),
1427 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL, 1439 StatsState(StatsState::kSystemLevel, StatsState::MULTI_INSTALL,
1428 StatsState::TRUE_SETTING, StatsState::TRUE_SETTING))); 1440 StatsState::TRUE_SETTING, StatsState::TRUE_SETTING)));
OLDNEW
« no previous file with comments | « chrome/installer/util/google_update_settings.cc ('k') | components/metrics/metrics_pref_names.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698