1 #include "utils.hpp" 2 3 #include <gmock/gmock.h> 4 5 namespace utils 6 { 7 8 class MockedUtils : public UtilsInterface 9 { 10 public: 11 virtual ~MockedUtils() = default; 12 13 MOCK_CONST_METHOD1(getPSUInventoryPath, 14 std::vector<std::string>(sdbusplus::bus::bus& bus)); 15 16 MOCK_CONST_METHOD3(getService, 17 std::string(sdbusplus::bus::bus& bus, const char* path, 18 const char* interface)); 19 20 MOCK_CONST_METHOD3(getServices, 21 std::vector<std::string>(sdbusplus::bus::bus& bus, 22 const char* path, 23 const char* interface)); 24 25 MOCK_CONST_METHOD1(getVersionId, std::string(const std::string& version)); 26 27 MOCK_CONST_METHOD1(getVersion, 28 std::string(const std::string& psuInventoryPath)); 29 30 MOCK_CONST_METHOD1(getLatestVersion, 31 std::string(const std::set<std::string>& versions)); 32 33 MOCK_CONST_METHOD5(getPropertyImpl, 34 any(sdbusplus::bus::bus& bus, const char* service, 35 const char* path, const char* interface, 36 const char* propertyName)); 37 }; 38 39 static std::unique_ptr<MockedUtils> utils; 40 inline const UtilsInterface& getUtils() 41 { 42 if (!utils) 43 { 44 utils = std::make_unique<MockedUtils>(); 45 } 46 return *utils; 47 } 48 49 inline void freeUtils() 50 { 51 utils.reset(); 52 } 53 54 } // namespace utils 55