From 16a99a62d1946ef65175b34614e6037ce55a7d11 Mon Sep 17 00:00:00 2001 From: Patrick Venture Date: Fri, 3 May 2019 17:21:30 -0700 Subject: implement session stat command Implement the session stat command. Change-Id: I1ff715dd32d963722182db84b475bc9adbfcc7ea Signed-off-by: Patrick Venture --- test/tools_blob_unittest.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'test') diff --git a/test/tools_blob_unittest.cpp b/test/tools_blob_unittest.cpp index e958630..74614a7 100644 --- a/test/tools_blob_unittest.cpp +++ b/test/tools_blob_unittest.cpp @@ -188,6 +188,36 @@ TEST_F(BlobHandlerTest, getStatNoMetadata) EXPECT_EQ(metadata, meta.metadata); } +TEST_F(BlobHandlerTest, getSessionStatNoMetadata) +{ + /* The get session stat succeeds. */ + IpmiInterfaceMock ipmiMock; + BlobHandler blob(&ipmiMock); + + std::vector request = { + 0xcf, 0xc2, 0x00, BlobHandler::BlobOEMCommands::bmcBlobSessionStat, + 0x00, 0x00, 0x01, 0x00}; + + /* return blob_state: 0xffff, size: 0x00, metadata 0x3445 */ + std::vector resp = {0xcf, 0xc2, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}; + + std::vector reqCrc = {0x01, 0x00}; + std::vector respCrc = {0xff, 0xff, 0x00, 0x00, + 0x00, 0x00, 0x00}; + + EXPECT_CALL(crcMock, generateCrc(Eq(reqCrc))).WillOnce(Return(0x00)); + EXPECT_CALL(crcMock, generateCrc(Eq(respCrc))).WillOnce(Return(0x00)); + + EXPECT_CALL(ipmiMock, sendPacket(Eq(request))).WillOnce(Return(resp)); + + auto meta = blob.getStat(0x0001); + EXPECT_EQ(meta.blob_state, 0xffff); + EXPECT_EQ(meta.size, 0x00); + std::vector metadata = {}; + EXPECT_EQ(metadata, meta.metadata); +} + TEST_F(BlobHandlerTest, openBlobSucceeds) { /* The open blob succeeds. */ -- cgit v1.2.1