summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-03-02 11:15:11 +0000
committerGerrit Code Review <review@openstack.org>2016-03-02 11:15:11 +0000
commitc023893dd33c7c790829d37631fe229bff939425 (patch)
tree6cd437dd010228327c926da27a412e738050d532
parentcd3a4dbf0adce0b7a6779755caaf36a0e983e5fb (diff)
parentb7d20b8a1899897e560d378b624163cf1ee1d299 (diff)
downloadpython-swiftclient-c023893dd33c7c790829d37631fe229bff939425.tar.gz
Merge "download method shouldn't download all object"
-rw-r--r--swiftclient/service.py2
-rw-r--r--tests/unit/test_service.py16
2 files changed, 17 insertions, 1 deletions
diff --git a/swiftclient/service.py b/swiftclient/service.py
index 5fa2870..f253ec8 100644
--- a/swiftclient/service.py
+++ b/swiftclient/service.py
@@ -1004,7 +1004,7 @@ class SwiftService(object):
raise
raise SwiftError('Account not found', exc=err)
- elif not objects:
+ elif objects is None:
if '/' in container:
raise SwiftError('\'/\' in container name',
container=container)
diff --git a/tests/unit/test_service.py b/tests/unit/test_service.py
index 997d992..418ee85 100644
--- a/tests/unit/test_service.py
+++ b/tests/unit/test_service.py
@@ -1672,6 +1672,22 @@ class TestServiceDownload(_TestServiceBase):
self.assertEqual(resp['object'], 'test')
self.assertEqual(resp['path'], 'test')
+ @mock.patch('swiftclient.service.interruptable_as_completed')
+ @mock.patch('swiftclient.service.SwiftService._download_container')
+ @mock.patch('swiftclient.service.SwiftService._download_object_job')
+ def test_download_with_objects_empty(self, mock_down_obj,
+ mock_down_cont, mock_as_comp):
+ fake_future = Future()
+ fake_future.set_result(1)
+ mock_as_comp.return_value = [fake_future]
+ service = SwiftService()
+ next(service.download('c', [], self.opts), None)
+ mock_down_obj.assert_not_called()
+ mock_down_cont.assert_not_called()
+
+ next(service.download('c', options=self.opts), None)
+ self.assertEqual(True, mock_down_cont.called)
+
def test_download_with_output_dir(self):
service = SwiftService()
with mock.patch('swiftclient.service.Connection') as mock_conn: