14e0402cbSShawn McCarney /** 24e0402cbSShawn McCarney * Copyright © 2021 IBM Corporation 34e0402cbSShawn McCarney * 44e0402cbSShawn McCarney * Licensed under the Apache License, Version 2.0 (the "License"); 54e0402cbSShawn McCarney * you may not use this file except in compliance with the License. 64e0402cbSShawn McCarney * You may obtain a copy of the License at 74e0402cbSShawn McCarney * 84e0402cbSShawn McCarney * http://www.apache.org/licenses/LICENSE-2.0 94e0402cbSShawn McCarney * 104e0402cbSShawn McCarney * Unless required by applicable law or agreed to in writing, software 114e0402cbSShawn McCarney * distributed under the License is distributed on an "AS IS" BASIS, 124e0402cbSShawn McCarney * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134e0402cbSShawn McCarney * See the License for the specific language governing permissions and 144e0402cbSShawn McCarney * limitations under the License. 154e0402cbSShawn McCarney */ 164e0402cbSShawn McCarney #pragma once 174e0402cbSShawn McCarney 184e0402cbSShawn McCarney #include "vpd.hpp" 194e0402cbSShawn McCarney 204e0402cbSShawn McCarney #include <gmock/gmock.h> 214e0402cbSShawn McCarney 224e0402cbSShawn McCarney namespace phosphor::power::regulators 234e0402cbSShawn McCarney { 244e0402cbSShawn McCarney 254e0402cbSShawn McCarney /** 264e0402cbSShawn McCarney * @class MockVPD 274e0402cbSShawn McCarney * 284e0402cbSShawn McCarney * Mock implementation of the VPD interface. 294e0402cbSShawn McCarney */ 304e0402cbSShawn McCarney class MockVPD : public VPD 314e0402cbSShawn McCarney { 324e0402cbSShawn McCarney public: 334e0402cbSShawn McCarney // Specify which compiler-generated methods we want 344e0402cbSShawn McCarney MockVPD() = default; 354e0402cbSShawn McCarney MockVPD(const MockVPD&) = delete; 364e0402cbSShawn McCarney MockVPD(MockVPD&&) = delete; 374e0402cbSShawn McCarney MockVPD& operator=(const MockVPD&) = delete; 384e0402cbSShawn McCarney MockVPD& operator=(MockVPD&&) = delete; 394e0402cbSShawn McCarney virtual ~MockVPD() = default; 404e0402cbSShawn McCarney 414e0402cbSShawn McCarney MOCK_METHOD(void, clearCache, (), (override)); 424e0402cbSShawn McCarney 43*aacc2aafSMatt Spinler MOCK_METHOD(std::vector<uint8_t>, getValue, 444e0402cbSShawn McCarney (const std::string& inventoryPath, const std::string& keyword), 454e0402cbSShawn McCarney (override)); 464e0402cbSShawn McCarney }; 474e0402cbSShawn McCarney 484e0402cbSShawn McCarney } // namespace phosphor::power::regulators 49