Skip to content

Commit 984f7b6

Browse files
authored
Merge pull request #16 from RachelTucker/pythonsdk-87
PYTHONSDK-87: networking bug fix so all requests with payloads send their payloads
2 parents 3b955d5 + 430aa4b commit 984f7b6

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

ds3/ds3network.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ def send_request(self, request):
213213

214214
headers.update(amz_headers)
215215

216-
if request.http_verb == HttpVerb.PUT or request.http_verb == HttpVerb.POST:
216+
if request.body is not None and request.body is not "":
217217
canonicalized_amz_header = self.canonicalized_amz_headers(amz_headers)
218218
headers['Content-Type'] = 'application/octet-stream'
219219
headers['Authorization'] = self.build_authorization(verb=request.http_verb,

tests/clientTests.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -678,6 +678,18 @@ def testGetObjectsWithFullDetails(self):
678678

679679
self.assertEqual(len(response.result['ObjectList']), 4)
680680

681+
def testVerifyPhysicalPlacement(self):
682+
populateTestData(self.client, bucketName, self.getDataPolicyId())
683+
684+
object_list = FileObjectList([FileObject(name="beowulf.txt")])
685+
686+
request = VerifyPhysicalPlacementForObjectsSpectraS3Request(bucket_name=bucketName, object_list=object_list)
687+
688+
try:
689+
self.client.verify_physical_placement_for_objects_spectra_s3(request)
690+
except RequestFailed as err:
691+
self.assertEqual(err.http_error_code, 404)
692+
681693

682694
class ObjectMetadataTestCase(Ds3TestCase):
683695
def testHeadObject(self):
@@ -1391,3 +1403,11 @@ def testGetBlobPersistence(self):
13911403

13921404
response = GetBlobPersistenceSpectraS3Response(mocked_response, mocked_request)
13931405
self.assertEqual(response.result, content)
1406+
1407+
def testVerifyPhysicalPlacementRequestPayload(self):
1408+
obj1 = FileObject(name="obj1")
1409+
obj2 = FileObject(name="obj2")
1410+
l = FileObjectList([obj1, obj2])
1411+
1412+
request = VerifyPhysicalPlacementForObjectsSpectraS3Request(bucket_name="bucketName", object_list=l)
1413+
self.assertEqual(request.body.decode(), '<Objects><Object Name="obj1" /><Object Name="obj2" /></Objects>')

0 commit comments

Comments
 (0)