Remove indirection task for creating a modem object.

Creating a modem object causes a DBus call (to register the object on
the bus).  This used to cause a deadlock, but ers fixed the deadlock,
so now we don't need the indirection.

BUG=chromium-os:27936
TEST=creates a cromo modem

Change-Id: I226248001989781c6098cc620b30584aabb59e4c
Reviewed-on: https://gerrit.chromium.org/gerrit/18399
Reviewed-by: Eric Shienbrood <ers@chromium.org>
Tested-by: David Rochberg <rochberg@chromium.org>
Commit-Ready: David Rochberg <rochberg@chromium.org>
diff --git a/modem_manager_unittest.cc b/modem_manager_unittest.cc
index d48f4f3..22ba368 100644
--- a/modem_manager_unittest.cc
+++ b/modem_manager_unittest.cc
@@ -22,6 +22,7 @@
 using std::vector;
 using testing::_;
 using testing::Invoke;
+using testing::Pointee;
 using testing::Return;
 using testing::StrEq;
 using testing::Test;
@@ -164,6 +165,26 @@
   EXPECT_EQ(0, modem_manager_.modems_.size());
 }
 
+class ModemManagerClassicMockInit : public ModemManagerClassic {
+ public:
+  ModemManagerClassicMockInit(const string &service,
+                              const string &path,
+                              ControlInterface *control_interface,
+                              EventDispatcher *dispatcher,
+                              Metrics *metrics,
+                              Manager *manager,
+                              GLib *glib,
+                              mobile_provider_db *provider_db) :
+      ModemManagerClassic(service,
+                          path,
+                          control_interface,
+                          dispatcher,
+                          metrics,
+                          manager,
+                          glib,
+                          provider_db) {}
+  MOCK_METHOD1(InitModem, void(shared_ptr<Modem> modem));
+};
 
 class ModemManagerClassicTest : public ModemManagerTest {
  public:
@@ -205,7 +226,7 @@
     modem_manager_.proxy_factory_ = NULL;
   }
 
-  ModemManagerClassic modem_manager_;
+  ModemManagerClassicMockInit modem_manager_;
   scoped_ptr<MockModemManagerProxy> proxy_;
   TestProxyFactory proxy_factory_;
 };
@@ -216,6 +237,9 @@
   EXPECT_CALL(*proxy_, EnumerateDevices())
       .WillOnce(Return(vector<DBus::Path>(1, kModemPath)));
 
+  EXPECT_CALL(modem_manager_,
+              InitModem(Pointee(Field(&Modem::path_, StrEq(kModemPath)))));
+
   modem_manager_.Connect(kOwner);
   EXPECT_EQ(kOwner, modem_manager_.owner_);
   EXPECT_EQ(1, modem_manager_.modems_.size());