Newer
Older
mbed-os / UNITTESTS / fakes / ble / SecurityManagerImpl_mock.h
/* mbed Microcontroller Library
 * Copyright (c) 2020 ARM Limited
 * SPDX-License-Identifier: Apache-2.0
 * 
 * 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 SECURITYMANAGERMOCK_H
#define SECURITYMANAGERMOCK_H

#include "gmock/gmock.h"
#include "source/generic/SecurityManagerImpl.h"

namespace ble {

class SecurityManagerMock : public ble::impl::SecurityManager {
public:
    SecurityManagerMock() {};
    SecurityManagerMock(const GattServerMock&) = delete;
    SecurityManagerMock& operator=(const GattServerMock&) = delete;
    virtual ~SecurityManagerMock() {};

    MOCK_METHOD(ble_error_t, reset, (), (override));
    MOCK_METHOD(ble_error_t, init, (bool enableBonding, bool requireMITM, SecurityIOCapabilities_t iocaps, const Passkey_t passkey, bool signing, const char *dbFilepath), (override));
    MOCK_METHOD(ble_error_t, setDatabaseFilepath, (const char *dbFilepath), (override));
    MOCK_METHOD(ble_error_t, preserveBondingStateOnReset, (bool enable), (override));
    MOCK_METHOD(ble_error_t, writeBondingStateToPersistentStorage, (), (override));
    MOCK_METHOD(ble_error_t, purgeAllBondingState, (), (override));
    MOCK_METHOD(ble_error_t, generateWhitelistFromBondTable, (::ble::whitelist_t *whitelist), (const, override));
    MOCK_METHOD(ble_error_t, requestPairing, (ble::connection_handle_t connectionHandle), (override));
    MOCK_METHOD(ble_error_t, acceptPairingRequest, (ble::connection_handle_t connectionHandle), (override));
    MOCK_METHOD(ble_error_t, cancelPairingRequest, (ble::connection_handle_t connectionHandle), (override));
    MOCK_METHOD(ble_error_t, setPairingRequestAuthorisation, (bool required), (override));
    MOCK_METHOD(ble_error_t, getPeerIdentity, (ble::connection_handle_t connectionHandle), (override));
    MOCK_METHOD(ble_error_t, allowLegacyPairing, (bool allow), (override));
    MOCK_METHOD(ble_error_t, getSecureConnectionsSupport, (bool *enabled), (override));
    MOCK_METHOD(ble_error_t, setIoCapability, (SecurityIOCapabilities_t iocaps), (override));
    MOCK_METHOD(ble_error_t, setDisplayPasskey, (const Passkey_t passkey), (override));
    MOCK_METHOD(ble_error_t, setLinkSecurity, (ble::connection_handle_t connectionHandle, SecurityMode_t securityMode), (override));
    MOCK_METHOD(ble_error_t, setKeypressNotification, (bool enabled), (override));
    MOCK_METHOD(ble_error_t, enableSigning, (ble::connection_handle_t connectionHandle, bool enabled), (override));
    MOCK_METHOD(ble_error_t, setHintFutureRoleReversal, (bool enable), (override));
    MOCK_METHOD(ble_error_t, getLinkEncryption, (ble::connection_handle_t connectionHandle, ble::link_encryption_t *encryption), (override));
    MOCK_METHOD(ble_error_t, setLinkEncryption, (ble::connection_handle_t connectionHandle, ble::link_encryption_t encryption), (override));
    MOCK_METHOD(ble_error_t, setEncryptionKeyRequirements, (uint8_t minimumByteSize, uint8_t maximumByteSize), (override));
    MOCK_METHOD(ble_error_t, getEncryptionKeySize, (connection_handle_t connectionHandle, uint8_t *size), (override));
    MOCK_METHOD(ble_error_t, requestAuthentication, (ble::connection_handle_t connectionHandle), (override));
    MOCK_METHOD(ble_error_t, generateOOB, (const ble::address_t *address), (override));
    MOCK_METHOD(ble_error_t, setOOBDataUsage, (ble::connection_handle_t connectionHandle, bool useOOB, bool OOBProvidesMITM), (override));
    MOCK_METHOD(ble_error_t, passkeyEntered, (ble::connection_handle_t connectionHandle, Passkey_t passkey), (override));
    MOCK_METHOD(ble_error_t, legacyPairingOobReceived, (const ble::address_t *address, const ble::oob_tk_t *tk), (override));
    MOCK_METHOD(ble_error_t, confirmationEntered, (ble::connection_handle_t connectionHandle, bool confirmation), (override));
    MOCK_METHOD(ble_error_t, sendKeypressNotification, (ble::connection_handle_t connectionHandle, ble::Keypress_t keypress), (override));
    MOCK_METHOD(ble_error_t, oobReceived, (const ble::address_t *address, const ble::oob_lesc_value_t *random, const ble::oob_confirm_t *confirm), (override));
    MOCK_METHOD(ble_error_t, getSigningKey, (ble::connection_handle_t connectionHandle, bool authenticated), (override));
    MOCK_METHOD(ble_error_t, setPrivateAddressTimeout, (uint16_t timeout_in_seconds), (override));
    MOCK_METHOD(void, onShutdown, (const SecurityManagerShutdownCallback_t &callback), (override));
    MOCK_METHOD(SecurityManagerShutdownCallbackChain_t&, onShutdown, (), (override));
    MOCK_METHOD(void, setSecurityManagerEventHandler, (EventHandler *handler), (override));
};

}

#endif //SECURITYMANAGERMOCK_H