From 7db6aeb19b4411a70bbbc6e8a5a0c54b9b7d33e9 Mon Sep 17 00:00:00 2001 From: Vincent Coubard Date: Mon, 19 Feb 2018 18:00:03 +0000 Subject: [PATCH] BLE: Add mock and stub for ConnectionEventMonitor. --- features/FEATURE_BLE/tests/CMakeLists.txt | 1 + .../mock/MockConnectionEventMonitor.cpp | 35 +++++++++++++ .../mock/MockConnectionEventMonitor.h | 45 +++++++++++++++++ .../stub/StubConnectionEventMonitor.h | 49 +++++++++++++++++++ 4 files changed, 130 insertions(+) create mode 100644 features/FEATURE_BLE/tests/generic/SecurityManager/mock/MockConnectionEventMonitor.cpp create mode 100644 features/FEATURE_BLE/tests/generic/SecurityManager/mock/MockConnectionEventMonitor.h create mode 100644 features/FEATURE_BLE/tests/generic/SecurityManager/stub/StubConnectionEventMonitor.h diff --git a/features/FEATURE_BLE/tests/CMakeLists.txt b/features/FEATURE_BLE/tests/CMakeLists.txt index 8774040100..7064526a87 100644 --- a/features/FEATURE_BLE/tests/CMakeLists.txt +++ b/features/FEATURE_BLE/tests/CMakeLists.txt @@ -94,6 +94,7 @@ add_executable(security-manager-tests mbed_os_stub/mbed_assert.c generic/SecurityManager/mock/MockPalSecurityManager.cpp generic/SecurityManager/mock/MockPalSecurityDb.cpp + generic/SecurityManager/mock/MockConnectionEventMonitor.cpp ${PROJECT_SOURCE_DIR}/../source/generic/GenericSecurityManager.cpp ) diff --git a/features/FEATURE_BLE/tests/generic/SecurityManager/mock/MockConnectionEventMonitor.cpp b/features/FEATURE_BLE/tests/generic/SecurityManager/mock/MockConnectionEventMonitor.cpp new file mode 100644 index 0000000000..507e6f2cbe --- /dev/null +++ b/features/FEATURE_BLE/tests/generic/SecurityManager/mock/MockConnectionEventMonitor.cpp @@ -0,0 +1,35 @@ +/* mbed Microcontroller Library + * Copyright (c) 2018 ARM Limited + * + * 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. + */ + +#include "MockConnectionEventMonitor.h" + +namespace ble { +namespace pal { +namespace vendor { +namespace mock { + +//////////////////////////////////////////////////////////////////////////////// +// Constructor implementation of the mocked pal connection event monitor +// +// WARNING: Do not remove; it speedup compile time. + +MockPalConnectionEventMonitor::MockPalConnectionEventMonitor() { } +MockPalConnectionEventMonitor::~MockPalConnectionEventMonitor() { } + +} // namespace ble +} // namespace pal +} // namespace vendor +} // namespace mock diff --git a/features/FEATURE_BLE/tests/generic/SecurityManager/mock/MockConnectionEventMonitor.h b/features/FEATURE_BLE/tests/generic/SecurityManager/mock/MockConnectionEventMonitor.h new file mode 100644 index 0000000000..dd1d82246e --- /dev/null +++ b/features/FEATURE_BLE/tests/generic/SecurityManager/mock/MockConnectionEventMonitor.h @@ -0,0 +1,45 @@ +/* mbed Microcontroller Library + * Copyright (c) 2018 ARM Limited + * + * 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. + */ + +#ifndef TESTS_GENERIC_SECURITYMANAGER_MOCK_MOCKPALCONENCTIONEVENTMONITOR_H_ +#define TESTS_GENERIC_SECURITYMANAGER_MOCK_MOCKPALCONENCTIONEVENTMONITOR_H_ + +#include "gmock/gmock.h" +#include "ble/pal/ConnectionEventMonitor.h" + +namespace ble { +namespace pal { +namespace vendor { +namespace mock { + +/* + * Mock of ble::pal::ConnectionEventMonitor + */ +class MockPalConnectionEventMonitor : public ble::pal::ConnectionEventMonitor { +public: + MockPalConnectionEventMonitor(); + + virtual ~MockPalConnectionEventMonitor(); + + MOCK_METHOD1(set_connection_event_handler, void(ConnectionEventHandler *)); +}; + +} // namespace ble +} // namespace pal +} // namespace vendor +} // namespace mock + +#endif /* TESTS_GENERIC_SECURITYMANAGER_MOCK_MOCKPALCONENCTIONEVENTMONITOR_H_ */ diff --git a/features/FEATURE_BLE/tests/generic/SecurityManager/stub/StubConnectionEventMonitor.h b/features/FEATURE_BLE/tests/generic/SecurityManager/stub/StubConnectionEventMonitor.h new file mode 100644 index 0000000000..21ba308308 --- /dev/null +++ b/features/FEATURE_BLE/tests/generic/SecurityManager/stub/StubConnectionEventMonitor.h @@ -0,0 +1,49 @@ +/* mbed Microcontroller Library + * Copyright (c) 2018 ARM Limited + * + * 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. + */ + +#ifndef TESTS_GENERIC_SECURITYMANAGER_MOCK_STUBCONNECTIONEVENTMONITOR_H_ +#define TESTS_GENERIC_SECURITYMANAGER_MOCK_STUBCONNECTIONEVENTMONITOR_H_ + +#include "gmock/gmock.h" +#include "ble/pal/ConnectionEventMonitor.h" + +namespace ble { +namespace pal { +namespace vendor { +namespace mock { + +/* + * Stub of ble::pal::ConnectionEventMonitor + */ +struct StubPalConnectionEventMonitor : public ble::pal::ConnectionEventMonitor { + StubPalConnectionEventMonitor() : event_handler(nullptr) { } + + virtual ~StubPalConnectionEventMonitor() { } + + void set_connection_event_handler(pal::ConnectionEventHandler *connection_event_handler) + { + event_handler = connection_event_handler; + } + + pal::ConnectionEventHandler *event_handler; +}; + +} // namespace mock +} // namespace vendor +} // namespace pal +} // namespace ble + +#endif /* TESTS_GENERIC_SECURITYMANAGER_MOCK_STUBCONNECTIONEVENTMONITOR_H_ */