bmc: firmware updateCompleted: close(session)
Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Ief314aeab74101cf57ad49abc4676037de1b312f
diff --git a/test/firmware_state_updatecompleted_unittest.cpp b/test/firmware_state_updatecompleted_unittest.cpp
index b86320b..3424e89 100644
--- a/test/firmware_state_updatecompleted_unittest.cpp
+++ b/test/firmware_state_updatecompleted_unittest.cpp
@@ -202,9 +202,38 @@
}
/*
+ * close(session) - closes everything out and returns to state not-yet-started.
+ * It doesn't go and clean out any update artifacts that may be present on the
+ * system. It's up to the update implementation to deal with this before
+ * marking complete.
+ */
+TEST_F(FirmwareHandlerUpdateCompletedTest,
+ ClosingOnUpdateBlobIdAfterSuccessReturnsToNotYetStartedAndCleansBlobList)
+{
+ getToUpdateCompleted(ActionStatus::success);
+
+ handler->close(session);
+ expectedState(FirmwareBlobHandler::UpdateState::notYetStarted);
+
+ std::vector<std::string> expected = {hashBlobId, staticLayoutBlobId};
+ EXPECT_THAT(handler->getBlobIds(), UnorderedElementsAreArray(expected));
+}
+
+TEST_F(FirmwareHandlerUpdateCompletedTest,
+ ClosingOnUpdateBlobIdAfterFailureReturnsToNotYetStartedAndCleansBlobList)
+{
+ getToUpdateCompleted(ActionStatus::failed);
+
+ handler->close(session);
+ expectedState(FirmwareBlobHandler::UpdateState::notYetStarted);
+
+ std::vector<std::string> expected = {hashBlobId, staticLayoutBlobId};
+ EXPECT_THAT(handler->getBlobIds(), UnorderedElementsAreArray(expected));
+}
+
+/*
* There are the following calls (parameters may vary):
- * deleteBlob(blob)
- * close(session)
+ * TODO: deleteBlob(blob)
*/
} // namespace