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

Side by Side Diff: components/metrics/metrics_log_unittest.cc

Issue 2428413005: Revise system profile prefs clearing (Closed)
Patch Set: Update LoadSavedEnvironmentFromPrefs's comment Created 4 years, 2 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
« no previous file with comments | « components/metrics/metrics_log.cc ('k') | components/metrics/metrics_service.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "components/metrics/metrics_log.h" 5 #include "components/metrics/metrics_log.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <string> 10 #include <string>
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 300
301 { 301 {
302 TestMetricsLog log( 302 TestMetricsLog log(
303 kClientId, kSessionId, MetricsLog::ONGOING_LOG, &client, &prefs_); 303 kClientId, kSessionId, MetricsLog::ONGOING_LOG, &client, &prefs_);
304 std::string app_version; 304 std::string app_version;
305 EXPECT_TRUE(log.LoadSavedEnvironmentFromPrefs(&app_version)); 305 EXPECT_TRUE(log.LoadSavedEnvironmentFromPrefs(&app_version));
306 EXPECT_EQ("bogus version", app_version); 306 EXPECT_EQ("bogus version", app_version);
307 // Check some values in the system profile. 307 // Check some values in the system profile.
308 EXPECT_EQ(kInstallDateExpected, log.system_profile().install_date()); 308 EXPECT_EQ(kInstallDateExpected, log.system_profile().install_date());
309 EXPECT_EQ(kEnabledDateExpected, log.system_profile().uma_enabled_date()); 309 EXPECT_EQ(kEnabledDateExpected, log.system_profile().uma_enabled_date());
310 // Ensure that the call cleared the prefs. 310 // Ensure that the call did not clear the prefs.
311 EXPECT_TRUE(prefs_.GetString(kSystemProfilePref).empty()); 311 EXPECT_FALSE(prefs_.GetString(kSystemProfilePref).empty());
312 EXPECT_TRUE(prefs_.GetString(kSystemProfileHashPref).empty()); 312 EXPECT_FALSE(prefs_.GetString(kSystemProfileHashPref).empty());
313 } 313 }
314 314
315 // Ensure that a non-matching hash results in the pref being invalid. 315 // Ensure that a non-matching hash results in the pref being invalid.
316 { 316 {
317 TestMetricsLog log( 317 TestMetricsLog log(
318 kClientId, kSessionId, MetricsLog::ONGOING_LOG, &client, &prefs_); 318 kClientId, kSessionId, MetricsLog::ONGOING_LOG, &client, &prefs_);
319 // Call RecordEnvironment() to record the pref again. 319 // Call RecordEnvironment() to record the pref again.
320 log.RecordEnvironment(std::vector<MetricsProvider*>(), 320 log.RecordEnvironment(std::vector<MetricsProvider*>(),
321 std::vector<variations::ActiveGroupId>(), 321 std::vector<variations::ActiveGroupId>(),
322 kInstallDate, kEnabledDate); 322 kInstallDate, kEnabledDate);
323 } 323 }
324 324
325 { 325 {
326 // Set the hash to a bad value. 326 // Set the hash to a bad value.
327 prefs_.SetString(kSystemProfileHashPref, "deadbeef"); 327 prefs_.SetString(kSystemProfileHashPref, "deadbeef");
328 TestMetricsLog log( 328 TestMetricsLog log(
329 kClientId, kSessionId, MetricsLog::ONGOING_LOG, &client, &prefs_); 329 kClientId, kSessionId, MetricsLog::ONGOING_LOG, &client, &prefs_);
330 std::string app_version; 330 std::string app_version;
331 EXPECT_FALSE(log.LoadSavedEnvironmentFromPrefs(&app_version)); 331 EXPECT_FALSE(log.LoadSavedEnvironmentFromPrefs(&app_version));
332 EXPECT_TRUE(app_version.empty()); 332 EXPECT_TRUE(app_version.empty());
333 // Ensure that the prefs are cleared, even if the call failed. 333 // Ensure that the prefs are not cleared, even if the call failed.
334 EXPECT_TRUE(prefs_.GetString(kSystemProfilePref).empty()); 334 EXPECT_FALSE(prefs_.GetString(kSystemProfilePref).empty());
335 EXPECT_TRUE(prefs_.GetString(kSystemProfileHashPref).empty()); 335 EXPECT_FALSE(prefs_.GetString(kSystemProfileHashPref).empty());
336 } 336 }
337 } 337 }
338 338
339 TEST_F(MetricsLogTest, RecordEnvironmentEnableDefault) { 339 TEST_F(MetricsLogTest, RecordEnvironmentEnableDefault) {
340 TestMetricsServiceClient client; 340 TestMetricsServiceClient client;
341 TestMetricsLog log_unknown(kClientId, kSessionId, MetricsLog::ONGOING_LOG, 341 TestMetricsLog log_unknown(kClientId, kSessionId, MetricsLog::ONGOING_LOG,
342 &client, &prefs_); 342 &client, &prefs_);
343 343
344 std::vector<variations::ActiveGroupId> synthetic_trials; 344 std::vector<variations::ActiveGroupId> synthetic_trials;
345 345
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 TestMetricsServiceClient client; 463 TestMetricsServiceClient client;
464 client.set_product(kTestProduct); 464 client.set_product(kTestProduct);
465 TestMetricsLog log( 465 TestMetricsLog log(
466 kClientId, kSessionId, MetricsLog::ONGOING_LOG, &client, &prefs_); 466 kClientId, kSessionId, MetricsLog::ONGOING_LOG, &client, &prefs_);
467 // Check that the product is set to |kTestProduct|. 467 // Check that the product is set to |kTestProduct|.
468 EXPECT_TRUE(log.uma_proto().has_product()); 468 EXPECT_TRUE(log.uma_proto().has_product());
469 EXPECT_EQ(kTestProduct, log.uma_proto().product()); 469 EXPECT_EQ(kTestProduct, log.uma_proto().product());
470 } 470 }
471 471
472 } // namespace metrics 472 } // namespace metrics
OLDNEW
« no previous file with comments | « components/metrics/metrics_log.cc ('k') | components/metrics/metrics_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698