shill: Check modem proxy validity before Disconnecting.
BUG=chromium-os:32668
TEST=Unit tests, cellular_Smoke, cellular_ModemControl
Change-Id: I457fe576317a89216efb203c0b90e4279e6f8c6a
Reviewed-on: https://gerrit.chromium.org/gerrit/28109
Reviewed-by: Thieu Le <thieule@chromium.org>
Tested-by: Thieu Le <thieule@chromium.org>
Commit-Ready: Thieu Le <thieule@chromium.org>
diff --git a/cellular_capability_universal_unittest.cc b/cellular_capability_universal_unittest.cc
index f466b62..5960dad 100644
--- a/cellular_capability_universal_unittest.cc
+++ b/cellular_capability_universal_unittest.cc
@@ -148,6 +148,10 @@
capability_->modem_simple_proxy_.reset(modem_simple_proxy_.release());
}
+ void ReleaseCapabilityProxies() {
+ capability_->ReleaseProxies();
+ }
+
MOCK_METHOD1(TestCallback, void(const Error &error));
protected:
@@ -345,13 +349,23 @@
TEST_F(CellularCapabilityUniversalTest, DisconnectModemNoBearer) {
Error error;
ResultCallback disconnect_callback;
- mm1::MockModemSimpleProxy *modem_simple_proxy = modem_simple_proxy_.get();
- EXPECT_CALL(*modem_simple_proxy,
+ EXPECT_CALL(*modem_simple_proxy_,
Disconnect(_, _, _, CellularCapability::kTimeoutDefault))
.Times(0);
capability_->Disconnect(&error, disconnect_callback);
}
+TEST_F(CellularCapabilityUniversalTest, DisconnectNoProxy) {
+ Error error;
+ ResultCallback disconnect_callback;
+ capability_->bearer_path_ = "/foo";
+ EXPECT_CALL(*modem_simple_proxy_,
+ Disconnect(_, _, _, CellularCapability::kTimeoutDefault))
+ .Times(0);
+ ReleaseCapabilityProxies();
+ capability_->Disconnect(&error, disconnect_callback);
+}
+
TEST_F(CellularCapabilityUniversalTest, PropertiesChanged) {
// Set up mock modem properties
DBusPropertiesMap modem_properties;