test: firmware verificationPending: commit
Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I535b767c1e479ac676418cb41c03318c9b8683a6
diff --git a/test/firmware_state_verificationpending_unittest.cpp b/test/firmware_state_verificationpending_unittest.cpp
index 155252e..6b9b308 100644
--- a/test/firmware_state_verificationpending_unittest.cpp
+++ b/test/firmware_state_verificationpending_unittest.cpp
@@ -176,6 +176,23 @@
}
/*
+ * commit(session)
+ */
+TEST_F(FirmwareHandlerVerificationPendingTest,
+ CommitOnVerifyBlobTriggersVerificationAndStateTransition)
+{
+ getToVerificationPending(staticLayoutBlobId);
+ EXPECT_TRUE(handler->open(session, flags, verifyBlobId));
+ EXPECT_CALL(*verifyMockPtr, triggerVerification()).WillOnce(Return(true));
+
+ EXPECT_TRUE(handler->commit(session, {}));
+
+ auto realHandler = dynamic_cast<FirmwareBlobHandler*>(handler.get());
+ EXPECT_EQ(FirmwareBlobHandler::UpdateState::verificationStarted,
+ realHandler->getCurrentState());
+}
+
+/*
* stat(session) - in this state, you can only open(verifyBlobId) without
* changing state.
*/
@@ -189,9 +206,6 @@
/*
* read(session)
*/
-/*
- * commit(session)
- */
} // namespace
} // namespace ipmi_flash