bmc: firmware updateStarted: stat(session)

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I3d34f52aacbb004bccf18748c8f8cd591dbb0490
diff --git a/test/firmware_state_updatestarted_unittest.cpp b/test/firmware_state_updatestarted_unittest.cpp
index 8638953..e2348e4 100644
--- a/test/firmware_state_updatestarted_unittest.cpp
+++ b/test/firmware_state_updatestarted_unittest.cpp
@@ -157,6 +157,59 @@
 /*
  * stat(session) - this will trigger a check, and the state may change.
  */
+TEST_F(FirmwareHandlerUpdateStartedTest,
+       CallStatChecksUpdateStatusReturnsRunningDoesNotChangeState)
+{
+    getToUpdateStarted();
+    EXPECT_CALL(*updateMockPtr, status())
+        .WillOnce(Return(UpdateStatus::running));
+
+    blobs::BlobMeta meta, expectedMeta = {};
+    expectedMeta.size = 0;
+    expectedMeta.blobState = flags | blobs::StateFlags::committing;
+    expectedMeta.metadata.push_back(
+        static_cast<std::uint8_t>(UpdateStatus::running));
+
+    EXPECT_TRUE(handler->stat(session, &meta));
+    EXPECT_EQ(expectedMeta, meta);
+    expectedState(FirmwareBlobHandler::UpdateState::updateStarted);
+}
+
+TEST_F(FirmwareHandlerUpdateStartedTest,
+       CallStatChecksUpdateStatusReturnsFailedChangesStateToCompleted)
+{
+    getToUpdateStarted();
+    EXPECT_CALL(*updateMockPtr, status())
+        .WillOnce(Return(UpdateStatus::failed));
+
+    blobs::BlobMeta meta, expectedMeta = {};
+    expectedMeta.size = 0;
+    expectedMeta.blobState = flags | blobs::StateFlags::commit_error;
+    expectedMeta.metadata.push_back(
+        static_cast<std::uint8_t>(UpdateStatus::failed));
+
+    EXPECT_TRUE(handler->stat(session, &meta));
+    EXPECT_EQ(expectedMeta, meta);
+    expectedState(FirmwareBlobHandler::UpdateState::updateCompleted);
+}
+
+TEST_F(FirmwareHandlerUpdateStartedTest,
+       CallStatChecksUpdateStatusReturnsSuccessChangesStateToCompleted)
+{
+    getToUpdateStarted();
+    EXPECT_CALL(*updateMockPtr, status())
+        .WillOnce(Return(UpdateStatus::success));
+
+    blobs::BlobMeta meta, expectedMeta = {};
+    expectedMeta.size = 0;
+    expectedMeta.blobState = flags | blobs::StateFlags::committed;
+    expectedMeta.metadata.push_back(
+        static_cast<std::uint8_t>(UpdateStatus::success));
+
+    EXPECT_TRUE(handler->stat(session, &meta));
+    EXPECT_EQ(expectedMeta, meta);
+    expectedState(FirmwareBlobHandler::UpdateState::updateCompleted);
+}
 
 /*
  * TODO: close(session) - this will abort.
diff --git a/test/firmware_state_verificationcompleted_unittest.cpp b/test/firmware_state_verificationcompleted_unittest.cpp
index f36427d..3c9f34d 100644
--- a/test/firmware_state_verificationcompleted_unittest.cpp
+++ b/test/firmware_state_verificationcompleted_unittest.cpp
@@ -151,7 +151,7 @@
      * until it's completed.
      */
     getToVerificationCompleted(VerifyCheckResponses::success);
-    EXPECT_CALL(*verifyMockPtr, checkVerificationState()).Times(0);
+    EXPECT_CALL(*verifyMockPtr, status()).Times(0);
 
     blobs::BlobMeta meta, expectedMeta = {};
     expectedMeta.size = 0;
