diff options
author | Patrick Venture <venture@google.com> | 2019-05-03 17:21:30 -0700 |
---|---|---|
committer | Patrick Venture <venture@google.com> | 2019-05-06 09:53:18 -0700 |
commit | 16a99a62d1946ef65175b34614e6037ce55a7d11 (patch) | |
tree | d3614b5ec141528f6e04103dd5adda4ca7705f4e /test | |
parent | 972547697e45b813891712b6c11111889a0a32d0 (diff) | |
download | ipmi-blob-tool-16a99a62d1946ef65175b34614e6037ce55a7d11.tar.gz ipmi-blob-tool-16a99a62d1946ef65175b34614e6037ce55a7d11.zip |
implement session stat command
Implement the session stat command.
Change-Id: I1ff715dd32d963722182db84b475bc9adbfcc7ea
Signed-off-by: Patrick Venture <venture@google.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/tools_blob_unittest.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
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<std::uint8_t> request = { + 0xcf, 0xc2, 0x00, BlobHandler::BlobOEMCommands::bmcBlobSessionStat, + 0x00, 0x00, 0x01, 0x00}; + + /* return blob_state: 0xffff, size: 0x00, metadata 0x3445 */ + std::vector<std::uint8_t> resp = {0xcf, 0xc2, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00}; + + std::vector<std::uint8_t> reqCrc = {0x01, 0x00}; + std::vector<std::uint8_t> 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<std::uint8_t> metadata = {}; + EXPECT_EQ(metadata, meta.metadata); +} + TEST_F(BlobHandlerTest, openBlobSucceeds) { /* The open blob succeeds. */ |