summaryrefslogtreecommitdiff
path: root/test/unit/common/middleware/s3api/test_multi_upload.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit/common/middleware/s3api/test_multi_upload.py')
-rw-r--r--test/unit/common/middleware/s3api/test_multi_upload.py35
1 files changed, 18 insertions, 17 deletions
diff --git a/test/unit/common/middleware/s3api/test_multi_upload.py b/test/unit/common/middleware/s3api/test_multi_upload.py
index 3a0dc4c1e..78c1b982e 100644
--- a/test/unit/common/middleware/s3api/test_multi_upload.py
+++ b/test/unit/common/middleware/s3api/test_multi_upload.py
@@ -15,7 +15,6 @@
import base64
import binascii
-import hashlib
from mock import patch
import os
import time
@@ -24,7 +23,7 @@ from six.moves.urllib.parse import quote, quote_plus
from swift.common import swob
from swift.common.swob import Request
-from swift.common.utils import json
+from swift.common.utils import json, md5
from test.unit import FakeMemcache, patch_policies
from test.unit.common.middleware.s3api import S3ApiTestCase
@@ -70,9 +69,9 @@ MULTIPARTS_TEMPLATE = \
('subdir/object/Z/2', '2014-05-07T19:47:58.592270', 'fedcba9876543210',
41))
-S3_ETAG = '"%s-2"' % hashlib.md5(binascii.a2b_hex(
+S3_ETAG = '"%s-2"' % md5(binascii.a2b_hex(
'0123456789abcdef0123456789abcdef'
- 'fedcba9876543210fedcba9876543210')).hexdigest()
+ 'fedcba9876543210fedcba9876543210'), usedforsecurity=False).hexdigest()
class TestS3ApiMultiUpload(S3ApiTestCase):
@@ -826,8 +825,8 @@ class TestS3ApiMultiUpload(S3ApiTestCase):
self.assertEqual(self._get_error_code(body), 'NoSuchBucket')
def test_object_multipart_upload_complete(self):
- content_md5 = base64.b64encode(hashlib.md5(
- XML.encode('ascii')).digest())
+ content_md5 = base64.b64encode(md5(
+ XML.encode('ascii'), usedforsecurity=False).digest())
req = Request.blank('/bucket/object?uploadId=X',
environ={'REQUEST_METHOD': 'POST'},
headers={'Authorization': 'AWS test:tester:hmac',
@@ -863,8 +862,8 @@ class TestS3ApiMultiUpload(S3ApiTestCase):
self.assertEqual(headers.get('X-Object-Sysmeta-S3Api-Upload-Id'), 'X')
def test_object_multipart_upload_retry_complete(self):
- content_md5 = base64.b64encode(hashlib.md5(
- XML.encode('ascii')).digest())
+ content_md5 = base64.b64encode(md5(
+ XML.encode('ascii'), usedforsecurity=False).digest())
self.swift.register('HEAD', '/v1/AUTH_test/bucket+segments/object/X',
swob.HTTPNotFound, {}, None)
recent_ts = S3Timestamp.now(delta=-1000000).internal # 10s ago
@@ -899,8 +898,8 @@ class TestS3ApiMultiUpload(S3ApiTestCase):
])
def test_object_multipart_upload_retry_complete_etag_mismatch(self):
- content_md5 = base64.b64encode(hashlib.md5(
- XML.encode('ascii')).digest())
+ content_md5 = base64.b64encode(md5(
+ XML.encode('ascii'), usedforsecurity=False).digest())
self.swift.register('HEAD', '/v1/AUTH_test/bucket+segments/object/X',
swob.HTTPNotFound, {}, None)
recent_ts = S3Timestamp.now(delta=-1000000).internal
@@ -948,8 +947,8 @@ class TestS3ApiMultiUpload(S3ApiTestCase):
self.assertEqual(headers.get('X-Object-Sysmeta-S3Api-Upload-Id'), 'X')
def test_object_multipart_upload_retry_complete_upload_id_mismatch(self):
- content_md5 = base64.b64encode(hashlib.md5(
- XML.encode('ascii')).digest())
+ content_md5 = base64.b64encode(md5(
+ XML.encode('ascii'), usedforsecurity=False).digest())
self.swift.register('HEAD', '/v1/AUTH_test/bucket+segments/object/X',
swob.HTTPNotFound, {}, None)
recent_ts = S3Timestamp.now(delta=-1000000).internal
@@ -982,8 +981,9 @@ class TestS3ApiMultiUpload(S3ApiTestCase):
])
def test_object_multipart_upload_invalid_md5(self):
- bad_md5 = base64.b64encode(hashlib.md5(
- XML.encode('ascii') + b'some junk').digest())
+ bad_md5 = base64.b64encode(md5(
+ XML.encode('ascii') + b'some junk', usedforsecurity=False)
+ .digest())
req = Request.blank('/bucket/object?uploadId=X',
environ={'REQUEST_METHOD': 'POST'},
headers={'Authorization': 'AWS test:tester:hmac',
@@ -1413,8 +1413,9 @@ class TestS3ApiMultiUpload(S3ApiTestCase):
self.assertEqual(status.split()[0], '200')
elem = fromstring(body, 'CompleteMultipartUploadResult')
self.assertNotIn('Etag', headers)
- expected_etag = '"%s-3"' % hashlib.md5(binascii.unhexlify(''.join(
- x['hash'] for x in object_list))).hexdigest()
+ expected_etag = ('"%s-3"' % md5(binascii.unhexlify(''.join(
+ x['hash'] for x in object_list)), usedforsecurity=False)
+ .hexdigest())
self.assertEqual(elem.find('ETag').text, expected_etag)
self.assertEqual(self.swift.calls, [
@@ -2217,7 +2218,7 @@ class TestS3ApiMultiUpload(S3ApiTestCase):
def _test_no_body(self, use_content_length=False,
use_transfer_encoding=False, string_to_md5=b''):
- raw_md5 = hashlib.md5(string_to_md5).digest()
+ raw_md5 = md5(string_to_md5, usedforsecurity=False).digest()
content_md5 = base64.b64encode(raw_md5).strip()
with UnreadableInput(self) as fake_input:
req = Request.blank(