|  | #include "helper.hpp" | 
|  |  | 
|  | #include <ipmid/api-types.hpp> | 
|  | #include <optional> | 
|  | #include <span> | 
|  | #include <tuple> | 
|  | #include <utility> | 
|  | #include <vector> | 
|  |  | 
|  | #include <gtest/gtest.h> | 
|  |  | 
|  | namespace blobs | 
|  | { | 
|  | std::vector<std::uint8_t> | 
|  | validateReply(ipmi::RspType<std::vector<uint8_t>> reply, bool hasData) | 
|  | { | 
|  | // Reply is in the form of | 
|  | // std::tuple<ipmi::Cc, std::optional<std::tuple<RetTypes...>>> | 
|  | EXPECT_EQ(::ipmi::ccSuccess, std::get<0>(reply)); | 
|  |  | 
|  | auto actualReply = std::get<1>(reply); | 
|  | EXPECT_TRUE(actualReply.has_value()); | 
|  |  | 
|  | auto data = std::get<0>(*actualReply); | 
|  | EXPECT_EQ(hasData, !data.empty()); | 
|  |  | 
|  | return hasData ? data : std::vector<uint8_t>{}; | 
|  | } | 
|  |  | 
|  | } // namespace blobs |