diff --git a/http_fetcher_unittest.cc b/http_fetcher_unittest.cc
index f7dad8e..d096267 100644
--- a/http_fetcher_unittest.cc
+++ b/http_fetcher_unittest.cc
@@ -161,6 +161,7 @@
     memcpy(str, bytes, length);
   }
   virtual void TransferComplete(HttpFetcher* fetcher, bool successful) {
+    EXPECT_EQ(200, fetcher->http_response_code());
     g_main_loop_quit(loop_);
   }
   GMainLoop* loop_;
@@ -332,6 +333,7 @@
 
     g_main_loop_run(loop);
     g_source_destroy(timeout_source_);
+    EXPECT_EQ(0, fetcher->http_response_code());
   }
   g_main_loop_unref(loop);
 }
@@ -345,6 +347,7 @@
   }
   virtual void TransferComplete(HttpFetcher* fetcher, bool successful) {
     EXPECT_TRUE(successful);
+    EXPECT_EQ(206, fetcher->http_response_code());
     g_main_loop_quit(loop_);
   }
   string data;
@@ -398,6 +401,7 @@
   }
   virtual void TransferComplete(HttpFetcher* fetcher, bool successful) {
     EXPECT_FALSE(successful);
+    EXPECT_EQ(0, fetcher->http_response_code());
     g_main_loop_quit(loop_);
   }
   GMainLoop* loop_;
@@ -466,6 +470,12 @@
   }
   virtual void TransferComplete(HttpFetcher* fetcher, bool successful) {
     EXPECT_EQ(expected_successful_, successful);
+    if (expected_successful_)
+      EXPECT_EQ(200, fetcher->http_response_code());
+    else {
+      EXPECT_GE(fetcher->http_response_code(), 301);
+      EXPECT_LE(fetcher->http_response_code(), 307);
+    }
     g_main_loop_quit(loop_);
   }
   bool expected_successful_;
