packages feed

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 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