1 #include "flags.hpp" 2 #include "image_mock.hpp" 3 #include "triggerable_mock.hpp" 4 #include "util.hpp" 5 #include "version_handler.hpp" 6 7 #include <array> 8 #include <string> 9 #include <vector> 10 11 #include <gtest/gtest.h> 12 13 namespace ipmi_flash 14 { 15 TEST(VersionHandlerCanHandleTest, VerifyGoodInfoMap) 16 { 17 VersionInfoMap test; 18 std::array blobNames{"blob0", "blob1", "blob2", "blob3"}; 19 for (const auto& blobName : blobNames) 20 { 21 test.try_emplace(blobName, 22 VersionInfoPack(blobName, 23 std::make_unique<VersionActionPack>( 24 CreateTriggerMock()), 25 CreateImageMock())); 26 } 27 auto handler = VersionBlobHandler::create(std::move(test)); 28 ASSERT_NE(handler, nullptr); 29 for (const auto& blobName : blobNames) 30 { 31 EXPECT_TRUE(handler->canHandleBlob(blobName)); 32 } 33 } 34 35 TEST(VersionHandlerEnumerateTest, VerifyGoodInfoMap) 36 { 37 VersionInfoMap test; 38 std::vector<std::string> blobNames{"blob0", "blob1", "blob2", "blob3"}; 39 for (const auto& blobName : blobNames) 40 { 41 test.try_emplace(blobName, 42 VersionInfoPack(blobName, 43 std::make_unique<VersionActionPack>( 44 CreateTriggerMock()), 45 CreateImageMock())); 46 } 47 auto handler = VersionBlobHandler::create(std::move(test)); 48 ASSERT_NE(handler, nullptr); 49 EXPECT_THAT(handler->getBlobIds(), 50 ::testing::UnorderedElementsAreArray(blobNames)); 51 } 52 } // namespace ipmi_flash 53