shill: teach dbus_adaptor (and appropriate subclasses) how
to clear properties
BUG=chromium-os:24814
TEST=new unit tests
Change-Id: Ifad5ad0ad6c00d906bade7e1293540a58ac15625
Reviewed-on: https://gerrit.chromium.org/gerrit/15291
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
Commit-Ready: mukesh agrawal <quiche@chromium.org>
diff --git a/device_unittest.cc b/device_unittest.cc
index c0c426b..8378f3f 100644
--- a/device_unittest.cc
+++ b/device_unittest.cc
@@ -120,6 +120,38 @@
EXPECT_EQ(invalid_args(), error.name());
}
+TEST_F(DeviceTest, ClearProperty) {
+ ::DBus::Error error;
+ EXPECT_TRUE(device_->powered());
+
+ EXPECT_TRUE(DBusAdaptor::DispatchOnType(device_->mutable_store(),
+ flimflam::kPoweredProperty,
+ PropertyStoreTest::kBoolV,
+ &error));
+ EXPECT_FALSE(device_->powered());
+
+ EXPECT_TRUE(DBusAdaptor::ClearProperty(device_->mutable_store(),
+ flimflam::kPoweredProperty,
+ &error));
+ EXPECT_TRUE(device_->powered());
+}
+
+TEST_F(DeviceTest, ClearReadOnlyProperty) {
+ ::DBus::Error error;
+ EXPECT_FALSE(DBusAdaptor::DispatchOnType(device_->mutable_store(),
+ flimflam::kAddressProperty,
+ PropertyStoreTest::kStringV,
+ &error));
+}
+
+TEST_F(DeviceTest, ClearReadOnlyDerivedProperty) {
+ ::DBus::Error error;
+ EXPECT_FALSE(DBusAdaptor::DispatchOnType(device_->mutable_store(),
+ flimflam::kIPConfigsProperty,
+ PropertyStoreTest::kStringsV,
+ &error));
+}
+
TEST_F(DeviceTest, TechnologyIs) {
EXPECT_FALSE(device_->TechnologyIs(Technology::kEthernet));
}