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