Merge "L2CAP: Add LE Module mock"
diff --git a/gd/l2cap/le/l2cap_le_module.cc b/gd/l2cap/le/l2cap_le_module.cc
index 781843d..4959547 100644
--- a/gd/l2cap/le/l2cap_le_module.cc
+++ b/gd/l2cap/le/l2cap_le_module.cc
@@ -48,6 +48,9 @@
                                       &parameter_provider_};
 };
 
+L2capLeModule::L2capLeModule() {}
+L2capLeModule::~L2capLeModule() {}
+
 void L2capLeModule::ListDependencies(ModuleList* list) {
   list->add<hci::AclManager>();
 }
@@ -71,4 +74,4 @@
 
 }  // namespace le
 }  // namespace l2cap
-}  // namespace bluetooth
\ No newline at end of file
+}  // namespace bluetooth
diff --git a/gd/l2cap/le/l2cap_le_module.h b/gd/l2cap/le/l2cap_le_module.h
index 3ee6acf..4ed3d9f 100644
--- a/gd/l2cap/le/l2cap_le_module.h
+++ b/gd/l2cap/le/l2cap_le_module.h
@@ -26,13 +26,13 @@
 
 class L2capLeModule : public bluetooth::Module {
  public:
-  L2capLeModule() = default;
-  ~L2capLeModule() = default;
+  L2capLeModule();
+  virtual ~L2capLeModule();
 
   /**
    * Get the api to the LE fixed channel l2cap module
    */
-  std::unique_ptr<FixedChannelManager> GetFixedChannelManager();
+  virtual std::unique_ptr<FixedChannelManager> GetFixedChannelManager();
 
   static const ModuleFactory Factory;
 
@@ -53,4 +53,4 @@
 
 }  // namespace le
 }  // namespace l2cap
-}  // namespace bluetooth
\ No newline at end of file
+}  // namespace bluetooth
diff --git a/gd/l2cap/le/l2cap_le_module_mock.h b/gd/l2cap/le/l2cap_le_module_mock.h
new file mode 100644
index 0000000..897ddb0
--- /dev/null
+++ b/gd/l2cap/le/l2cap_le_module_mock.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#pragma once
+
+#include "l2cap/le/l2cap_le_module.h"
+
+#include <gmock/gmock.h>
+
+// Unit test interfaces
+namespace bluetooth {
+namespace l2cap {
+namespace le {
+namespace testing {
+
+class MockL2capLeModule : public L2capLeModule {
+ public:
+  MOCK_METHOD(std::unique_ptr<FixedChannelManager>, GetFixedChannelManager, (), (override));
+};
+
+}  // namespace testing
+}  // namespace le
+}  // namespace l2cap
+}  // namespace bluetooth