blob: 748b2128bab147fc17c99a58c2d89ffb9eff174b [file] [log] [blame]
Patrick Venture1361a122019-05-20 07:36:05 -07001#pragma once
2
Patrick Venture27ac5822019-05-20 17:39:31 -07003#include "bmc_update_mock.hpp"
Patrick Venture1361a122019-05-20 07:36:05 -07004#include "data_mock.hpp"
5#include "firmware_handler.hpp"
6#include "image_mock.hpp"
7#include "verification_mock.hpp"
8
9#include <memory>
10#include <vector>
11
12#include <gmock/gmock.h>
13#include <gtest/gtest.h>
14
Patrick Venture1d5a31c2019-05-20 11:38:22 -070015namespace ipmi_flash
Patrick Venture1361a122019-05-20 07:36:05 -070016{
17
18class IpmiOnlyFirmwareTest : public ::testing::Test
19{
20 protected:
21 ImageHandlerMock imageMock;
22 std::vector<HandlerPack> blobs;
23 std::vector<DataHandlerPack> data = {
24 {FirmwareBlobHandler::UpdateFlags::ipmi, nullptr}};
Patrick Venture1d5a31c2019-05-20 11:38:22 -070025 std::unique_ptr<blobs::GenericBlobInterface> handler;
Patrick Venture1361a122019-05-20 07:36:05 -070026
27 void SetUp() override
28 {
29 blobs = {
30 {hashBlobId, &imageMock},
31 {"asdf", &imageMock},
32 };
33 handler = FirmwareBlobHandler::CreateFirmwareBlobHandler(
Patrick Venture27ac5822019-05-20 17:39:31 -070034 blobs, data, CreateVerifyMock(), CreateUpdateMock());
Patrick Venture1361a122019-05-20 07:36:05 -070035 }
36};
37
38class FakeLpcFirmwareTest : public ::testing::Test
39{
40 protected:
41 DataHandlerMock dataMock;
42 ImageHandlerMock imageMock;
43 std::vector<HandlerPack> blobs;
44 std::vector<DataHandlerPack> data;
Patrick Venture1d5a31c2019-05-20 11:38:22 -070045 std::unique_ptr<blobs::GenericBlobInterface> handler;
Patrick Venture1361a122019-05-20 07:36:05 -070046
47 void SetUp() override
48 {
49 blobs = {
50 {hashBlobId, &imageMock},
51 {"asdf", &imageMock},
52 };
53 data = {
54 {FirmwareBlobHandler::UpdateFlags::ipmi, nullptr},
55 {FirmwareBlobHandler::UpdateFlags::lpc, &dataMock},
56 };
57 handler = FirmwareBlobHandler::CreateFirmwareBlobHandler(
Patrick Venture27ac5822019-05-20 17:39:31 -070058 blobs, data, CreateVerifyMock(), CreateUpdateMock());
Patrick Venture1361a122019-05-20 07:36:05 -070059 }
60};
61
Patrick Venture1d5a31c2019-05-20 11:38:22 -070062} // namespace ipmi_flash