blob: c2a84a0563061d36769a0f0619993fbb740e5c12 [file] [log] [blame]
Matt Spinler09d64002019-09-11 14:29:46 -05001#include "extensions/openpower-pels/data_interface.hpp"
Matt Spinlerf60ac272019-12-11 13:47:50 -06002#include "extensions/openpower-pels/host_interface.hpp"
3
4#include <fcntl.h>
5
6#include <filesystem>
7#include <sdeventplus/source/io.hpp>
Matt Spinler09d64002019-09-11 14:29:46 -05008
9#include <gmock/gmock.h>
10
11namespace openpower
12{
13namespace pels
14{
15
16class MockDataInterface : public DataInterfaceBase
17{
18 public:
19 MockDataInterface()
20 {
21 }
Matt Spinlerf60ac272019-12-11 13:47:50 -060022 MOCK_METHOD(std::string, getMachineTypeModel, (), (const override));
23 MOCK_METHOD(std::string, getMachineSerialNumber, (), (const override));
24 MOCK_METHOD(std::string, getServerFWVersion, (), (const override));
25 MOCK_METHOD(std::string, getBMCFWVersion, (), (const override));
26
27 void changeHostState(bool newState)
28 {
29 setHostState(newState);
30 }
31
32 void setHMCManaged(bool managed)
33 {
34 _hmcManaged = managed;
35 }
36};
37
38/**
39 * @brief The mock HostInterface class
40 */
41class MockHostInterface : public HostInterface
42{
43 public:
44 MockHostInterface(sd_event* event, DataInterfaceBase& dataIface) :
45 HostInterface(event, dataIface)
46 {
47 }
48
49 virtual ~MockHostInterface()
50 {
51 }
52
53 virtual void cancelCmd() override
54 {
55 }
56
57 MOCK_METHOD(CmdStatus, sendNewLogCmd, (uint32_t, uint32_t), (override));
58
59 protected:
60 void receive(sdeventplus::source::IO& source, int fd,
61 uint32_t events) override
62 {
63 // Keep account of the number of commands responses for testing.
64 _cmdsProcessed++;
65 }
66
67 private:
68 size_t _cmdsProcessed = 0;
Matt Spinler09d64002019-09-11 14:29:46 -050069};
70
71} // namespace pels
72} // namespace openpower