tools: implement firmware verification polling

The verification process is asynchronous, therefore poll the BMC
firmware state.

Tested: Verified it behaves as intended, before moving it into a
sub-routine:

Opening the verification file
Committing to verification file to trigger verification service
Calling stat on verification session to check status
stat received:
	blob_state: 0x206
	size: 0x0
	metadata(1): 0x3
	other
stat received:
	blob_state: 0x206
	size: 0x0
	metadata(1): 0x0
	running
stat received:
	blob_state: 0x206
	size: 0x0
	metadata(1): 0x0
	running
stat received:
	blob_state: 0x206
	size: 0x0
	metadata(1): 0x1
	success
stat received:
	blob_state: 0x206
	size: 0x0
	metadata(1): 0x1
	success

Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: I3cb13d1a966c2c833fd4fee5654332f34e80355a
diff --git a/test/tools_updater_unittest.cpp b/test/tools_updater_unittest.cpp
index 04720e0..805ce20 100644
--- a/test/tools_updater_unittest.cpp
+++ b/test/tools_updater_unittest.cpp
@@ -66,6 +66,15 @@
 
     EXPECT_CALL(blobMock, commit(Eq(session), _)).WillOnce(Return());
 
+    ipmiblob::StatResponse verificationResponse;
+    verificationResponse.blob_state = supported | blobs::StateFlags::committing;
+    verificationResponse.size = 0;
+    verificationResponse.metadata.push_back(static_cast<std::uint8_t>(
+        blobs::FirmwareBlobHandler::VerifyCheckResponses::success));
+
+    EXPECT_CALL(blobMock, getStat(TypedEq<std::uint16_t>(session)))
+        .WillOnce(Return(verificationResponse));
+
     updaterMain(&blobMock, &handlerMock, firmwareImage, signatureFile);
 }