summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorPatrick Venture <venture@google.com>2019-05-03 17:21:30 -0700
committerPatrick Venture <venture@google.com>2019-05-06 09:53:18 -0700
commit16a99a62d1946ef65175b34614e6037ce55a7d11 (patch)
treed3614b5ec141528f6e04103dd5adda4ca7705f4e /test
parent972547697e45b813891712b6c11111889a0a32d0 (diff)
downloadipmi-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.cpp30
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. */
OpenPOWER on IntegriCloud