blob: b08cd5e3f41d2a6186552a704423ae8f475e3e59 [file] [log] [blame]
Steve Foreman4f0d1de2021-09-20 14:06:32 -07001// Copyright 2022 Google LLC
Willy Tua2056e92021-10-10 13:36:16 -07002//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
Patrick Venturef085d912019-03-15 08:50:00 -070015#pragma once
16
17#include "handler.hpp"
18
Gaurav Gandhid455bfd2024-01-29 22:32:27 -080019#include <ipmid/message.hpp>
20
Patrick Venture40e8ace2020-08-12 20:44:43 -070021#include <cstddef>
22#include <cstdint>
23#include <string>
Steve Foreman4f0d1de2021-09-20 14:06:32 -070024#include <string_view>
Patrick Venture40e8ace2020-08-12 20:44:43 -070025#include <tuple>
26
Patrick Venturef085d912019-03-15 08:50:00 -070027#include <gmock/gmock.h>
28
29namespace google
30{
31namespace ipmi
32{
33
34class HandlerMock : public HandlerInterface
35{
Patrick Venturef085d912019-03-15 08:50:00 -070036 public:
37 ~HandlerMock() = default;
38
Willy Tucad9eb82021-10-10 14:08:39 -070039 MOCK_METHOD((std::tuple<std::uint8_t, std::string>), getEthDetails,
40 (std::string), (const, override));
41 MOCK_METHOD(std::int64_t, getRxPackets, (const std::string&),
42 (const, override));
43 MOCK_METHOD(
44 (std::tuple<std::uint8_t, std::uint8_t, std::uint8_t, std::uint8_t>),
45 getCpldVersion, (unsigned int), (const, override));
46
47 MOCK_METHOD(void, psuResetDelay, (std::uint32_t), (const, override));
48 MOCK_METHOD(void, psuResetOnShutdown, (), (const, override));
49 MOCK_METHOD(std::uint32_t, getFlashSize, (), (override));
50 MOCK_METHOD(std::string, getEntityName, (std::uint8_t, std::uint8_t),
51 (override));
52 MOCK_METHOD(std::string, getMachineName, (), (override));
53 MOCK_METHOD(void, buildI2cPcieMapping, (), (override));
54 MOCK_METHOD(size_t, getI2cPcieMappingSize, (), (const, override));
55 MOCK_METHOD((std::tuple<std::uint32_t, std::string>), getI2cEntry,
56 (unsigned int), (const, override));
57 MOCK_METHOD(void, hostPowerOffDelay, (std::uint32_t), (const, override));
Steve Foreman4f0d1de2021-09-20 14:06:32 -070058
59 MOCK_METHOD(uint32_t, accelOobDeviceCount, (), (const, override));
60 MOCK_METHOD(std::string, accelOobDeviceName, (size_t), (const, override));
61 MOCK_METHOD(uint64_t, accelOobRead, (std::string_view, uint64_t, uint8_t),
62 (const, override));
63 MOCK_METHOD(void, accelOobWrite,
64 (std::string_view, uint64_t, uint8_t, uint64_t),
65 (const, override));
Willy Tu6c71b0f2021-10-10 13:34:41 -070066 MOCK_METHOD(std::vector<uint8_t>, pcieBifurcation, (uint8_t), (override));
Nikhil Namjoshi5e70dc82022-09-16 00:36:07 +000067 MOCK_METHOD(uint8_t, getBmcMode, (), (override));
John Wediga92d0e62023-06-29 10:43:47 -070068 MOCK_METHOD(void, linuxBootDone, (), (const, override));
Gaurav Gandhid455bfd2024-01-29 22:32:27 -080069 MOCK_METHOD(void, accelSetVrSettings,
70 (::ipmi::Context::ptr, uint8_t, uint8_t, uint16_t),
71 (const, override));
72 MOCK_METHOD(uint16_t, accelGetVrSettings,
73 (::ipmi::Context::ptr, uint8_t, uint8_t), (const, override));
Brandon Kim559cb012024-05-03 09:12:07 +000074 MOCK_METHOD(std::string, getBMInstanceProperty, (uint8_t),
75 (const, override));
Patrick Venturef085d912019-03-15 08:50:00 -070076};
77
78} // namespace ipmi
79} // namespace google