blob: f413ac2b4074cb4f7ac0c26e72780adaa846f4f8 [file] [log] [blame]
// Copyright 2020 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef LIBEC_MOCK_EC_COMMAND_FACTORY_H_
#define LIBEC_MOCK_EC_COMMAND_FACTORY_H_
#include <array>
#include <memory>
#include <string>
#include <vector>
#include <gmock/gmock.h>
#include <libec/ec_command_factory.h>
namespace ec {
class MockEcCommandFactory : public ec::EcCommandFactoryInterface {
public:
MockEcCommandFactory() = default;
~MockEcCommandFactory() override = default;
MOCK_METHOD(std::unique_ptr<ec::EcCommandInterface>,
FpContextCommand,
(CrosFpDeviceInterface * cros_fp, const std::string& user_id),
(override));
MOCK_METHOD(std::unique_ptr<ec::FlashProtectCommand>,
FlashProtectCommand,
(CrosFpDeviceInterface * cros_fp,
flash_protect::Flags flags,
flash_protect::Flags mask),
(override));
MOCK_METHOD(std::unique_ptr<ec::FpInfoCommand>,
FpInfoCommand,
(),
(override));
MOCK_METHOD(std::unique_ptr<ec::FpSeedCommand>,
FpSeedCommand,
(const brillo::SecureVector& seed, uint16_t seed_version),
(override));
MOCK_METHOD(std::unique_ptr<ec::FpFrameCommand>,
FpFrameCommand,
(int index, uint32_t frame_size, uint16_t max_read_size),
(override));
MOCK_METHOD(std::unique_ptr<ec::FpTemplateCommand>,
FpTemplateCommand,
(std::vector<uint8_t> tmpl, uint16_t max_write_size),
(override));
MOCK_METHOD(std::unique_ptr<ec::FpUnlockTemplateCommand>,
FpUnlockTemplateCommand,
(uint16_t finger_num),
(override));
MOCK_METHOD(std::unique_ptr<ec::ChargeControlSetCommand>,
ChargeControlSetCommand,
(uint32_t mode, uint8_t lower, uint8_t upper),
(override));
MOCK_METHOD(std::unique_ptr<ec::ChargeCurrentLimitSetCommand>,
ChargeCurrentLimitSetCommand,
(uint32_t limit_mA),
(override));
MOCK_METHOD(std::unique_ptr<ec::DisplayStateOfChargeCommand>,
DisplayStateOfChargeCommand,
(),
(override));
MOCK_METHOD(std::unique_ptr<ec::FpGetNonceCommand>,
FpGetNonceCommand,
(),
(override));
MOCK_METHOD(std::unique_ptr<ec::FpSetNonceContextCommand>,
FpSetNonceContextCommand,
(const brillo::Blob& nonce,
const brillo::Blob& encrypted_user_id,
const brillo::Blob& iv),
(override));
MOCK_METHOD(std::unique_ptr<ec::FpReadMatchSecretWithPubkeyCommand>,
FpReadMatchSecretWithPubkeyCommand,
(uint16_t index,
const brillo::Blob& pk_in_x,
const brillo::Blob& pk_in_y),
(override));
MOCK_METHOD(std::unique_ptr<ec::FpPairingKeyKeygenCommand>,
FpPairingKeyKeygenCommand,
(),
(override));
MOCK_METHOD(std::unique_ptr<ec::FpPairingKeyLoadCommand>,
FpPairingKeyLoadCommand,
(const brillo::Blob& encrypted_pairing_key),
(override));
MOCK_METHOD(std::unique_ptr<ec::FpPairingKeyWrapCommand>,
FpPairingKeyWrapCommand,
(const brillo::Blob& pub_x,
const brillo::Blob& pub_y,
const brillo::Blob& encrypted_priv),
(override));
MOCK_METHOD(std::unique_ptr<ec::LedControlQueryCommand>,
LedControlQueryCommand,
(enum ec_led_id led_id),
(override));
MOCK_METHOD(std::unique_ptr<ec::LedControlSetCommand>,
LedControlSetCommand,
(enum ec_led_id led_id,
(std::array<uint8_t, EC_LED_COLOR_COUNT> brightness)),
(override));
MOCK_METHOD(std::unique_ptr<ec::LedControlAutoCommand>,
LedControlAutoCommand,
(enum ec_led_id led_id),
(override));
MOCK_METHOD(std::unique_ptr<ec::I2cReadCommand>,
I2cReadCommand,
(uint8_t port, uint8_t addr8, uint8_t offset, uint8_t read_len),
(override));
};
} // namespace ec
#endif // LIBEC_MOCK_EC_COMMAND_FACTORY_H_