shill: ProfileDBusPropertyExporter: Export Cert IDs

Export Cert ID and Key ID properties so that Chrome can identify
stored (non-visible) profile entries which need their certificates
to be updated.

BUG=chromium-os:37167
TEST=Added unit tests.

Change-Id: I28df7c907a114187f53956639f06b98533f53965
Reviewed-on: https://gerrit.chromium.org/gerrit/39659
Commit-Ready: Paul Stewart <pstew@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/profile_dbus_property_exporter_unittest.cc b/profile_dbus_property_exporter_unittest.cc
index a5d14cb..24cee52 100644
--- a/profile_dbus_property_exporter_unittest.cc
+++ b/profile_dbus_property_exporter_unittest.cc
@@ -164,6 +164,13 @@
   ExpectStringProperty(WiFiService::kStorageMode, mode);
   const string security("unbreakablecrypto");
   ExpectStringProperty(WiFiService::kStorageSecurity, security);
+  const string ca_cert_id("ca-cert-id");
+  ExpectStringProperty(WiFiService::kStorageEapCACertID, ca_cert_id);
+  const string cert_id("cert-id");
+  ExpectStringProperty(WiFiService::kStorageEapCertID, cert_id);
+  const string key_id("key-id");
+  ExpectStringProperty(WiFiService::kStorageEapKeyID, key_id);
+
 
   ProfileDBusPropertyExporter::PropertyList props;
   Error e;
@@ -171,6 +178,10 @@
   EXPECT_EQ(hidden_ssid, GetBoolProperty(&props, flimflam::kWifiHiddenSsid));
   EXPECT_EQ(mode, GetStringProperty(&props, flimflam::kModeProperty));
   EXPECT_EQ(security, GetStringProperty(&props, flimflam::kSecurityProperty));
+  EXPECT_EQ(ca_cert_id,
+            GetStringProperty(&props, flimflam::kEapCaCertIDProperty));
+  EXPECT_EQ(cert_id, GetStringProperty(&props, flimflam::kEAPCertIDProperty));
+  EXPECT_EQ(key_id, GetStringProperty(&props, flimflam::kEAPKeyIDProperty));
 }
 
 }  // namespace shill