diff --git a/tests/test_http.py b/tests/test_http.py
index c727c6a2..7fd42e0d 100644
--- a/tests/test_http.py
+++ b/tests/test_http.py
@@ -15,12 +15,14 @@
 
 import httplib
 import socket
+import StringIO
 import unittest
 
 import mox
 
 from glanceclient import exc
 from glanceclient.common import http
+from tests import utils
 
 
 class TestClient(unittest.TestCase):
@@ -53,3 +55,11 @@ class TestClient(unittest.TestCase):
             self.assertTrue(endpoint in comm_err.message, fail_msg)
         finally:
             m.UnsetStubs()
+
+
+class TestResponseBodyIterator(unittest.TestCase):
+    def test_iter_default_chunk_size_64k(self):
+        resp = utils.FakeResponse({}, StringIO.StringIO('X' * 98304))
+        iterator = http.ResponseBodyIterator(resp)
+        chunks = list(iterator)
+        self.assertEqual(chunks, ['X' * 65536, 'X' * 32768])
diff --git a/tests/utils.py b/tests/utils.py
index 95a0f0a9..3727b423 100644
--- a/tests/utils.py
+++ b/tests/utils.py
@@ -40,11 +40,19 @@ class FakeAPI(object):
 
 
 class FakeResponse(object):
-    def __init__(self, headers):
+    def __init__(self, headers, body=None):
+        """
+        :param headers: dict representing HTTP response headers
+        :param body: file-like object
+        """
         self.headers = headers
+        self.body = body
 
     def getheaders(self):
         return copy.deepcopy(self.headers).items()
 
     def getheader(self, key, default):
         return self.headers.get(key, default)
+
+    def read(self, amt):
+        return self.body.read(amt)