Merge "Identify segments uploaded via swiftclient"

This commit is contained in:
Jenkins 2016-05-02 10:35:20 +00:00 committed by Gerrit Code Review
commit 6b065dd4a6
2 changed files with 25 additions and 19 deletions
swiftclient
tests/unit

@ -1657,10 +1657,13 @@ class SwiftService(object):
fp.seek(segment_start)
contents = LengthWrapper(fp, segment_size, md5=options['checksum'])
etag = conn.put_object(segment_container,
segment_name, contents,
content_length=segment_size,
response_dict=results_dict)
etag = conn.put_object(
segment_container,
segment_name,
contents,
content_length=segment_size,
content_type='application/swiftclient-segment',
response_dict=results_dict)
if options['checksum'] and etag and etag != contents.get_md5sum():
raise SwiftError('Segment {0}: upload verification failed: '

@ -980,11 +980,12 @@ class TestServiceUpload(_TestServiceBase):
self.assertEqual(r, expected_r)
self.assertEqual(mock_conn.put_object.call_count, 1)
mock_conn.put_object.assert_called_with('test_c_segments',
'test_s_1',
mock.ANY,
content_length=10,
response_dict={})
mock_conn.put_object.assert_called_with(
'test_c_segments', 'test_s_1',
mock.ANY,
content_length=10,
content_type='application/swiftclient-segment',
response_dict={})
contents = mock_conn.put_object.call_args[0][2]
self.assertIsInstance(contents, utils.LengthWrapper)
self.assertEqual(len(contents), 10)
@ -1023,11 +1024,12 @@ class TestServiceUpload(_TestServiceBase):
self.assertIsNone(r.get('error'))
self.assertEqual(mock_conn.put_object.call_count, 1)
mock_conn.put_object.assert_called_with('test_c_segments',
'test_s_1',
mock.ANY,
content_length=10,
response_dict={})
mock_conn.put_object.assert_called_with(
'test_c_segments', 'test_s_1',
mock.ANY,
content_length=10,
content_type='application/swiftclient-segment',
response_dict={})
contents = mock_conn.put_object.call_args[0][2]
# Check that md5sum is not calculated.
self.assertEqual(contents.get_md5sum(), '')
@ -1063,11 +1065,12 @@ class TestServiceUpload(_TestServiceBase):
self.assertIn('md5 mismatch', str(r.get('error')))
self.assertEqual(mock_conn.put_object.call_count, 1)
mock_conn.put_object.assert_called_with('test_c_segments',
'test_s_1',
mock.ANY,
content_length=10,
response_dict={})
mock_conn.put_object.assert_called_with(
'test_c_segments', 'test_s_1',
mock.ANY,
content_length=10,
content_type='application/swiftclient-segment',
response_dict={})
contents = mock_conn.put_object.call_args[0][2]
self.assertEqual(contents.get_md5sum(), md5(b'b' * 10).hexdigest())