xref: /openbmc/smbios-mdr/src/smbios-ipmi-blobs/test/handler_open_unittest.cpp (revision fbe1b68c96f88a9f9b64ab1cb68757402ab10b77)
1*fbe1b68cSJie Yang #include "handler_unittest.hpp"
2*fbe1b68cSJie Yang 
3*fbe1b68cSJie Yang #include <blobs-ipmid/blobs.hpp>
4*fbe1b68cSJie Yang 
5*fbe1b68cSJie Yang #include <cstdint>
6*fbe1b68cSJie Yang 
7*fbe1b68cSJie Yang namespace blobs
8*fbe1b68cSJie Yang {
9*fbe1b68cSJie Yang 
10*fbe1b68cSJie Yang class SmbiosBlobHandlerOpenTest : public SmbiosBlobHandlerTest
11*fbe1b68cSJie Yang {};
12*fbe1b68cSJie Yang 
TEST_F(SmbiosBlobHandlerOpenTest,OpenWithBadFlagsFails)13*fbe1b68cSJie Yang TEST_F(SmbiosBlobHandlerOpenTest, OpenWithBadFlagsFails)
14*fbe1b68cSJie Yang {
15*fbe1b68cSJie Yang     // SMBIOS blob handler disables read flag
16*fbe1b68cSJie Yang 
17*fbe1b68cSJie Yang     EXPECT_FALSE(handler.open(session, blobs::OpenFlags::read, expectedBlobId));
18*fbe1b68cSJie Yang }
19*fbe1b68cSJie Yang 
TEST_F(SmbiosBlobHandlerOpenTest,OpenEverythingSucceeds)20*fbe1b68cSJie Yang TEST_F(SmbiosBlobHandlerOpenTest, OpenEverythingSucceeds)
21*fbe1b68cSJie Yang {
22*fbe1b68cSJie Yang     EXPECT_TRUE(handler.open(session, blobs::OpenFlags::write, expectedBlobId));
23*fbe1b68cSJie Yang }
24*fbe1b68cSJie Yang 
TEST_F(SmbiosBlobHandlerOpenTest,CannotOpenSameSessionTwice)25*fbe1b68cSJie Yang TEST_F(SmbiosBlobHandlerOpenTest, CannotOpenSameSessionTwice)
26*fbe1b68cSJie Yang {
27*fbe1b68cSJie Yang     EXPECT_TRUE(handler.open(session, blobs::OpenFlags::write, expectedBlobId));
28*fbe1b68cSJie Yang     EXPECT_FALSE(
29*fbe1b68cSJie Yang         handler.open(session, blobs::OpenFlags::write, expectedBlobId));
30*fbe1b68cSJie Yang }
31*fbe1b68cSJie Yang 
32*fbe1b68cSJie Yang } // namespace blobs
33