Add unit test for parse completemultipart upload response

This commit is contained in:
Krishnan Parthasarathi 2017-01-23 22:21:10 +05:30 committed by Aditya Manthramurthy
parent a36b8b036f
commit 512c455fde
2 changed files with 21 additions and 1 deletions

View File

@ -18,6 +18,7 @@ xmlParserTests = testGroup "XML Parser Tests"
, testCase "Test parseNewMultipartUpload" testParseNewMultipartUpload
, testCase "Test parseListObjectsResponse" testParseListObjectsResult
, testCase "Test parseListUploadsresponse" testParseListIncompleteUploads
, testCase "Test parseCompleteMultipartUploadResponse" testParseCompleteMultipartUploadResponse
]
testParseLocation :: Assertion
@ -146,3 +147,21 @@ testParseListIncompleteUploads = do
case parsedListUploadsResult of
Right listUploadsResult -> listUploadsResult @?= expectedListResult
_ -> assertFailure $ "Parsing failed => " ++ show parsedListUploadsResult
testParseCompleteMultipartUploadResponse :: Assertion
testParseCompleteMultipartUploadResponse = do
let
xmldata = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\
\<CompleteMultipartUploadResult xmlns=\"http://s3.amazonaws.com/doc/2006-03-01/\">\
\<Location>http://Example-Bucket.s3.amazonaws.com/Example-Object</Location>\
\<Bucket>Example-Bucket</Bucket>\
\<Key>Example-Object</Key>\
\<ETag>\"3858f62230ac3c915f300c664312c11f-9\"</ETag>\
\</CompleteMultipartUploadResult>"
expectedETag = "\"3858f62230ac3c915f300c664312c11f-9\""
parsedETagE <- runExceptT $ parseCompleteMultipartUploadResponse xmldata
case parsedETagE of
Right actualETag -> actualETag @?= expectedETag
_ -> assertFailure $ "Parsing failed => " ++ show parsedETagE

View File

@ -127,9 +127,10 @@ liveServerUnitTests = testGroup "Unit tests against a live server"
liftIO $ assertEqual "Objects match failed!" expected
(map oiObject $ lorObjects res)
step "cleanup"
step "Cleanup actions"
forM_ [1..10::Int] $ \s ->
deleteObject bucket (T.concat ["lsb-release", T.pack (show s)])
, funTestWithBucket "Basic listMultipartUploads Test" "testbucket4" $ \step bucket -> do
let object = "newmpupload"
step "create 10 multipart uploads"