shill: Change ownership of activating_iccidstore
Response to a bug report that a file created during the construction of
activating_iccid_store object is left behind after some unit-tests.
activating_iccid_store was owned by Cellular. Move it higher in the
hierarchy to ModemInfo. This change causes the activating_iccid_store
object to appear as an argument in constructor arguments for some more
classes. The unit-tests for these classes no longer create the
activating_iccid_store object, which means that the associated
persistent file is not created.
Fix unit-tests for this change.
(1) Add extra constructor argument to some mocks to match the changed
classes
(2) mock activating_iccid_store in unit tests in
cellular_capability_universal_unittest that used the actual object
earlier.
(3) activating_iccid_store_unittest.cc : Create temporary directory for
the persistent file and delete it after the test.
BUG=chromium:221397
TEST=Fixed unit-tests for the refactoring pass. Persistent file is
not longer left behind by tests. 4GLTE activation works.
Change-Id: I36876117cbc144c4405846e9604cdb3b35d296dc
Reviewed-on: https://gerrit.chromium.org/gerrit/45786
Commit-Queue: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
diff --git a/modem_manager.h b/modem_manager.h
index 89f6b40..15931c9 100644
--- a/modem_manager.h
+++ b/modem_manager.h
@@ -23,6 +23,7 @@
namespace shill {
+class ActivatingIccidStore;
class CellularOperatorInfo;
class ControlInterface;
class DBusObjectManagerProxyInterface;
@@ -46,7 +47,8 @@
Metrics *metrics,
Manager *manager,
GLib *glib,
- CellularOperatorInfo *cellular_operator_info_,
+ ActivatingIccidStore *activating_iccid_store,
+ CellularOperatorInfo *cellular_operator_info,
mobile_provider_db *provider_db);
virtual ~ModemManager();
@@ -70,6 +72,9 @@
const std::string &service() const { return service_; }
const std::string &path() const { return path_; }
ProxyFactory *proxy_factory() const { return proxy_factory_; }
+ ActivatingIccidStore *activating_iccid_store() const {
+ return activating_iccid_store_;
+ }
CellularOperatorInfo *cellular_operator_info() const {
return cellular_operator_info_;
}
@@ -130,6 +135,7 @@
Metrics *metrics_;
Manager *manager_;
GLib *glib_;
+ ActivatingIccidStore *activating_iccid_store_;
CellularOperatorInfo *cellular_operator_info_;
mobile_provider_db *provider_db_;
@@ -145,6 +151,7 @@
Metrics *metrics,
Manager *manager,
GLib *glib,
+ ActivatingIccidStore *activating_iccid_store,
CellularOperatorInfo *cellular_operator_info,
mobile_provider_db *provider_db);
@@ -179,6 +186,7 @@
Metrics *metrics,
Manager *manager,
GLib *glib,
+ ActivatingIccidStore *activating_iccid_store,
CellularOperatorInfo *cellular_operator_info,
mobile_provider_db *provider_db);