xref: /openbmc/telemetry/tests/src/mocks/report_mock.hpp (revision 2f9f9b875ad61666b1308a94fa700ae6e9d5ed1e)
1*2f9f9b87SWludzik, Jozef #pragma once
2*2f9f9b87SWludzik, Jozef 
3*2f9f9b87SWludzik, Jozef #include "interfaces/report.hpp"
4*2f9f9b87SWludzik, Jozef 
5*2f9f9b87SWludzik, Jozef #include <gmock/gmock.h>
6*2f9f9b87SWludzik, Jozef 
7*2f9f9b87SWludzik, Jozef class ReportMock : public interfaces::Report
8*2f9f9b87SWludzik, Jozef {
9*2f9f9b87SWludzik, Jozef   public:
10*2f9f9b87SWludzik, Jozef     ReportMock(std::string reportName)
11*2f9f9b87SWludzik, Jozef     {
12*2f9f9b87SWludzik, Jozef         using namespace testing;
13*2f9f9b87SWludzik, Jozef 
14*2f9f9b87SWludzik, Jozef         ON_CALL(*this, getName).WillByDefault([reportName] {
15*2f9f9b87SWludzik, Jozef             return reportName;
16*2f9f9b87SWludzik, Jozef         });
17*2f9f9b87SWludzik, Jozef         ON_CALL(*this, getPath).WillByDefault([reportName] {
18*2f9f9b87SWludzik, Jozef             return "/" + reportName;
19*2f9f9b87SWludzik, Jozef         });
20*2f9f9b87SWludzik, Jozef 
21*2f9f9b87SWludzik, Jozef         EXPECT_CALL(*this, getPath).Times(AnyNumber());
22*2f9f9b87SWludzik, Jozef         EXPECT_CALL(*this, getName).Times(AnyNumber());
23*2f9f9b87SWludzik, Jozef         EXPECT_CALL(*this, Die).Times(AnyNumber());
24*2f9f9b87SWludzik, Jozef     }
25*2f9f9b87SWludzik, Jozef 
26*2f9f9b87SWludzik, Jozef     virtual ~ReportMock()
27*2f9f9b87SWludzik, Jozef     {
28*2f9f9b87SWludzik, Jozef         Die();
29*2f9f9b87SWludzik, Jozef     }
30*2f9f9b87SWludzik, Jozef 
31*2f9f9b87SWludzik, Jozef     MOCK_METHOD(std::string, getName, (), (override, const));
32*2f9f9b87SWludzik, Jozef     MOCK_METHOD(std::string, getPath, (), (override, const));
33*2f9f9b87SWludzik, Jozef     MOCK_METHOD(void, Die, ());
34*2f9f9b87SWludzik, Jozef };
35