OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |