1906cc3f3SShawn McCarney /** 2906cc3f3SShawn McCarney * Copyright © 2024 IBM Corporation 3906cc3f3SShawn McCarney * 4906cc3f3SShawn McCarney * Licensed under the Apache License, Version 2.0 (the "License"); 5906cc3f3SShawn McCarney * you may not use this file except in compliance with the License. 6906cc3f3SShawn McCarney * You may obtain a copy of the License at 7906cc3f3SShawn McCarney * 8906cc3f3SShawn McCarney * http://www.apache.org/licenses/LICENSE-2.0 9906cc3f3SShawn McCarney * 10906cc3f3SShawn McCarney * Unless required by applicable law or agreed to in writing, software 11906cc3f3SShawn McCarney * distributed under the License is distributed on an "AS IS" BASIS, 12906cc3f3SShawn McCarney * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13906cc3f3SShawn McCarney * See the License for the specific language governing permissions and 14906cc3f3SShawn McCarney * limitations under the License. 15906cc3f3SShawn McCarney */ 16906cc3f3SShawn McCarney #pragma once 17906cc3f3SShawn McCarney 18906cc3f3SShawn McCarney #include "mock_pmbus.hpp" 19906cc3f3SShawn McCarney #include "services.hpp" 20906cc3f3SShawn McCarney 21906cc3f3SShawn McCarney #include <gmock/gmock.h> 22906cc3f3SShawn McCarney 23906cc3f3SShawn McCarney namespace phosphor::power::sequencer 24906cc3f3SShawn McCarney { 25906cc3f3SShawn McCarney 2624956598SShawn McCarney using MockPMBus = phosphor::pmbus::MockPMBus; 2724956598SShawn McCarney 28906cc3f3SShawn McCarney /** 29906cc3f3SShawn McCarney * @class MockServices 30906cc3f3SShawn McCarney * 31906cc3f3SShawn McCarney * Mock implementation of the Services interface. 32906cc3f3SShawn McCarney */ 33906cc3f3SShawn McCarney class MockServices : public Services 34906cc3f3SShawn McCarney { 35906cc3f3SShawn McCarney public: 36906cc3f3SShawn McCarney // Specify which compiler-generated methods we want 37906cc3f3SShawn McCarney MockServices() = default; 38906cc3f3SShawn McCarney MockServices(const MockServices&) = delete; 39906cc3f3SShawn McCarney MockServices(MockServices&&) = delete; 40906cc3f3SShawn McCarney MockServices& operator=(const MockServices&) = delete; 41906cc3f3SShawn McCarney MockServices& operator=(MockServices&&) = delete; 42906cc3f3SShawn McCarney virtual ~MockServices() = default; 43906cc3f3SShawn McCarney 44906cc3f3SShawn McCarney MOCK_METHOD(sdbusplus::bus_t&, getBus, (), (override)); 45906cc3f3SShawn McCarney MOCK_METHOD(void, logErrorMsg, (const std::string& message), (override)); 46906cc3f3SShawn McCarney MOCK_METHOD(void, logInfoMsg, (const std::string& message), (override)); 47906cc3f3SShawn McCarney MOCK_METHOD(void, logError, 48906cc3f3SShawn McCarney (const std::string& message, Entry::Level severity, 49e4fef0fcSShawn McCarney (std::map<std::string, std::string> & additionalData)), 50906cc3f3SShawn McCarney (override)); 51906cc3f3SShawn McCarney MOCK_METHOD(bool, isPresent, (const std::string& inventoryPath), 52906cc3f3SShawn McCarney (override)); 53906cc3f3SShawn McCarney MOCK_METHOD(std::vector<int>, getGPIOValues, (const std::string& chipLabel), 54906cc3f3SShawn McCarney (override)); 55906cc3f3SShawn McCarney createPMBus(uint8_t,uint16_t,const std::string &,size_t)56*92261f88SPatrick Williams virtual std::unique_ptr<PMBusBase> createPMBus( 57*92261f88SPatrick Williams uint8_t, uint16_t, const std::string&, size_t) override 58906cc3f3SShawn McCarney { 59906cc3f3SShawn McCarney return std::make_unique<MockPMBus>(); 60906cc3f3SShawn McCarney } 61e4fef0fcSShawn McCarney 623a11d632SShawn McCarney MOCK_METHOD(void, createBMCDump, (), (override)); 63e4fef0fcSShawn McCarney MOCK_METHOD(void, clearCache, (), (override)); 64906cc3f3SShawn McCarney }; 65906cc3f3SShawn McCarney 66906cc3f3SShawn McCarney } // namespace phosphor::power::sequencer 67