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

Side by Side Diff: metrics_daemon_test.cc

Issue 2698002: Update metrics daemon to use new power manager signals for locking (4 of 7). (Closed) Base URL: ssh://git@chromiumos-git/metrics.git
Patch Set: Update to master Created 10 years, 6 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 | « metrics_daemon.cc ('k') | screensaver_states.h » ('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 (c) 2010 The Chromium OS Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium OS 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 "metrics_daemon.h" 5 #include "metrics_daemon.h"
6 #include "metrics_library_mock.h" 6 #include "metrics_library_mock.h"
7 7
8 #include <sys/file.h> 8 #include <sys/file.h>
9 9
10 #include <base/eintr_wrapper.h> 10 #include <base/eintr_wrapper.h>
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 279
280 TEST_F(MetricsDaemonTest, LookupPowerState) { 280 TEST_F(MetricsDaemonTest, LookupPowerState) {
281 EXPECT_EQ(MetricsDaemon::kPowerStateOn, 281 EXPECT_EQ(MetricsDaemon::kPowerStateOn,
282 daemon_.LookupPowerState("on")); 282 daemon_.LookupPowerState("on"));
283 EXPECT_EQ(MetricsDaemon::kPowerStateMem, 283 EXPECT_EQ(MetricsDaemon::kPowerStateMem,
284 daemon_.LookupPowerState("mem")); 284 daemon_.LookupPowerState("mem"));
285 EXPECT_EQ(MetricsDaemon::kUnknownPowerState, 285 EXPECT_EQ(MetricsDaemon::kUnknownPowerState,
286 daemon_.LookupPowerState("somestate")); 286 daemon_.LookupPowerState("somestate"));
287 } 287 }
288 288
289 TEST_F(MetricsDaemonTest, LookupScreenSaverState) {
290 EXPECT_EQ(MetricsDaemon::kScreenSaverStateLocked,
291 daemon_.LookupScreenSaverState("locked"));
292 EXPECT_EQ(MetricsDaemon::kScreenSaverStateUnlocked,
293 daemon_.LookupScreenSaverState("unlocked"));
294 EXPECT_EQ(MetricsDaemon::kUnknownScreenSaverState,
295 daemon_.LookupScreenSaverState("somestate"));
296 }
297
298 TEST_F(MetricsDaemonTest, LookupSessionState) { 289 TEST_F(MetricsDaemonTest, LookupSessionState) {
299 EXPECT_EQ(MetricsDaemon::kSessionStateStarted, 290 EXPECT_EQ(MetricsDaemon::kSessionStateStarted,
300 daemon_.LookupSessionState("started")); 291 daemon_.LookupSessionState("started"));
301 EXPECT_EQ(MetricsDaemon::kSessionStateStopped, 292 EXPECT_EQ(MetricsDaemon::kSessionStateStopped,
302 daemon_.LookupSessionState("stopped")); 293 daemon_.LookupSessionState("stopped"));
303 EXPECT_EQ(MetricsDaemon::kUnknownSessionState, 294 EXPECT_EQ(MetricsDaemon::kUnknownSessionState,
304 daemon_.LookupSessionState("somestate")); 295 daemon_.LookupSessionState("somestate"));
305 } 296 }
306 297
307 TEST_F(MetricsDaemonTest, MessageFilter) { 298 TEST_F(MetricsDaemonTest, MessageFilter) {
308 DBusMessage* msg = dbus_message_new(DBUS_MESSAGE_TYPE_METHOD_CALL); 299 DBusMessage* msg = dbus_message_new(DBUS_MESSAGE_TYPE_METHOD_CALL);
309 DBusHandlerResult res = 300 DBusHandlerResult res =
310 MetricsDaemon::MessageFilter(/* connection */ NULL, msg, &daemon_); 301 MetricsDaemon::MessageFilter(/* connection */ NULL, msg, &daemon_);
311 EXPECT_EQ(DBUS_HANDLER_RESULT_NOT_YET_HANDLED, res); 302 EXPECT_EQ(DBUS_HANDLER_RESULT_NOT_YET_HANDLED, res);
312 DeleteDBusMessage(msg); 303 DeleteDBusMessage(msg);
313 304
314 msg = NewDBusSignalString("/", 305 msg = NewDBusSignalString("/",
315 "org.chromium.flimflam.Manager", 306 "org.chromium.flimflam.Manager",
316 "StateChanged", 307 "StateChanged",
317 "online"); 308 "online");
318 EXPECT_EQ(MetricsDaemon::kUnknownNetworkState, daemon_.network_state_); 309 EXPECT_EQ(MetricsDaemon::kUnknownNetworkState, daemon_.network_state_);
319 res = MetricsDaemon::MessageFilter(/* connection */ NULL, msg, &daemon_); 310 res = MetricsDaemon::MessageFilter(/* connection */ NULL, msg, &daemon_);
320 EXPECT_EQ(MetricsDaemon::kNetworkStateOnline, daemon_.network_state_); 311 EXPECT_EQ(MetricsDaemon::kNetworkStateOnline, daemon_.network_state_);
321 EXPECT_EQ(DBUS_HANDLER_RESULT_HANDLED, res); 312 EXPECT_EQ(DBUS_HANDLER_RESULT_HANDLED, res);
322 DeleteDBusMessage(msg); 313 DeleteDBusMessage(msg);
323 314
324 msg = NewDBusSignalString("/", 315 msg = NewDBusSignalString("/",
325 "org.chromium.Power.Manager", 316 "org.chromium.PowerManager",
326 "PowerStateChanged", 317 "PowerStateChanged",
327 "on"); 318 "on");
328 EXPECT_EQ(MetricsDaemon::kUnknownPowerState, daemon_.power_state_); 319 EXPECT_EQ(MetricsDaemon::kUnknownPowerState, daemon_.power_state_);
329 res = MetricsDaemon::MessageFilter(/* connection */ NULL, msg, &daemon_); 320 res = MetricsDaemon::MessageFilter(/* connection */ NULL, msg, &daemon_);
330 EXPECT_EQ(MetricsDaemon::kPowerStateOn, daemon_.power_state_); 321 EXPECT_EQ(MetricsDaemon::kPowerStateOn, daemon_.power_state_);
331 EXPECT_EQ(DBUS_HANDLER_RESULT_HANDLED, res); 322 EXPECT_EQ(DBUS_HANDLER_RESULT_HANDLED, res);
332 DeleteDBusMessage(msg); 323 DeleteDBusMessage(msg);
333 324
334 msg = NewDBusSignalString("/", 325 msg = NewDBusSignalString("/",
335 "org.chromium.ScreenSaver.Manager", 326 "org.chromium.PowerManager",
336 "LockStateChanged", 327 "ScreenIsUnlocked",
337 "unlocked"); 328 "");
338 EXPECT_EQ(MetricsDaemon::kUnknownScreenSaverState, 329 EXPECT_FALSE(daemon_.user_active_);
339 daemon_.screensaver_state_);
340 res = MetricsDaemon::MessageFilter(/* connection */ NULL, msg, &daemon_); 330 res = MetricsDaemon::MessageFilter(/* connection */ NULL, msg, &daemon_);
341 EXPECT_EQ(MetricsDaemon::kScreenSaverStateUnlocked, 331 EXPECT_TRUE(daemon_.user_active_);
342 daemon_.screensaver_state_);
343 EXPECT_EQ(DBUS_HANDLER_RESULT_HANDLED, res); 332 EXPECT_EQ(DBUS_HANDLER_RESULT_HANDLED, res);
344 DeleteDBusMessage(msg); 333 DeleteDBusMessage(msg);
345 334
346 msg = NewDBusSignalString("/org/chromium/SessionManager", 335 msg = NewDBusSignalString("/org/chromium/SessionManager",
347 "org.chromium.SessionManagerInterface", 336 "org.chromium.SessionManagerInterface",
348 "SessionStateChanged", 337 "SessionStateChanged",
349 "started"); 338 "started");
350 EXPECT_EQ(MetricsDaemon::kUnknownSessionState, daemon_.session_state_); 339 EXPECT_EQ(MetricsDaemon::kUnknownSessionState, daemon_.session_state_);
351 res = MetricsDaemon::MessageFilter(/* connection */ NULL, msg, &daemon_); 340 res = MetricsDaemon::MessageFilter(/* connection */ NULL, msg, &daemon_);
352 EXPECT_EQ(MetricsDaemon::kSessionStateStarted, daemon_.session_state_); 341 EXPECT_EQ(MetricsDaemon::kSessionStateStarted, daemon_.session_state_);
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 EXPECT_EQ(TestTime(7 * kSecondsPerDay + 45), daemon_.user_active_last_); 415 EXPECT_EQ(TestTime(7 * kSecondsPerDay + 45), daemon_.user_active_last_);
427 EXPECT_PRED_FORMAT2(AssertDailyUseRecord, /* day */ 7, /* seconds */ 30); 416 EXPECT_PRED_FORMAT2(AssertDailyUseRecord, /* day */ 7, /* seconds */ 30);
428 417
429 daemon_.PowerStateChanged("otherstate", TestTime(7 * kSecondsPerDay + 185)); 418 daemon_.PowerStateChanged("otherstate", TestTime(7 * kSecondsPerDay + 185));
430 EXPECT_EQ(MetricsDaemon::kUnknownPowerState, daemon_.power_state_); 419 EXPECT_EQ(MetricsDaemon::kUnknownPowerState, daemon_.power_state_);
431 EXPECT_FALSE(daemon_.user_active_); 420 EXPECT_FALSE(daemon_.user_active_);
432 EXPECT_EQ(TestTime(7 * kSecondsPerDay + 185), daemon_.user_active_last_); 421 EXPECT_EQ(TestTime(7 * kSecondsPerDay + 185), daemon_.user_active_last_);
433 EXPECT_PRED_FORMAT2(AssertDailyUseRecord, /* day */ 7, /* seconds */ 30); 422 EXPECT_PRED_FORMAT2(AssertDailyUseRecord, /* day */ 7, /* seconds */ 30);
434 } 423 }
435 424
436 TEST_F(MetricsDaemonTest, ScreenSaverStateChanged) {
437 EXPECT_EQ(MetricsDaemon::kUnknownScreenSaverState,
438 daemon_.screensaver_state_);
439
440 daemon_.ScreenSaverStateChanged("locked",
441 TestTime(5 * kSecondsPerDay + 10));
442 EXPECT_EQ(MetricsDaemon::kScreenSaverStateLocked,
443 daemon_.screensaver_state_);
444 EXPECT_FALSE(daemon_.user_active_);
445 EXPECT_EQ(TestTime(5 * kSecondsPerDay + 10), daemon_.user_active_last_);
446 EXPECT_EQ(5, daemon_.daily_use_day_last_);
447 EXPECT_TRUE(AssertNoOrEmptyUseRecordFile());
448
449 daemon_.ScreenSaverStateChanged("unlocked",
450 TestTime(5 * kSecondsPerDay + 100));
451 EXPECT_EQ(MetricsDaemon::kScreenSaverStateUnlocked,
452 daemon_.screensaver_state_);
453 EXPECT_TRUE(daemon_.user_active_);
454 EXPECT_EQ(TestTime(5 * kSecondsPerDay + 100), daemon_.user_active_last_);
455 EXPECT_TRUE(AssertNoOrEmptyUseRecordFile());
456
457 daemon_.ScreenSaverStateChanged("otherstate",
458 TestTime(5 * kSecondsPerDay + 300));
459 EXPECT_EQ(MetricsDaemon::kUnknownScreenSaverState,
460 daemon_.screensaver_state_);
461 EXPECT_FALSE(daemon_.user_active_);
462 EXPECT_EQ(TestTime(5 * kSecondsPerDay + 300), daemon_.user_active_last_);
463 EXPECT_PRED_FORMAT2(AssertDailyUseRecord, /* day */ 5, /* seconds */ 200);
464 }
465
466 TEST_F(MetricsDaemonTest, SendMetric) { 425 TEST_F(MetricsDaemonTest, SendMetric) {
467 ExpectMetric("Dummy.Metric", 3, 1, 100, 50); 426 ExpectMetric("Dummy.Metric", 3, 1, 100, 50);
468 daemon_.SendMetric("Dummy.Metric", /* sample */ 3, 427 daemon_.SendMetric("Dummy.Metric", /* sample */ 3,
469 /* min */ 1, /* max */ 100, /* buckets */ 50); 428 /* min */ 1, /* max */ 100, /* buckets */ 50);
470 } 429 }
471 430
472 TEST_F(MetricsDaemonTest, SessionStateChanged) { 431 TEST_F(MetricsDaemonTest, SessionStateChanged) {
473 daemon_.SessionStateChanged("started", TestTime(15 * kSecondsPerDay + 20)); 432 daemon_.SessionStateChanged("started", TestTime(15 * kSecondsPerDay + 20));
474 EXPECT_EQ(MetricsDaemon::kSessionStateStarted, daemon_.session_state_); 433 EXPECT_EQ(MetricsDaemon::kSessionStateStarted, daemon_.session_state_);
475 EXPECT_TRUE(daemon_.user_active_); 434 EXPECT_TRUE(daemon_.user_active_);
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
580 EXPECT_TRUE(daemon_.user_active_); 539 EXPECT_TRUE(daemon_.user_active_);
581 EXPECT_EQ(TestTime(10 * kSecondsPerDay + 1000), daemon_.user_active_last_); 540 EXPECT_EQ(TestTime(10 * kSecondsPerDay + 1000), daemon_.user_active_last_);
582 EXPECT_EQ(10, daemon_.daily_use_day_last_); 541 EXPECT_EQ(10, daemon_.daily_use_day_last_);
583 EXPECT_TRUE(AssertNoOrEmptyUseRecordFile()); 542 EXPECT_TRUE(AssertNoOrEmptyUseRecordFile());
584 } 543 }
585 544
586 int main(int argc, char** argv) { 545 int main(int argc, char** argv) {
587 testing::InitGoogleTest(&argc, argv); 546 testing::InitGoogleTest(&argc, argv);
588 return RUN_ALL_TESTS(); 547 return RUN_ALL_TESTS();
589 } 548 }
OLDNEW
« no previous file with comments | « metrics_daemon.cc ('k') | screensaver_states.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698