diff --git a/mock_http_fetcher.cc b/mock_http_fetcher.cc
index 2e11865..eec550f 100644
--- a/mock_http_fetcher.cc
+++ b/mock_http_fetcher.cc
@@ -17,7 +17,11 @@
 }
 
 void MockHttpFetcher::BeginTransfer(const std::string& url) {
-  http_response_code_ = 0;
+  if (fail_transfer_ || data_.empty()) {
+    // No data to send, just notify of completion..
+    SignalTransferComplete();
+    return;
+  }
   if (sent_size_ < data_.size())
     SendData(true);
 }
@@ -26,6 +30,11 @@
 // and it needs to be deleted by the caller. If timeout_source_ is NULL
 // when this function is called, this function will always return true.
 bool MockHttpFetcher::SendData(bool skip_delivery) {
+  if (fail_transfer_) {
+    SignalTransferComplete();
+    return timeout_source_;
+  }
+
   CHECK_LT(sent_size_, data_.size());
   if (!skip_delivery) {
     const size_t chunk_size = min(kMockHttpFetcherChunkSize,
@@ -36,8 +45,7 @@
     CHECK_LE(sent_size_, data_.size());
     if (sent_size_ == data_.size()) {
       // We've sent all the data. Notify of success.
-      http_response_code_ = 200;
-      delegate_->TransferComplete(this, true);
+      SignalTransferComplete();
     }
   }
 
@@ -101,4 +109,18 @@
   }
 }
 
+void MockHttpFetcher::FailTransfer(int http_response_code) {
+  fail_transfer_ = true;
+  http_response_code_ = http_response_code;
+}
+
+void MockHttpFetcher::SignalTransferComplete() {
+  // If the transfer has been failed, the HTTP response code should be set
+  // already.
+  if (!fail_transfer_) {
+    http_response_code_ = 200;
+  }
+  delegate_->TransferComplete(this, !fail_transfer_);
+}
+
 }  // namespace chromeos_update_engine