@@ -168,7 +168,7 @@
        SessionStatOnVerifyAfterFailureDoesNothing)
 {
     getToVerificationCompleted(VerifyCheckResponses::failed);
-    EXPECT_CALL(*verifyMockPtr, checkVerificationState()).Times(0);
+    EXPECT_CALL(*verifyMockPtr, status()).Times(0);
 
     blobs::BlobMeta meta, expectedMeta = {};
     expectedMeta.size = 0;
diff --git a/test/firmware_state_verificationpending_unittest.cpp b/test/firmware_state_verificationpending_unittest.cpp
index 4452f17..b96ecb3 100644
--- a/test/firmware_state_verificationpending_unittest.cpp
+++ b/test/firmware_state_verificationpending_unittest.cpp
@@ -210,7 +210,7 @@
     getToVerificationPending(staticLayoutBlobId);
     EXPECT_TRUE(handler->open(session, flags, verifyBlobId));
     EXPECT_CALL(*verifyMockPtr, triggerVerification()).Times(0);
-    EXPECT_CALL(*verifyMockPtr, checkVerificationState()).Times(0);
+    EXPECT_CALL(*verifyMockPtr, status()).Times(0);
 
     blobs::BlobMeta meta, expectedMeta = {};
     expectedMeta.size = 0;
diff --git a/test/firmware_state_verificationstarted_unittest.cpp b/test/firmware_state_verificationstarted_unittest.cpp
index 9072ab9..e031fe3 100644
--- a/test/firmware_state_verificationstarted_unittest.cpp
+++ b/test/firmware_state_verificationstarted_unittest.cpp
@@ -70,7 +70,7 @@
        StatOnVerifyBlobIdAfterCommitChecksStateAndReturnsRunning)
 {
     getToVerificationStarted(staticLayoutBlobId);
-    EXPECT_CALL(*verifyMockPtr, checkVerificationState())
+    EXPECT_CALL(*verifyMockPtr, status())
         .WillOnce(Return(VerifyCheckResponses::running));
 
     blobs::BlobMeta meta, expectedMeta = {};
@@ -87,7 +87,7 @@
        StatOnVerifyBlobIdAfterCommitChecksStateAndReturnsOther)
 {
     getToVerificationStarted(staticLayoutBlobId);
-    EXPECT_CALL(*verifyMockPtr, checkVerificationState())
+    EXPECT_CALL(*verifyMockPtr, status())
         .WillOnce(Return(VerifyCheckResponses::other));
 
     blobs::BlobMeta meta, expectedMeta = {};
@@ -107,7 +107,7 @@
      * commit_error and transitions to verificationCompleted.
      */
     getToVerificationStarted(staticLayoutBlobId);
-    EXPECT_CALL(*verifyMockPtr, checkVerificationState())
+    EXPECT_CALL(*verifyMockPtr, status())
         .WillOnce(Return(VerifyCheckResponses::failed));
 
     blobs::BlobMeta meta, expectedMeta = {};
@@ -128,7 +128,7 @@
      * committed and transitions to verificationCompleted.
      */
     getToVerificationStarted(staticLayoutBlobId);
-    EXPECT_CALL(*verifyMockPtr, checkVerificationState())
+    EXPECT_CALL(*verifyMockPtr, status())
         .WillOnce(Return(VerifyCheckResponses::success));
 
     blobs::BlobMeta meta, expectedMeta = {};
diff --git a/test/firmware_unittest.hpp b/test/firmware_unittest.hpp
index d49e9f5..d077818 100644
--- a/test/firmware_unittest.hpp
+++ b/test/firmware_unittest.hpp
@@ -79,8 +79,7 @@
     {
         getToVerificationStarted(staticLayoutBlobId);
 
-        EXPECT_CALL(*verifyMockPtr, checkVerificationState())
-            .WillOnce(Return(checkResponse));
+        EXPECT_CALL(*verifyMockPtr, status()).WillOnce(Return(checkResponse));
         blobs::BlobMeta meta;
         EXPECT_TRUE(handler->stat(session, &meta));
         expectedState(FirmwareBlobHandler::UpdateState::verificationCompleted);
diff --git a/test/verification_mock.hpp b/test/verification_mock.hpp
index e027f00..b3071ef 100644
--- a/test/verification_mock.hpp
+++ b/test/verification_mock.hpp
@@ -16,7 +16,7 @@
   public:
     MOCK_METHOD0(triggerVerification, bool());
     MOCK_METHOD0(abortVerification, void());
-    MOCK_METHOD0(checkVerificationState, VerifyCheckResponses());
+    MOCK_METHOD0(status, VerifyCheckResponses());
 };
 
 std::unique_ptr<VerificationInterface> CreateVerifyMock()