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

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

Issue 532623003: Remove MetricsServiceObserver in favor of MetricsProvider. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix GN build. Created 6 years, 3 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 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_service.h" 5 #include "components/metrics/metrics_service.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "base/message_loop/message_loop.h" 11 #include "base/message_loop/message_loop.h"
12 #include "base/prefs/testing_pref_service.h" 12 #include "base/prefs/testing_pref_service.h"
13 #include "base/threading/platform_thread.h" 13 #include "base/threading/platform_thread.h"
14 #include "components/metrics/client_info.h" 14 #include "components/metrics/client_info.h"
15 #include "components/metrics/compression_utils.h" 15 #include "components/metrics/compression_utils.h"
16 #include "components/metrics/metrics_log.h" 16 #include "components/metrics/metrics_log.h"
17 #include "components/metrics/metrics_pref_names.h" 17 #include "components/metrics/metrics_pref_names.h"
18 #include "components/metrics/metrics_service_observer.h"
19 #include "components/metrics/metrics_state_manager.h" 18 #include "components/metrics/metrics_state_manager.h"
20 #include "components/metrics/test_metrics_service_client.h" 19 #include "components/metrics/test_metrics_service_client.h"
21 #include "components/variations/metrics_util.h" 20 #include "components/variations/metrics_util.h"
22 #include "testing/gtest/include/gtest/gtest.h" 21 #include "testing/gtest/include/gtest/gtest.h"
23 22
24 namespace metrics { 23 namespace metrics {
25 24
26 namespace { 25 namespace {
27 26
28 void StoreNoClientInfoBackup(const ClientInfo& /* client_info */) { 27 void StoreNoClientInfoBackup(const ClientInfo& /* client_info */) {
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 } 122 }
124 123
125 bool is_metrics_reporting_enabled_; 124 bool is_metrics_reporting_enabled_;
126 TestingPrefServiceSimple testing_local_state_; 125 TestingPrefServiceSimple testing_local_state_;
127 scoped_ptr<MetricsStateManager> metrics_state_manager_; 126 scoped_ptr<MetricsStateManager> metrics_state_manager_;
128 base::MessageLoop message_loop; 127 base::MessageLoop message_loop;
129 128
130 DISALLOW_COPY_AND_ASSIGN(MetricsServiceTest); 129 DISALLOW_COPY_AND_ASSIGN(MetricsServiceTest);
131 }; 130 };
132 131
133 class TestMetricsServiceObserver : public MetricsServiceObserver {
134 public:
135 TestMetricsServiceObserver(): observed_(0) {}
136 virtual ~TestMetricsServiceObserver() {}
137
138 virtual void OnDidCreateMetricsLog() OVERRIDE {
139 ++observed_;
140 }
141 int observed() const { return observed_; }
142
143 private:
144 int observed_;
145
146 DISALLOW_COPY_AND_ASSIGN(TestMetricsServiceObserver);
147 };
148
149 } // namespace 132 } // namespace
150 133
151 TEST_F(MetricsServiceTest, InitialStabilityLogAfterCleanShutDown) { 134 TEST_F(MetricsServiceTest, InitialStabilityLogAfterCleanShutDown) {
152 EnableMetricsReporting(); 135 EnableMetricsReporting();
153 GetLocalState()->SetBoolean(prefs::kStabilityExitedCleanly, true); 136 GetLocalState()->SetBoolean(prefs::kStabilityExitedCleanly, true);
154 137
155 TestMetricsServiceClient client; 138 TestMetricsServiceClient client;
156 TestMetricsService service( 139 TestMetricsService service(
157 GetMetricsStateManager(), &client, GetLocalState()); 140 GetMetricsStateManager(), &client, GetLocalState());
158 service.InitializeMetricsRecordingState(); 141 service.InitializeMetricsRecordingState();
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 scoped_ptr<MetricsLog>(new MetricsLog( 259 scoped_ptr<MetricsLog>(new MetricsLog(
277 "clientID", 1, MetricsLog::ONGOING_LOG, &client, GetLocalState()))); 260 "clientID", 1, MetricsLog::ONGOING_LOG, &client, GetLocalState())));
278 service.GetCurrentSyntheticFieldTrials(&synthetic_trials); 261 service.GetCurrentSyntheticFieldTrials(&synthetic_trials);
279 EXPECT_EQ(3U, synthetic_trials.size()); 262 EXPECT_EQ(3U, synthetic_trials.size());
280 EXPECT_TRUE(HasSyntheticTrial(synthetic_trials, "TestTrial1", "Group2")); 263 EXPECT_TRUE(HasSyntheticTrial(synthetic_trials, "TestTrial1", "Group2"));
281 EXPECT_TRUE(HasSyntheticTrial(synthetic_trials, "TestTrial2", "Group2")); 264 EXPECT_TRUE(HasSyntheticTrial(synthetic_trials, "TestTrial2", "Group2"));
282 EXPECT_TRUE(HasSyntheticTrial(synthetic_trials, "TestTrial3", "Group3")); 265 EXPECT_TRUE(HasSyntheticTrial(synthetic_trials, "TestTrial3", "Group3"));
283 service.log_manager_.FinishCurrentLog(); 266 service.log_manager_.FinishCurrentLog();
284 } 267 }
285 268
286 TEST_F(MetricsServiceTest, MetricsServiceObserver) {
287 metrics::TestMetricsServiceClient client;
288 MetricsService service(GetMetricsStateManager(), &client, GetLocalState());
289 TestMetricsServiceObserver observer1;
290 TestMetricsServiceObserver observer2;
291
292 service.AddObserver(&observer1);
293 EXPECT_EQ(0, observer1.observed());
294 EXPECT_EQ(0, observer2.observed());
295
296 service.OpenNewLog();
297 EXPECT_EQ(1, observer1.observed());
298 EXPECT_EQ(0, observer2.observed());
299 service.log_manager_.FinishCurrentLog();
300
301 service.AddObserver(&observer2);
302
303 service.OpenNewLog();
304 EXPECT_EQ(2, observer1.observed());
305 EXPECT_EQ(1, observer2.observed());
306 service.log_manager_.FinishCurrentLog();
307
308 service.RemoveObserver(&observer1);
309
310 service.OpenNewLog();
311 EXPECT_EQ(2, observer1.observed());
312 EXPECT_EQ(2, observer2.observed());
313 service.log_manager_.FinishCurrentLog();
314
315 service.RemoveObserver(&observer2);
316 }
317
318 } // namespace metrics 269 } // namespace metrics
OLDNEW
« components/metrics/metrics_service.cc ('K') | « components/metrics/metrics_service_observer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698