summaryrefslogtreecommitdiff
path: root/tests/test_swiftclient.py
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-03-22 10:00:47 +0000
committerGerrit Code Review <review@openstack.org>2013-03-22 10:00:47 +0000
commit4f57f815b3847c9f4a2edc20784a770b806f4045 (patch)
treeddac8e3539db128b35b5ca867b954ee874ad44eb /tests/test_swiftclient.py
parent42fa4568f1f973bc8992b705f749cf0bdc6e56ed (diff)
parentd90b768e509e41a2ab4f8d26b1093fd329167102 (diff)
downloadpython-swiftclient-4f57f815b3847c9f4a2edc20784a770b806f4045.tar.gz
Merge "Enhance put_object to inform when chunk is ignored"
Diffstat (limited to 'tests/test_swiftclient.py')
-rw-r--r--tests/test_swiftclient.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/test_swiftclient.py b/tests/test_swiftclient.py
index 8f147f8..8e4289e 100644
--- a/tests/test_swiftclient.py
+++ b/tests/test_swiftclient.py
@@ -17,6 +17,7 @@
import socket
import StringIO
import testtools
+import warnings
from urlparse import urlparse
# TODO: mock http connection class with more control over headers
@@ -472,6 +473,26 @@ class TestPutObject(MockHttpTest):
self.assertTrue("a-b: .x:yz mn:fg:lp" in resp.buffer[0],
"[a-b: .x:yz mn:fg:lp] header is missing")
+ def test_chunk_warning(self):
+ conn = c.http_connection('http://www.test.com/')
+ file = StringIO.StringIO('asdf')
+ args = ('asdf', 'asdf', 'asdf', 'asdf', file)
+ resp = MockHttpResponse()
+ conn[1].getresponse = resp.fake_response
+ conn[1].send = resp.fake_send
+ with warnings.catch_warnings(record=True) as w:
+ c.put_object(*args, chunk_size=20, headers={}, http_conn=conn)
+ self.assertEquals(len(w), 0)
+
+ body = 'c' * 60
+ c.http_connection = self.fake_http_connection(200, body=body)
+ args = ('http://www.test.com', 'asdf', 'asdf', 'asdf', 'asdf')
+ with warnings.catch_warnings(record=True) as w:
+ c.put_object(*args, chunk_size=20)
+ self.assertEquals(len(w), 1)
+ self.assertTrue(issubclass(w[-1].category, UserWarning))
+
+
def test_server_error(self):
body = 'c' * 60
c.http_connection = self.fake_http_connection(500, body=body)