shill: vpn: Start a basic L2TP/IPSec VPN driver class skeleton.

BUG=chromium-os:26837
TEST=unit tests

Change-Id: Id61bd10e3c3c36f5a76d8b0d6f2533cc59fcf72e
Reviewed-on: https://gerrit.chromium.org/gerrit/20063
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>
Commit-Ready: Darin Petkov <petkov@chromium.org>
diff --git a/l2tp_ipsec_driver_unittest.cc b/l2tp_ipsec_driver_unittest.cc
new file mode 100644
index 0000000..07606d0
--- /dev/null
+++ b/l2tp_ipsec_driver_unittest.cc
@@ -0,0 +1,42 @@
+// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "shill/l2tp_ipsec_driver.h"
+
+#include <gtest/gtest.h>
+
+#include "shill/event_dispatcher.h"
+#include "shill/nice_mock_control.h"
+#include "shill/mock_glib.h"
+#include "shill/mock_manager.h"
+#include "shill/mock_metrics.h"
+#include "shill/mock_vpn_service.h"
+
+namespace shill {
+
+class L2TPIPSecDriverTest : public testing::Test {
+ public:
+  L2TPIPSecDriverTest()
+      : manager_(&control_, &dispatcher_, &metrics_, &glib_),
+        driver_(new L2TPIPSecDriver()),
+        service_(new MockVPNService(&control_, &dispatcher_, &metrics_,
+                                    &manager_, driver_)) {}
+
+  virtual ~L2TPIPSecDriverTest() {}
+
+ protected:
+  NiceMockControl control_;
+  EventDispatcher dispatcher_;
+  MockMetrics metrics_;
+  MockGLib glib_;
+  MockManager manager_;
+  L2TPIPSecDriver *driver_;  // Owned by |service_|.
+  scoped_refptr<MockVPNService> service_;
+};
+
+TEST_F(L2TPIPSecDriverTest, GetProviderType) {
+  EXPECT_EQ(flimflam::kProviderL2tpIpsec, driver_->GetProviderType());
+}
+
+}  // namespace shill