summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-08-19 17:08:03 +0000
committerGerrit Code Review <review@openstack.org>2016-08-19 17:08:03 +0000
commit728b45d4a4573622d56bfb9ee45f6b152fce50a8 (patch)
tree50722050b0f4ab773dd27a2ffa9c0a579f84c078
parent9753355566640c8cd430ea9ebd2325056469eb26 (diff)
parent6263547a047bd0dfa60bcf2462b0adf5dc3ac020 (diff)
downloadglance_store-728b45d4a4573622d56bfb9ee45f6b152fce50a8.tar.gz
Merge "Fix header passed to requests"0.18.0
-rw-r--r--glance_store/_drivers/vmware_datastore.py2
-rw-r--r--glance_store/tests/unit/test_vmware_store.py10
2 files changed, 10 insertions, 2 deletions
diff --git a/glance_store/_drivers/vmware_datastore.py b/glance_store/_drivers/vmware_datastore.py
index 0c3c4d8..a996328 100644
--- a/glance_store/_drivers/vmware_datastore.py
+++ b/glance_store/_drivers/vmware_datastore.py
@@ -558,7 +558,7 @@ class Store(glance_store.Store):
image_file = _Reader(image_file, verifier)
headers = {}
if image_size > 0:
- headers.update({'Content-Length': image_size})
+ headers.update({'Content-Length': six.text_type(image_size)})
data = image_file
else:
data = utils.chunkiter(image_file, CHUNKSIZE)
diff --git a/glance_store/tests/unit/test_vmware_store.py b/glance_store/tests/unit/test_vmware_store.py
index 569309d..c77b9fd 100644
--- a/glance_store/tests/unit/test_vmware_store.py
+++ b/glance_store/tests/unit/test_vmware_store.py
@@ -131,10 +131,12 @@ class TestStore(base.StoreBaseTest,
HttpConn.return_value = utils.fake_response(status_code=404)
self.assertRaises(exceptions.NotFound, self.store.get, loc)
+ @mock.patch.object(vm_store.Store, '_build_vim_cookie_header')
@mock.patch.object(vm_store.Store, 'select_datastore')
@mock.patch.object(vm_store._Reader, 'size')
@mock.patch.object(api, 'VMwareAPISession')
- def test_add(self, fake_api_session, fake_size, fake_select_datastore):
+ def test_add(self, fake_api_session, fake_size, fake_select_datastore,
+ fake_cookie):
"""Test that we can add an image via the VMware backend."""
fake_select_datastore.return_value = self.store.datastores[0][0]
expected_image_id = str(uuid.uuid4())
@@ -143,6 +145,10 @@ class TestStore(base.StoreBaseTest,
hash_code = hashlib.md5(expected_contents)
expected_checksum = hash_code.hexdigest()
fake_size.__get__ = mock.Mock(return_value=expected_size)
+ expected_cookie = 'vmware_soap_session=fake-uuid'
+ fake_cookie.return_value = expected_cookie
+ expected_headers = {'Content-Length': six.text_type(expected_size),
+ 'Cookie': expected_cookie}
with mock.patch('hashlib.md5') as md5:
md5.return_value = hash_code
expected_location = format_location(
@@ -156,6 +162,8 @@ class TestStore(base.StoreBaseTest,
location, size, checksum, _ = self.store.add(expected_image_id,
image,
expected_size)
+ _, kwargs = HttpConn.call_args
+ self.assertEqual(expected_headers, kwargs['headers'])
self.assertEqual(utils.sort_url_by_qs_keys(expected_location),
utils.sort_url_by_qs_keys(location))
self.assertEqual(expected_size, size)