summaryrefslogtreecommitdiff
path: root/tests/unit/test_swiftclient.py
diff options
context:
space:
mode:
authorTim Burke <tim.burke@gmail.com>2015-05-21 22:44:36 -0700
committerTim Burke <tim.burke@gmail.com>2016-08-30 15:38:55 -0700
commitf728027bed59d08a6491ae9c14d2f5968f8d6fa3 (patch)
tree5dad1390ace6471f55d2c017a151e424db1e3d18 /tests/unit/test_swiftclient.py
parent20e0c515bf23841015102fb72d61ab18c826c036 (diff)
downloadpython-swiftclient-f728027bed59d08a6491ae9c14d2f5968f8d6fa3.tar.gz
Accept gzip-encoded API responses
Previously, we would accept gzip-encoded responses, but only because we were letting requests decode *all* responses (even object data). This restores the previous capability, but with tighter controls about which requests will accept gzipped responses and where the decoding happens. Change-Id: I4fd8b97207b9ab01b1bcf825cc16efd8ad46344a Related-Bug: 1282861 Related-Bug: 1338464
Diffstat (limited to 'tests/unit/test_swiftclient.py')
-rw-r--r--tests/unit/test_swiftclient.py21
1 files changed, 18 insertions, 3 deletions
diff --git a/tests/unit/test_swiftclient.py b/tests/unit/test_swiftclient.py
index 0095447..da43510 100644
--- a/tests/unit/test_swiftclient.py
+++ b/tests/unit/test_swiftclient.py
@@ -581,6 +581,7 @@ class TestGetAccount(MockHttpTest):
self.assertEqual(value, [])
self.assertRequests([
('GET', '/v1/acct?format=json', '', {
+ 'accept-encoding': 'gzip',
'x-auth-token': 'asdf'}),
])
@@ -591,6 +592,7 @@ class TestGetAccount(MockHttpTest):
c.get_account('http://www.test.com/v1/acct', 'asdf', marker='marker')
self.assertRequests([
('GET', '/v1/acct?format=json&marker=marker', '', {
+ 'accept-encoding': 'gzip',
'x-auth-token': 'asdf'}),
])
@@ -601,6 +603,7 @@ class TestGetAccount(MockHttpTest):
c.get_account('http://www.test.com/v1/acct', 'asdf', limit=10)
self.assertRequests([
('GET', '/v1/acct?format=json&limit=10', '', {
+ 'accept-encoding': 'gzip',
'x-auth-token': 'asdf'}),
])
@@ -611,6 +614,7 @@ class TestGetAccount(MockHttpTest):
c.get_account('http://www.test.com/v1/acct', 'asdf', prefix='asdf/')
self.assertRequests([
('GET', '/v1/acct?format=json&prefix=asdf/', '', {
+ 'accept-encoding': 'gzip',
'x-auth-token': 'asdf'}),
])
@@ -622,6 +626,7 @@ class TestGetAccount(MockHttpTest):
end_marker='end_marker')
self.assertRequests([
('GET', '/v1/acct?format=json&end_marker=end_marker', '', {
+ 'accept-encoding': 'gzip',
'x-auth-token': 'asdf'}),
])
@@ -700,6 +705,7 @@ class TestGetContainer(MockHttpTest):
self.assertEqual(value, [])
self.assertRequests([
('GET', '/v1/acct/container?format=json', '', {
+ 'accept-encoding': 'gzip',
'x-auth-token': 'token'}),
])
@@ -711,6 +717,7 @@ class TestGetContainer(MockHttpTest):
marker='marker')
self.assertRequests([
('GET', '/v1/acct/container?format=json&marker=marker', '', {
+ 'accept-encoding': 'gzip',
'x-auth-token': 'token'}),
])
@@ -722,6 +729,7 @@ class TestGetContainer(MockHttpTest):
limit=10)
self.assertRequests([
('GET', '/v1/acct/container?format=json&limit=10', '', {
+ 'accept-encoding': 'gzip',
'x-auth-token': 'token'}),
])
@@ -733,6 +741,7 @@ class TestGetContainer(MockHttpTest):
prefix='asdf/')
self.assertRequests([
('GET', '/v1/acct/container?format=json&prefix=asdf/', '', {
+ 'accept-encoding': 'gzip',
'x-auth-token': 'token'}),
])
@@ -744,6 +753,7 @@ class TestGetContainer(MockHttpTest):
delimiter='/')
self.assertRequests([
('GET', '/v1/acct/container?format=json&delimiter=/', '', {
+ 'accept-encoding': 'gzip',
'x-auth-token': 'token'}),
])
@@ -755,7 +765,7 @@ class TestGetContainer(MockHttpTest):
end_marker='end_marker')
self.assertRequests([
('GET', '/v1/acct/container?format=json&end_marker=end_marker',
- '', {'x-auth-token': 'token'}),
+ '', {'x-auth-token': 'token', 'accept-encoding': 'gzip'}),
])
def test_param_path(self):
@@ -766,6 +776,7 @@ class TestGetContainer(MockHttpTest):
path='asdf')
self.assertRequests([
('GET', '/v1/acct/container?format=json&path=asdf', '', {
+ 'accept-encoding': 'gzip',
'x-auth-token': 'token'}),
])
@@ -780,6 +791,7 @@ class TestGetContainer(MockHttpTest):
('GET', '/container?format=json', '', {
'x-auth-token': 'TOKEN',
'x-client-key': 'client key',
+ 'accept-encoding': 'gzip',
}),
])
@@ -790,6 +802,7 @@ class TestGetContainer(MockHttpTest):
query_string="hello=20")
self.assertRequests([
('GET', '/asdf?format=json&hello=20', '', {
+ 'accept-encoding': 'gzip',
'x-auth-token': 'asdf'}),
])
@@ -1583,7 +1596,7 @@ class TestGetCapabilities(MockHttpTest):
http_conn = conn('http://www.test.com/info')
info = c.get_capabilities(http_conn)
self.assertRequests([
- ('GET', '/info', '', {}),
+ ('GET', '/info', '', {'Accept-Encoding': 'gzip'}),
])
self.assertEqual(info, {})
self.assertTrue(http_conn[1].resp.has_been_read)
@@ -1619,7 +1632,8 @@ class TestGetCapabilities(MockHttpTest):
('GET', '/auth/v1.0', '', {
'x-auth-user': 'user',
'x-auth-key': 'key'}),
- ('GET', 'http://storage.example.com/info', '', {}),
+ ('GET', 'http://storage.example.com/info', '', {
+ 'accept-encoding': 'gzip'}),
])
def test_conn_get_capabilities_with_os_auth(self):
@@ -2341,6 +2355,7 @@ class TestConnection(MockHttpTest):
('GET', '/v1/a/c1?format=json&limit=5&prefix=p', '', {
'x-auth-token': 'token',
'X-Favourite-Pet': 'Aardvark',
+ 'accept-encoding': 'gzip',
}),
])
self.assertEqual(conn.attempts, 1)