shill: Log boot statistics for service state changes.

BUG=chromium-os:30169
TEST=unit tests, booted device, /tmp/disk-network-ready is populated

Change-Id: I8f0de3d3f9da2f73ca10977d46262fbbbbd56584
Reviewed-on: https://gerrit.chromium.org/gerrit/25084
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Thieu Le <thieule@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Ready: Darin Petkov <petkov@chromium.org>
diff --git a/service_unittest.cc b/service_unittest.cc
index f8427e2..d71d5f6 100644
--- a/service_unittest.cc
+++ b/service_unittest.cc
@@ -81,6 +81,20 @@
   EXPECT_FALSE(service_->has_ever_connected());
 }
 
+TEST_F(ServiceTest, CalculateState) {
+  service_->state_ = Service::kStateConnected;
+  Error error;
+  EXPECT_EQ(flimflam::kStateReady, service_->CalculateState(&error));
+  EXPECT_TRUE(error.IsSuccess());
+}
+
+TEST_F(ServiceTest, CalculateTechnology) {
+  service_->technology_ = Technology::kWifi;
+  Error error;
+  EXPECT_EQ(flimflam::kTypeWifi, service_->CalculateTechnology(&error));
+  EXPECT_TRUE(error.IsSuccess());
+}
+
 TEST_F(ServiceTest, GetProperties) {
   map<string, ::DBus::Variant> props;
   Error error(Error::kInvalidProperty, "");