amazonka-s3 1.2.0.1 → 1.2.0.2
raw patch · 109 files changed
+220/−108 lines, 109 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- README.md +1/−1
- amazonka-s3.cabal +6/−5
- fixture/AbortMultipartUpload.yaml +0/−0
- fixture/AbortMultipartUploadResponse.proto +0/−0
- fixture/CompleteMultipartUpload.yaml +0/−0
- fixture/CompleteMultipartUploadResponse.proto +0/−0
- fixture/CopyObject.yaml +0/−0
- fixture/CopyObjectResponse.proto +5/−0
- fixture/CreateBucket.yaml +0/−0
- fixture/CreateBucketResponse.proto +0/−0
- fixture/CreateMultipartUpload.yaml +0/−0
- fixture/CreateMultipartUploadResponse.proto +0/−0
- fixture/DeleteBucket.yaml +0/−0
- fixture/DeleteBucketCORS.yaml +0/−0
- fixture/DeleteBucketCORSResponse.proto +0/−0
- fixture/DeleteBucketLifecycle.yaml +0/−0
- fixture/DeleteBucketLifecycleResponse.proto +0/−0
- fixture/DeleteBucketPolicy.yaml +0/−0
- fixture/DeleteBucketPolicyResponse.proto +0/−0
- fixture/DeleteBucketReplication.yaml +0/−0
- fixture/DeleteBucketReplicationResponse.proto +0/−0
- fixture/DeleteBucketResponse.proto +0/−0
- fixture/DeleteBucketTagging.yaml +0/−0
- fixture/DeleteBucketTaggingResponse.proto +0/−0
- fixture/DeleteBucketWebsite.yaml +0/−0
- fixture/DeleteBucketWebsiteResponse.proto +0/−0
- fixture/DeleteObject.yaml +0/−0
- fixture/DeleteObjectResponse.proto +0/−0
- fixture/DeleteObjects.yaml +11/−0
- fixture/DeleteObjectsResponse.proto +0/−0
- fixture/GetBucketACL.yaml +0/−0
- fixture/GetBucketACLResponse.proto +0/−0
- fixture/GetBucketCORS.yaml +0/−0
- fixture/GetBucketCORSResponse.proto +0/−0
- fixture/GetBucketLifecycle.yaml +0/−0
- fixture/GetBucketLifecycleResponse.proto +0/−0
- fixture/GetBucketLocation.yaml +0/−0
- fixture/GetBucketLocationResponse.proto +0/−0
- fixture/GetBucketLogging.yaml +0/−0
- fixture/GetBucketLoggingResponse.proto +0/−0
- fixture/GetBucketNotificationConfiguration.yaml +0/−0
- fixture/GetBucketNotificationConfigurationResponse.proto +0/−0
- fixture/GetBucketPolicy.yaml +0/−0
- fixture/GetBucketPolicyResponse.proto +15/−0
- fixture/GetBucketReplication.yaml +0/−0
- fixture/GetBucketReplicationResponse.proto +12/−0
- fixture/GetBucketRequestPayment.yaml +0/−0
- fixture/GetBucketRequestPaymentResponse.proto +0/−0
- fixture/GetBucketTagging.yaml +0/−0
- fixture/GetBucketTaggingResponse.proto +0/−0
- fixture/GetBucketVersioning.yaml +0/−0
- fixture/GetBucketVersioningResponse.proto +0/−0
- fixture/GetBucketWebsite.yaml +0/−0
- fixture/GetBucketWebsiteResponse.proto +0/−0
- fixture/GetObject.yaml +0/−0
- fixture/GetObjectACL.yaml +0/−0
- fixture/GetObjectACLResponse.proto +0/−0
- fixture/GetObjectResponse.proto +0/−0
- fixture/GetObjectTorrent.yaml +0/−0
- fixture/GetObjectTorrentResponse.proto +0/−0
- fixture/HeadBucket.yaml +0/−0
- fixture/HeadBucketResponse.proto +0/−0
- fixture/HeadObject.yaml +0/−0
- fixture/HeadObjectResponse.proto +0/−0
- fixture/ListBuckets.yaml +0/−0
- fixture/ListBucketsResponse.proto +0/−0
- fixture/ListMultipartUploads.yaml +9/−0
- fixture/ListMultipartUploadsResponse.proto +0/−0
- fixture/ListObjectVersions.yaml +0/−0
- fixture/ListObjectVersionsResponse.proto +0/−0
- fixture/ListObjects.yaml +0/−0
- fixture/ListObjectsResponse.proto +0/−0
- fixture/ListParts.yaml +0/−0
- fixture/ListPartsResponse.proto +31/−0
- fixture/PutBucketACL.yaml +0/−0
- fixture/PutBucketACLResponse.proto +0/−0
- fixture/PutBucketCORS.yaml +0/−0
- fixture/PutBucketCORSResponse.proto +0/−0
- fixture/PutBucketLifecycle.yaml +0/−0
- fixture/PutBucketLifecycleResponse.proto +0/−0
- fixture/PutBucketLogging.yaml +0/−0
- fixture/PutBucketLoggingResponse.proto +0/−0
- fixture/PutBucketNotificationConfiguration.yaml +0/−0
- fixture/PutBucketNotificationConfigurationResponse.proto +0/−0
- fixture/PutBucketPolicy.yaml +0/−0
- fixture/PutBucketPolicyResponse.proto +0/−0
- fixture/PutBucketReplication.yaml +0/−0
- fixture/PutBucketReplicationResponse.proto +0/−0
- fixture/PutBucketRequestPayment.yaml +0/−0
- fixture/PutBucketRequestPaymentResponse.proto +0/−0
- fixture/PutBucketTagging.yaml +0/−0
- fixture/PutBucketTaggingResponse.proto +0/−0
- fixture/PutBucketVersioning.yaml +0/−0
- fixture/PutBucketVersioningResponse.proto +0/−0
- fixture/PutBucketWebsite.yaml +0/−0
- fixture/PutBucketWebsiteResponse.proto +0/−0
- fixture/PutObject.yaml +0/−0
- fixture/PutObjectACL.yaml +0/−0
- fixture/PutObjectACLResponse.proto +0/−0
- fixture/PutObjectResponse.proto +0/−0
- fixture/RestoreObject.yaml +0/−0
- fixture/RestoreObjectResponse.proto +0/−0
- fixture/UploadPart.yaml +0/−0
- fixture/UploadPartCopy.yaml +0/−0
- fixture/UploadPartCopyResponse.proto +0/−0
- fixture/UploadPartResponse.proto +0/−0
- test/Test/AWS/Gen/S3.hs +100/−100
- test/Test/AWS/S3.hs +2/−2
- test/Test/AWS/S3/Internal.hs +28/−0
README.md view
@@ -8,7 +8,7 @@ ## Version -`1.2.0.1`+`1.2.0.2` ## Description
amazonka-s3.cabal view
@@ -1,7 +1,8 @@ name: amazonka-s3-version: 1.2.0.1+version: 1.2.0.2 synopsis: Amazon Simple Storage Service SDK. homepage: https://github.com/brendanhay/amazonka+bug-reports: https://github.com/brendanhay/amazonka/issues license: OtherLicense license-file: LICENSE author: Brendan Hay@@ -9,9 +10,8 @@ copyright: Copyright (c) 2013-2015 Brendan Hay category: Network, AWS, Cloud, Distributed Computing build-type: Simple-extra-source-files: README.md cabal-version: >= 1.10-+extra-source-files: README.md fixture/*.yaml fixture/*.proto description: Amazon Simple Storage Service is storage for the Internet. Amazon S3 has a simple web services interface that you can use to store and retrieve@@ -121,8 +121,9 @@ ghc-options: -Wall -threaded - -- This is not comprehensive if modules have manually been added.- -- It exists to ensure cabal 'somewhat' detects test module changes.+ -- This section is encoded by the template and any modules added by+ -- hand outside these namespaces will not correctly be added to the+ -- distribution package. other-modules: Test.AWS.S3 , Test.AWS.Gen.S3
+ fixture/AbortMultipartUpload.yaml view
+ fixture/AbortMultipartUploadResponse.proto view
+ fixture/CompleteMultipartUpload.yaml view
+ fixture/CompleteMultipartUploadResponse.proto view
+ fixture/CopyObject.yaml view
+ fixture/CopyObjectResponse.proto view
@@ -0,0 +1,5 @@+<?xml version="1.0" encoding="UTF-8"?>+<CopyObjectResult>+ <LastModified>2009-10-28T22:32:00</LastModified>+ <ETag>"9b2cf535f27731c974343645a3985328"</ETag>+</CopyObjectResult>
+ fixture/CreateBucket.yaml view
+ fixture/CreateBucketResponse.proto view
+ fixture/CreateMultipartUpload.yaml view
+ fixture/CreateMultipartUploadResponse.proto view
+ fixture/DeleteBucket.yaml view
+ fixture/DeleteBucketCORS.yaml view
+ fixture/DeleteBucketCORSResponse.proto view
+ fixture/DeleteBucketLifecycle.yaml view
+ fixture/DeleteBucketLifecycleResponse.proto view
+ fixture/DeleteBucketPolicy.yaml view
+ fixture/DeleteBucketPolicyResponse.proto view
+ fixture/DeleteBucketReplication.yaml view
+ fixture/DeleteBucketReplicationResponse.proto view
+ fixture/DeleteBucketResponse.proto view
+ fixture/DeleteBucketTagging.yaml view
+ fixture/DeleteBucketTaggingResponse.proto view
+ fixture/DeleteBucketWebsite.yaml view
+ fixture/DeleteBucketWebsiteResponse.proto view
+ fixture/DeleteObject.yaml view
+ fixture/DeleteObjectResponse.proto view
+ fixture/DeleteObjects.yaml view
@@ -0,0 +1,11 @@+---+method: POST+path: /bucketname+query: ?delete=+headers:+ Host: s3.amazonaws.com+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-md5;host;x-amz-content-sha256;x-amz-date, Signature=8395d88802592a49a30ca19ee1e0a819a663542eddc9bfe6482e314f6ce09b58+ Content-MD5: Baa58yLrqn+8X+KF6MwPug==+ X-Amz-Content-SHA256: 3be5f080da935ef26665db14539913f2a45d0219d47414df168777f155b30070+ X-Amz-Date: 20091028T223200Z+body: <?xml version="1.0" encoding="UTF-8"?><Delete xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Object><Key>sample1.text</Key></Object><Object><Key>sample2.text</Key></Object></Delete>
+ fixture/DeleteObjectsResponse.proto view
+ fixture/GetBucketACL.yaml view
+ fixture/GetBucketACLResponse.proto view
+ fixture/GetBucketCORS.yaml view
+ fixture/GetBucketCORSResponse.proto view
+ fixture/GetBucketLifecycle.yaml view
+ fixture/GetBucketLifecycleResponse.proto view
+ fixture/GetBucketLocation.yaml view
+ fixture/GetBucketLocationResponse.proto view
+ fixture/GetBucketLogging.yaml view
+ fixture/GetBucketLoggingResponse.proto view
+ fixture/GetBucketNotificationConfiguration.yaml view
+ fixture/GetBucketNotificationConfigurationResponse.proto view
+ fixture/GetBucketPolicy.yaml view
+ fixture/GetBucketPolicyResponse.proto view
@@ -0,0 +1,15 @@+{+"Version":"2008-10-17",+"Id":"aaaa-bbbb-cccc-dddd",+"Statement" : [+ {+ "Effect":"Deny",+ "Sid":"1",+ "Principal" : {+ "AWS":["111122223333","444455556666"]+ },+ "Action":["s3:*"],+ "Resource":"arn:aws:s3:::bucket/*"+ }+ ]+}
+ fixture/GetBucketReplication.yaml view
+ fixture/GetBucketReplicationResponse.proto view
@@ -0,0 +1,12 @@+<?xml version="1.0" encoding="UTF-8"?>+<ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">+ <Rule>+ <ID>rule1</ID>+ <Status>Enabled</Status>+ <Prefix></Prefix>+ <Destination>+ <Bucket>arn:aws:s3:::exampletargetbucket</Bucket>+ </Destination>+ </Rule>+ <Role>arn:aws:iam::35667example:role/CrossRegionReplicationRoleForS3</Role>+</ReplicationConfiguration>
+ fixture/GetBucketRequestPayment.yaml view
+ fixture/GetBucketRequestPaymentResponse.proto view
+ fixture/GetBucketTagging.yaml view
+ fixture/GetBucketTaggingResponse.proto view
+ fixture/GetBucketVersioning.yaml view
+ fixture/GetBucketVersioningResponse.proto view
+ fixture/GetBucketWebsite.yaml view
+ fixture/GetBucketWebsiteResponse.proto view
+ fixture/GetObject.yaml view
+ fixture/GetObjectACL.yaml view
+ fixture/GetObjectACLResponse.proto view
+ fixture/GetObjectResponse.proto view
+ fixture/GetObjectTorrent.yaml view
+ fixture/GetObjectTorrentResponse.proto view
+ fixture/HeadBucket.yaml view
+ fixture/HeadBucketResponse.proto view
+ fixture/HeadObject.yaml view
+ fixture/HeadObjectResponse.proto view
+ fixture/ListBuckets.yaml view
+ fixture/ListBucketsResponse.proto view
+ fixture/ListMultipartUploads.yaml view
@@ -0,0 +1,9 @@+---+method: GET+path: /foo-bucket+query: ?max-uploads=3&uploads=+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=6e58e657cbe9bbd48775a6a3d471748505159f4e6cc23affb6aeb784057d7d48+ Host: s3.amazonaws.com+ X-Amz-Content-SHA256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855+ X-Amz-Date: 20091028T223200Z
+ fixture/ListMultipartUploadsResponse.proto view
+ fixture/ListObjectVersions.yaml view
+ fixture/ListObjectVersionsResponse.proto view
+ fixture/ListObjects.yaml view
+ fixture/ListObjectsResponse.proto view
+ fixture/ListParts.yaml view
+ fixture/ListPartsResponse.proto view
@@ -0,0 +1,31 @@+<?xml version="1.0" encoding="UTF-8"?>+<ListPartsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">+ <Bucket>example-bucket</Bucket>+ <Key>example-object</Key>+ <UploadId>XXBsb2FkIElEIGZvciBlbHZpbmcncyVcdS1tb3ZpZS5tMnRzEEEwbG9hZA</UploadId>+ <Initiator>+ <ID>arn:aws:iam::111122223333:user/some-user-11116a31-17b5-4fb7-9df5-b288870f11xx</ID>+ <DisplayName>umat-user-11116a31-17b5-4fb7-9df5-b288870f11xx</DisplayName>+ </Initiator>+ <Owner>+ <ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>+ <DisplayName>someName</DisplayName>+ </Owner>+ <StorageClass>STANDARD</StorageClass>+ <PartNumberMarker>1</PartNumberMarker>+ <NextPartNumberMarker>3</NextPartNumberMarker>+ <MaxParts>2</MaxParts>+ <IsTruncated>true</IsTruncated>+ <Part>+ <PartNumber>2</PartNumber>+ <LastModified>2010-11-10T20:48:34.000Z</LastModified>+ <ETag>"7778aef83f66abc1fa1e8477f296d394"</ETag>+ <Size>10485760</Size>+ </Part>+ <Part>+ <PartNumber>3</PartNumber>+ <LastModified>2010-11-10T20:48:33.000Z</LastModified>+ <ETag>"aaaa18db4cc2f85cedef654fccc4a4x8"</ETag>+ <Size>10485760</Size>+ </Part>+</ListPartsResult>
+ fixture/PutBucketACL.yaml view
+ fixture/PutBucketACLResponse.proto view
+ fixture/PutBucketCORS.yaml view
+ fixture/PutBucketCORSResponse.proto view
+ fixture/PutBucketLifecycle.yaml view
+ fixture/PutBucketLifecycleResponse.proto view
+ fixture/PutBucketLogging.yaml view
+ fixture/PutBucketLoggingResponse.proto view
+ fixture/PutBucketNotificationConfiguration.yaml view
+ fixture/PutBucketNotificationConfigurationResponse.proto view
+ fixture/PutBucketPolicy.yaml view
+ fixture/PutBucketPolicyResponse.proto view
+ fixture/PutBucketReplication.yaml view
+ fixture/PutBucketReplicationResponse.proto view
+ fixture/PutBucketRequestPayment.yaml view
+ fixture/PutBucketRequestPaymentResponse.proto view
+ fixture/PutBucketTagging.yaml view
+ fixture/PutBucketTaggingResponse.proto view
+ fixture/PutBucketVersioning.yaml view
+ fixture/PutBucketVersioningResponse.proto view
+ fixture/PutBucketWebsite.yaml view
+ fixture/PutBucketWebsiteResponse.proto view
+ fixture/PutObject.yaml view
+ fixture/PutObjectACL.yaml view
+ fixture/PutObjectACLResponse.proto view
+ fixture/PutObjectResponse.proto view
+ fixture/RestoreObject.yaml view
+ fixture/RestoreObjectResponse.proto view
+ fixture/UploadPart.yaml view
+ fixture/UploadPartCopy.yaml view
+ fixture/UploadPartCopyResponse.proto view
+ fixture/UploadPartResponse.proto view
test/Test/AWS/Gen/S3.hs view
@@ -351,601 +351,601 @@ testPutBucketRequestPayment :: PutBucketRequestPayment -> TestTree testPutBucketRequestPayment = req "PutBucketRequestPayment"- "fixture/PutBucketRequestPayment"+ "fixture/PutBucketRequestPayment.yaml" testPutBucketLogging :: PutBucketLogging -> TestTree testPutBucketLogging = req "PutBucketLogging"- "fixture/PutBucketLogging"+ "fixture/PutBucketLogging.yaml" testDeleteObject :: DeleteObject -> TestTree testDeleteObject = req "DeleteObject"- "fixture/DeleteObject"+ "fixture/DeleteObject.yaml" testDeleteBucket :: DeleteBucket -> TestTree testDeleteBucket = req "DeleteBucket"- "fixture/DeleteBucket"+ "fixture/DeleteBucket.yaml" testListBuckets :: ListBuckets -> TestTree testListBuckets = req "ListBuckets"- "fixture/ListBuckets"+ "fixture/ListBuckets.yaml" testCreateBucket :: CreateBucket -> TestTree testCreateBucket = req "CreateBucket"- "fixture/CreateBucket"+ "fixture/CreateBucket.yaml" testPutBucketTagging :: PutBucketTagging -> TestTree testPutBucketTagging = req "PutBucketTagging"- "fixture/PutBucketTagging"+ "fixture/PutBucketTagging.yaml" testDeleteBucketTagging :: DeleteBucketTagging -> TestTree testDeleteBucketTagging = req "DeleteBucketTagging"- "fixture/DeleteBucketTagging"+ "fixture/DeleteBucketTagging.yaml" testPutObjectACL :: PutObjectACL -> TestTree testPutObjectACL = req "PutObjectACL"- "fixture/PutObjectACL"+ "fixture/PutObjectACL.yaml" testGetBucketNotificationConfiguration :: GetBucketNotificationConfiguration -> TestTree testGetBucketNotificationConfiguration = req "GetBucketNotificationConfiguration"- "fixture/GetBucketNotificationConfiguration"+ "fixture/GetBucketNotificationConfiguration.yaml" testGetBucketLocation :: GetBucketLocation -> TestTree testGetBucketLocation = req "GetBucketLocation"- "fixture/GetBucketLocation"+ "fixture/GetBucketLocation.yaml" testPutBucketReplication :: PutBucketReplication -> TestTree testPutBucketReplication = req "PutBucketReplication"- "fixture/PutBucketReplication"+ "fixture/PutBucketReplication.yaml" testGetBucketWebsite :: GetBucketWebsite -> TestTree testGetBucketWebsite = req "GetBucketWebsite"- "fixture/GetBucketWebsite"+ "fixture/GetBucketWebsite.yaml" testGetObject :: GetObject -> TestTree testGetObject = req "GetObject"- "fixture/GetObject"+ "fixture/GetObject.yaml" testDeleteBucketReplication :: DeleteBucketReplication -> TestTree testDeleteBucketReplication = req "DeleteBucketReplication"- "fixture/DeleteBucketReplication"+ "fixture/DeleteBucketReplication.yaml" testGetBucketRequestPayment :: GetBucketRequestPayment -> TestTree testGetBucketRequestPayment = req "GetBucketRequestPayment"- "fixture/GetBucketRequestPayment"+ "fixture/GetBucketRequestPayment.yaml" testListObjectVersions :: ListObjectVersions -> TestTree testListObjectVersions = req "ListObjectVersions"- "fixture/ListObjectVersions"+ "fixture/ListObjectVersions.yaml" testGetBucketLifecycle :: GetBucketLifecycle -> TestTree testGetBucketLifecycle = req "GetBucketLifecycle"- "fixture/GetBucketLifecycle"+ "fixture/GetBucketLifecycle.yaml" testHeadBucket :: HeadBucket -> TestTree testHeadBucket = req "HeadBucket"- "fixture/HeadBucket"+ "fixture/HeadBucket.yaml" testPutBucketLifecycle :: PutBucketLifecycle -> TestTree testPutBucketLifecycle = req "PutBucketLifecycle"- "fixture/PutBucketLifecycle"+ "fixture/PutBucketLifecycle.yaml" testCreateMultipartUpload :: CreateMultipartUpload -> TestTree testCreateMultipartUpload = req "CreateMultipartUpload"- "fixture/CreateMultipartUpload"+ "fixture/CreateMultipartUpload.yaml" testDeleteBucketLifecycle :: DeleteBucketLifecycle -> TestTree testDeleteBucketLifecycle = req "DeleteBucketLifecycle"- "fixture/DeleteBucketLifecycle"+ "fixture/DeleteBucketLifecycle.yaml" testGetBucketReplication :: GetBucketReplication -> TestTree testGetBucketReplication = req "GetBucketReplication"- "fixture/GetBucketReplication"+ "fixture/GetBucketReplication.yaml" testPutBucketWebsite :: PutBucketWebsite -> TestTree testPutBucketWebsite = req "PutBucketWebsite"- "fixture/PutBucketWebsite"+ "fixture/PutBucketWebsite.yaml" testCompleteMultipartUpload :: CompleteMultipartUpload -> TestTree testCompleteMultipartUpload = req "CompleteMultipartUpload"- "fixture/CompleteMultipartUpload"+ "fixture/CompleteMultipartUpload.yaml" testListMultipartUploads :: ListMultipartUploads -> TestTree testListMultipartUploads = req "ListMultipartUploads"- "fixture/ListMultipartUploads"+ "fixture/ListMultipartUploads.yaml" testDeleteBucketWebsite :: DeleteBucketWebsite -> TestTree testDeleteBucketWebsite = req "DeleteBucketWebsite"- "fixture/DeleteBucketWebsite"+ "fixture/DeleteBucketWebsite.yaml" testListObjects :: ListObjects -> TestTree testListObjects = req "ListObjects"- "fixture/ListObjects"+ "fixture/ListObjects.yaml" testDeleteObjects :: DeleteObjects -> TestTree testDeleteObjects = req "DeleteObjects"- "fixture/DeleteObjects"+ "fixture/DeleteObjects.yaml" testPutBucketPolicy :: PutBucketPolicy -> TestTree testPutBucketPolicy = req "PutBucketPolicy"- "fixture/PutBucketPolicy"+ "fixture/PutBucketPolicy.yaml" testDeleteBucketPolicy :: DeleteBucketPolicy -> TestTree testDeleteBucketPolicy = req "DeleteBucketPolicy"- "fixture/DeleteBucketPolicy"+ "fixture/DeleteBucketPolicy.yaml" testAbortMultipartUpload :: AbortMultipartUpload -> TestTree testAbortMultipartUpload = req "AbortMultipartUpload"- "fixture/AbortMultipartUpload"+ "fixture/AbortMultipartUpload.yaml" testGetObjectTorrent :: GetObjectTorrent -> TestTree testGetObjectTorrent = req "GetObjectTorrent"- "fixture/GetObjectTorrent"+ "fixture/GetObjectTorrent.yaml" testPutBucketCORS :: PutBucketCORS -> TestTree testPutBucketCORS = req "PutBucketCORS"- "fixture/PutBucketCORS"+ "fixture/PutBucketCORS.yaml" testDeleteBucketCORS :: DeleteBucketCORS -> TestTree testDeleteBucketCORS = req "DeleteBucketCORS"- "fixture/DeleteBucketCORS"+ "fixture/DeleteBucketCORS.yaml" testGetBucketVersioning :: GetBucketVersioning -> TestTree testGetBucketVersioning = req "GetBucketVersioning"- "fixture/GetBucketVersioning"+ "fixture/GetBucketVersioning.yaml" testPutBucketNotificationConfiguration :: PutBucketNotificationConfiguration -> TestTree testPutBucketNotificationConfiguration = req "PutBucketNotificationConfiguration"- "fixture/PutBucketNotificationConfiguration"+ "fixture/PutBucketNotificationConfiguration.yaml" testGetBucketTagging :: GetBucketTagging -> TestTree testGetBucketTagging = req "GetBucketTagging"- "fixture/GetBucketTagging"+ "fixture/GetBucketTagging.yaml" testHeadObject :: HeadObject -> TestTree testHeadObject = req "HeadObject"- "fixture/HeadObject"+ "fixture/HeadObject.yaml" testPutBucketVersioning :: PutBucketVersioning -> TestTree testPutBucketVersioning = req "PutBucketVersioning"- "fixture/PutBucketVersioning"+ "fixture/PutBucketVersioning.yaml" testGetObjectACL :: GetObjectACL -> TestTree testGetObjectACL = req "GetObjectACL"- "fixture/GetObjectACL"+ "fixture/GetObjectACL.yaml" testRestoreObject :: RestoreObject -> TestTree testRestoreObject = req "RestoreObject"- "fixture/RestoreObject"+ "fixture/RestoreObject.yaml" testGetBucketCORS :: GetBucketCORS -> TestTree testGetBucketCORS = req "GetBucketCORS"- "fixture/GetBucketCORS"+ "fixture/GetBucketCORS.yaml" testCopyObject :: CopyObject -> TestTree testCopyObject = req "CopyObject"- "fixture/CopyObject"+ "fixture/CopyObject.yaml" testGetBucketPolicy :: GetBucketPolicy -> TestTree testGetBucketPolicy = req "GetBucketPolicy"- "fixture/GetBucketPolicy"+ "fixture/GetBucketPolicy.yaml" testGetBucketLogging :: GetBucketLogging -> TestTree testGetBucketLogging = req "GetBucketLogging"- "fixture/GetBucketLogging"+ "fixture/GetBucketLogging.yaml" testListParts :: ListParts -> TestTree testListParts = req "ListParts"- "fixture/ListParts"+ "fixture/ListParts.yaml" testGetBucketACL :: GetBucketACL -> TestTree testGetBucketACL = req "GetBucketACL"- "fixture/GetBucketACL"+ "fixture/GetBucketACL.yaml" testPutBucketACL :: PutBucketACL -> TestTree testPutBucketACL = req "PutBucketACL"- "fixture/PutBucketACL"+ "fixture/PutBucketACL.yaml" testUploadPartCopy :: UploadPartCopy -> TestTree testUploadPartCopy = req "UploadPartCopy"- "fixture/UploadPartCopy"+ "fixture/UploadPartCopy.yaml" -- Responses testPutBucketRequestPaymentResponse :: PutBucketRequestPaymentResponse -> TestTree testPutBucketRequestPaymentResponse = res "PutBucketRequestPaymentResponse"- "fixture/PutBucketRequestPaymentResponse"+ "fixture/PutBucketRequestPaymentResponse.proto" s3 (Proxy :: Proxy PutBucketRequestPayment) testPutObjectResponse :: PutObjectResponse -> TestTree testPutObjectResponse = res "PutObjectResponse"- "fixture/PutObjectResponse"+ "fixture/PutObjectResponse.proto" s3 (Proxy :: Proxy PutObject) testPutBucketLoggingResponse :: PutBucketLoggingResponse -> TestTree testPutBucketLoggingResponse = res "PutBucketLoggingResponse"- "fixture/PutBucketLoggingResponse"+ "fixture/PutBucketLoggingResponse.proto" s3 (Proxy :: Proxy PutBucketLogging) testDeleteObjectResponse :: DeleteObjectResponse -> TestTree testDeleteObjectResponse = res "DeleteObjectResponse"- "fixture/DeleteObjectResponse"+ "fixture/DeleteObjectResponse.proto" s3 (Proxy :: Proxy DeleteObject) testDeleteBucketResponse :: DeleteBucketResponse -> TestTree testDeleteBucketResponse = res "DeleteBucketResponse"- "fixture/DeleteBucketResponse"+ "fixture/DeleteBucketResponse.proto" s3 (Proxy :: Proxy DeleteBucket) testListBucketsResponse :: ListBucketsResponse -> TestTree testListBucketsResponse = res "ListBucketsResponse"- "fixture/ListBucketsResponse"+ "fixture/ListBucketsResponse.proto" s3 (Proxy :: Proxy ListBuckets) testCreateBucketResponse :: CreateBucketResponse -> TestTree testCreateBucketResponse = res "CreateBucketResponse"- "fixture/CreateBucketResponse"+ "fixture/CreateBucketResponse.proto" s3 (Proxy :: Proxy CreateBucket) testPutBucketTaggingResponse :: PutBucketTaggingResponse -> TestTree testPutBucketTaggingResponse = res "PutBucketTaggingResponse"- "fixture/PutBucketTaggingResponse"+ "fixture/PutBucketTaggingResponse.proto" s3 (Proxy :: Proxy PutBucketTagging) testDeleteBucketTaggingResponse :: DeleteBucketTaggingResponse -> TestTree testDeleteBucketTaggingResponse = res "DeleteBucketTaggingResponse"- "fixture/DeleteBucketTaggingResponse"+ "fixture/DeleteBucketTaggingResponse.proto" s3 (Proxy :: Proxy DeleteBucketTagging) testPutObjectACLResponse :: PutObjectACLResponse -> TestTree testPutObjectACLResponse = res "PutObjectACLResponse"- "fixture/PutObjectACLResponse"+ "fixture/PutObjectACLResponse.proto" s3 (Proxy :: Proxy PutObjectACL) testGetBucketNotificationConfigurationResponse :: NotificationConfiguration -> TestTree testGetBucketNotificationConfigurationResponse = res "GetBucketNotificationConfigurationResponse"- "fixture/GetBucketNotificationConfigurationResponse"+ "fixture/GetBucketNotificationConfigurationResponse.proto" s3 (Proxy :: Proxy GetBucketNotificationConfiguration) testGetBucketLocationResponse :: GetBucketLocationResponse -> TestTree testGetBucketLocationResponse = res "GetBucketLocationResponse"- "fixture/GetBucketLocationResponse"+ "fixture/GetBucketLocationResponse.proto" s3 (Proxy :: Proxy GetBucketLocation) testPutBucketReplicationResponse :: PutBucketReplicationResponse -> TestTree testPutBucketReplicationResponse = res "PutBucketReplicationResponse"- "fixture/PutBucketReplicationResponse"+ "fixture/PutBucketReplicationResponse.proto" s3 (Proxy :: Proxy PutBucketReplication) testGetBucketWebsiteResponse :: GetBucketWebsiteResponse -> TestTree testGetBucketWebsiteResponse = res "GetBucketWebsiteResponse"- "fixture/GetBucketWebsiteResponse"+ "fixture/GetBucketWebsiteResponse.proto" s3 (Proxy :: Proxy GetBucketWebsite) testDeleteBucketReplicationResponse :: DeleteBucketReplicationResponse -> TestTree testDeleteBucketReplicationResponse = res "DeleteBucketReplicationResponse"- "fixture/DeleteBucketReplicationResponse"+ "fixture/DeleteBucketReplicationResponse.proto" s3 (Proxy :: Proxy DeleteBucketReplication) testGetBucketRequestPaymentResponse :: GetBucketRequestPaymentResponse -> TestTree testGetBucketRequestPaymentResponse = res "GetBucketRequestPaymentResponse"- "fixture/GetBucketRequestPaymentResponse"+ "fixture/GetBucketRequestPaymentResponse.proto" s3 (Proxy :: Proxy GetBucketRequestPayment) testListObjectVersionsResponse :: ListObjectVersionsResponse -> TestTree testListObjectVersionsResponse = res "ListObjectVersionsResponse"- "fixture/ListObjectVersionsResponse"+ "fixture/ListObjectVersionsResponse.proto" s3 (Proxy :: Proxy ListObjectVersions) testGetBucketLifecycleResponse :: GetBucketLifecycleResponse -> TestTree testGetBucketLifecycleResponse = res "GetBucketLifecycleResponse"- "fixture/GetBucketLifecycleResponse"+ "fixture/GetBucketLifecycleResponse.proto" s3 (Proxy :: Proxy GetBucketLifecycle) testHeadBucketResponse :: HeadBucketResponse -> TestTree testHeadBucketResponse = res "HeadBucketResponse"- "fixture/HeadBucketResponse"+ "fixture/HeadBucketResponse.proto" s3 (Proxy :: Proxy HeadBucket) testPutBucketLifecycleResponse :: PutBucketLifecycleResponse -> TestTree testPutBucketLifecycleResponse = res "PutBucketLifecycleResponse"- "fixture/PutBucketLifecycleResponse"+ "fixture/PutBucketLifecycleResponse.proto" s3 (Proxy :: Proxy PutBucketLifecycle) testCreateMultipartUploadResponse :: CreateMultipartUploadResponse -> TestTree testCreateMultipartUploadResponse = res "CreateMultipartUploadResponse"- "fixture/CreateMultipartUploadResponse"+ "fixture/CreateMultipartUploadResponse.proto" s3 (Proxy :: Proxy CreateMultipartUpload) testDeleteBucketLifecycleResponse :: DeleteBucketLifecycleResponse -> TestTree testDeleteBucketLifecycleResponse = res "DeleteBucketLifecycleResponse"- "fixture/DeleteBucketLifecycleResponse"+ "fixture/DeleteBucketLifecycleResponse.proto" s3 (Proxy :: Proxy DeleteBucketLifecycle) testGetBucketReplicationResponse :: GetBucketReplicationResponse -> TestTree testGetBucketReplicationResponse = res "GetBucketReplicationResponse"- "fixture/GetBucketReplicationResponse"+ "fixture/GetBucketReplicationResponse.proto" s3 (Proxy :: Proxy GetBucketReplication) testPutBucketWebsiteResponse :: PutBucketWebsiteResponse -> TestTree testPutBucketWebsiteResponse = res "PutBucketWebsiteResponse"- "fixture/PutBucketWebsiteResponse"+ "fixture/PutBucketWebsiteResponse.proto" s3 (Proxy :: Proxy PutBucketWebsite) testCompleteMultipartUploadResponse :: CompleteMultipartUploadResponse -> TestTree testCompleteMultipartUploadResponse = res "CompleteMultipartUploadResponse"- "fixture/CompleteMultipartUploadResponse"+ "fixture/CompleteMultipartUploadResponse.proto" s3 (Proxy :: Proxy CompleteMultipartUpload) testUploadPartResponse :: UploadPartResponse -> TestTree testUploadPartResponse = res "UploadPartResponse"- "fixture/UploadPartResponse"+ "fixture/UploadPartResponse.proto" s3 (Proxy :: Proxy UploadPart) testListMultipartUploadsResponse :: ListMultipartUploadsResponse -> TestTree testListMultipartUploadsResponse = res "ListMultipartUploadsResponse"- "fixture/ListMultipartUploadsResponse"+ "fixture/ListMultipartUploadsResponse.proto" s3 (Proxy :: Proxy ListMultipartUploads) testDeleteBucketWebsiteResponse :: DeleteBucketWebsiteResponse -> TestTree testDeleteBucketWebsiteResponse = res "DeleteBucketWebsiteResponse"- "fixture/DeleteBucketWebsiteResponse"+ "fixture/DeleteBucketWebsiteResponse.proto" s3 (Proxy :: Proxy DeleteBucketWebsite) testListObjectsResponse :: ListObjectsResponse -> TestTree testListObjectsResponse = res "ListObjectsResponse"- "fixture/ListObjectsResponse"+ "fixture/ListObjectsResponse.proto" s3 (Proxy :: Proxy ListObjects) testDeleteObjectsResponse :: DeleteObjectsResponse -> TestTree testDeleteObjectsResponse = res "DeleteObjectsResponse"- "fixture/DeleteObjectsResponse"+ "fixture/DeleteObjectsResponse.proto" s3 (Proxy :: Proxy DeleteObjects) testPutBucketPolicyResponse :: PutBucketPolicyResponse -> TestTree testPutBucketPolicyResponse = res "PutBucketPolicyResponse"- "fixture/PutBucketPolicyResponse"+ "fixture/PutBucketPolicyResponse.proto" s3 (Proxy :: Proxy PutBucketPolicy) testDeleteBucketPolicyResponse :: DeleteBucketPolicyResponse -> TestTree testDeleteBucketPolicyResponse = res "DeleteBucketPolicyResponse"- "fixture/DeleteBucketPolicyResponse"+ "fixture/DeleteBucketPolicyResponse.proto" s3 (Proxy :: Proxy DeleteBucketPolicy) testAbortMultipartUploadResponse :: AbortMultipartUploadResponse -> TestTree testAbortMultipartUploadResponse = res "AbortMultipartUploadResponse"- "fixture/AbortMultipartUploadResponse"+ "fixture/AbortMultipartUploadResponse.proto" s3 (Proxy :: Proxy AbortMultipartUpload) testPutBucketCORSResponse :: PutBucketCORSResponse -> TestTree testPutBucketCORSResponse = res "PutBucketCORSResponse"- "fixture/PutBucketCORSResponse"+ "fixture/PutBucketCORSResponse.proto" s3 (Proxy :: Proxy PutBucketCORS) testDeleteBucketCORSResponse :: DeleteBucketCORSResponse -> TestTree testDeleteBucketCORSResponse = res "DeleteBucketCORSResponse"- "fixture/DeleteBucketCORSResponse"+ "fixture/DeleteBucketCORSResponse.proto" s3 (Proxy :: Proxy DeleteBucketCORS) testGetBucketVersioningResponse :: GetBucketVersioningResponse -> TestTree testGetBucketVersioningResponse = res "GetBucketVersioningResponse"- "fixture/GetBucketVersioningResponse"+ "fixture/GetBucketVersioningResponse.proto" s3 (Proxy :: Proxy GetBucketVersioning) testPutBucketNotificationConfigurationResponse :: PutBucketNotificationConfigurationResponse -> TestTree testPutBucketNotificationConfigurationResponse = res "PutBucketNotificationConfigurationResponse"- "fixture/PutBucketNotificationConfigurationResponse"+ "fixture/PutBucketNotificationConfigurationResponse.proto" s3 (Proxy :: Proxy PutBucketNotificationConfiguration) testGetBucketTaggingResponse :: GetBucketTaggingResponse -> TestTree testGetBucketTaggingResponse = res "GetBucketTaggingResponse"- "fixture/GetBucketTaggingResponse"+ "fixture/GetBucketTaggingResponse.proto" s3 (Proxy :: Proxy GetBucketTagging) testHeadObjectResponse :: HeadObjectResponse -> TestTree testHeadObjectResponse = res "HeadObjectResponse"- "fixture/HeadObjectResponse"+ "fixture/HeadObjectResponse.proto" s3 (Proxy :: Proxy HeadObject) testPutBucketVersioningResponse :: PutBucketVersioningResponse -> TestTree testPutBucketVersioningResponse = res "PutBucketVersioningResponse"- "fixture/PutBucketVersioningResponse"+ "fixture/PutBucketVersioningResponse.proto" s3 (Proxy :: Proxy PutBucketVersioning) testGetObjectACLResponse :: GetObjectACLResponse -> TestTree testGetObjectACLResponse = res "GetObjectACLResponse"- "fixture/GetObjectACLResponse"+ "fixture/GetObjectACLResponse.proto" s3 (Proxy :: Proxy GetObjectACL) testRestoreObjectResponse :: RestoreObjectResponse -> TestTree testRestoreObjectResponse = res "RestoreObjectResponse"- "fixture/RestoreObjectResponse"+ "fixture/RestoreObjectResponse.proto" s3 (Proxy :: Proxy RestoreObject) testGetBucketCORSResponse :: GetBucketCORSResponse -> TestTree testGetBucketCORSResponse = res "GetBucketCORSResponse"- "fixture/GetBucketCORSResponse"+ "fixture/GetBucketCORSResponse.proto" s3 (Proxy :: Proxy GetBucketCORS) testCopyObjectResponse :: CopyObjectResponse -> TestTree testCopyObjectResponse = res "CopyObjectResponse"- "fixture/CopyObjectResponse"+ "fixture/CopyObjectResponse.proto" s3 (Proxy :: Proxy CopyObject) testGetBucketPolicyResponse :: GetBucketPolicyResponse -> TestTree testGetBucketPolicyResponse = res "GetBucketPolicyResponse"- "fixture/GetBucketPolicyResponse"+ "fixture/GetBucketPolicyResponse.proto" s3 (Proxy :: Proxy GetBucketPolicy) testGetBucketLoggingResponse :: GetBucketLoggingResponse -> TestTree testGetBucketLoggingResponse = res "GetBucketLoggingResponse"- "fixture/GetBucketLoggingResponse"+ "fixture/GetBucketLoggingResponse.proto" s3 (Proxy :: Proxy GetBucketLogging) testListPartsResponse :: ListPartsResponse -> TestTree testListPartsResponse = res "ListPartsResponse"- "fixture/ListPartsResponse"+ "fixture/ListPartsResponse.proto" s3 (Proxy :: Proxy ListParts) testGetBucketACLResponse :: GetBucketACLResponse -> TestTree testGetBucketACLResponse = res "GetBucketACLResponse"- "fixture/GetBucketACLResponse"+ "fixture/GetBucketACLResponse.proto" s3 (Proxy :: Proxy GetBucketACL) testPutBucketACLResponse :: PutBucketACLResponse -> TestTree testPutBucketACLResponse = res "PutBucketACLResponse"- "fixture/PutBucketACLResponse"+ "fixture/PutBucketACLResponse.proto" s3 (Proxy :: Proxy PutBucketACL) testUploadPartCopyResponse :: UploadPartCopyResponse -> TestTree testUploadPartCopyResponse = res "UploadPartCopyResponse"- "fixture/UploadPartCopyResponse"+ "fixture/UploadPartCopyResponse.proto" s3 (Proxy :: Proxy UploadPartCopy)
test/Test/AWS/S3.hs view
@@ -19,12 +19,12 @@ import Network.AWS.S3 import Test.AWS.Gen.S3 import Test.AWS.Prelude-import qualified Test.AWS.S3.ObjectKey as ObjectKey+import Test.AWS.S3.Internal import Test.Tasty tests :: [TestTree] tests =- [ ObjectKey.tests+ [ objectKeyTests ] fixtures :: [TestTree]
test/Test/AWS/S3/Internal.hs view
@@ -13,5 +13,33 @@ module Test.AWS.S3.Internal where +import Network.AWS.Prelude import Network.AWS.S3 import Test.AWS.Prelude+import Test.Tasty+import Test.Tasty.HUnit++-- FIXME: expand, convert to quick/smallcheck properties.+objectKeyTests :: TestTree+objectKeyTests = testGroup "object key"+ [ testGroup "encoding"+ [ testCase "without delimiters" $+ "/key" @=?+ enc (ObjectKey "key")++ , testCase "without leading prefix" $+ "/some/obj%23ect" @=?+ enc (ObjectKey "some/obj#ect")++ , testCase "custom delimiter" $+ "/%5Esome%5Eobj%25ect%5Efoo" @=?+ enc (ObjectKey "^some^obj%ect^foo")++ , testCase "leading prefix" $+ "/some%3D1/path%20to/foo%3Dbar/object%20here" @=?+ enc (ObjectKey "/some=1/path to/foo=bar/object here")+ ]+ ]+ where+ enc :: ObjectKey -> ByteString+ enc = toBS . escapePath . rawPath