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

Unified Diff: components/metrics/metrics_state_manager_unittest.cc

Issue 372473004: Retrieve client_id from GoogleUpdateSettings when its missing from Local State. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: +member comments Created 6 years, 5 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/metrics/metrics_state_manager_unittest.cc
diff --git a/components/metrics/metrics_state_manager_unittest.cc b/components/metrics/metrics_state_manager_unittest.cc
index 2f7d85be2aa6055e133944d5e22ecfb52634dc24..93c6842292d7c66e6885e1258b6a5366a88ab2f4 100644
--- a/components/metrics/metrics_state_manager_unittest.cc
+++ b/components/metrics/metrics_state_manager_unittest.cc
@@ -10,6 +10,7 @@
#include "base/bind.h"
#include "base/command_line.h"
#include "base/prefs/testing_pref_service.h"
+#include "components/metrics/client_info.h"
#include "components/metrics/metrics_pref_names.h"
#include "components/metrics/metrics_switches.h"
#include "components/variations/caching_permuted_entropy_provider.h"
@@ -28,6 +29,10 @@ class MetricsStateManagerTest : public testing::Test {
return MetricsStateManager::Create(
&prefs_,
base::Bind(&MetricsStateManagerTest::is_metrics_reporting_enabled,
+ base::Unretained(this)),
+ base::Bind(&MetricsStateManagerTest::MockStoreClientInfoBackup,
+ base::Unretained(this)),
+ base::Bind(&MetricsStateManagerTest::LoadFakeClientInfoBackup,
base::Unretained(this))).Pass();
}
@@ -44,8 +49,32 @@ class MetricsStateManagerTest : public testing::Test {
return is_metrics_reporting_enabled_;
}
+ // Stores the |client_info| in |stored_client_info_backup_| for verification
+ // by the tests later.
+ void MockStoreClientInfoBackup(const ClientInfo& client_info) {
+ stored_client_info_backup_.reset(new ClientInfo);
+ stored_client_info_backup_->client_id = client_info.client_id;
+ stored_client_info_backup_->installation_date =
+ client_info.installation_date;
+ stored_client_info_backup_->reporting_enabled_date =
+ client_info.reporting_enabled_date;
+ }
+
+ // Hands off |fake_client_info_backup_| if it was set.
+ scoped_ptr<ClientInfo> LoadFakeClientInfoBackup() {
+ return fake_client_info_backup_.Pass();
+ }
+
bool is_metrics_reporting_enabled_;
+ // Last ClientInfo store via MockStoreClientInfoBackup by the
+ // MetricsStateManager.
+ scoped_ptr<ClientInfo> stored_client_info_backup_;
+
+ // If set, will be returned via LoadFakeClientInfoBackup if requested by the
+ // MetricsStateManager.
+ scoped_ptr<ClientInfo> fake_client_info_backup_;
+
DISALLOW_COPY_AND_ASSIGN(MetricsStateManagerTest);
};

Powered by Google App Engine
This is Rietveld 408576698