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