Add unit test for parseListObjectsResponse
This commit is contained in:
parent
2817d4654d
commit
0d9235b86a
@ -5,16 +5,18 @@ module Network.Minio.XmlParser.Test
|
|||||||
|
|
||||||
import Test.Tasty
|
import Test.Tasty
|
||||||
import Test.Tasty.HUnit
|
import Test.Tasty.HUnit
|
||||||
|
import Data.Time (addGregorianYearsClip, fromGregorian, UTCTime(..))
|
||||||
|
|
||||||
import Lib.Prelude
|
import Lib.Prelude
|
||||||
|
|
||||||
-- import Network.Minio.Data
|
import Network.Minio.Data
|
||||||
import Network.Minio.XmlParser
|
import Network.Minio.XmlParser
|
||||||
|
|
||||||
xmlParserTests :: TestTree
|
xmlParserTests :: TestTree
|
||||||
xmlParserTests = testGroup "XML Parser Tests"
|
xmlParserTests = testGroup "XML Parser Tests"
|
||||||
[ testCase "Test parseLocation" testParseLocation
|
[ testCase "Test parseLocation" testParseLocation
|
||||||
, testCase "Test parseNewMultipartUpload" testParseNewMultipartUpload
|
, testCase "Test parseNewMultipartUpload" testParseNewMultipartUpload
|
||||||
|
, testCase "Test parseListObjectsResponse" testParseListObjectsResult
|
||||||
]
|
]
|
||||||
|
|
||||||
testParseLocation :: Assertion
|
testParseLocation :: Assertion
|
||||||
@ -71,3 +73,31 @@ testParseNewMultipartUpload = do
|
|||||||
"EXAMPLEJZ6e0YupT2h66iePQCc9IEbYbDUy4RTpMeoSMLPRp8Z5o1u8feSRonpvnWsKKG35tI2LB9VDPiCgTy.Gq2VxQLYjrue4Nq.NBdqI-"
|
"EXAMPLEJZ6e0YupT2h66iePQCc9IEbYbDUy4RTpMeoSMLPRp8Z5o1u8feSRonpvnWsKKG35tI2LB9VDPiCgTy.Gq2VxQLYjrue4Nq.NBdqI-"
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
testParseListObjectsResult :: Assertion
|
||||||
|
testParseListObjectsResult = do
|
||||||
|
let
|
||||||
|
xmldata = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\
|
||||||
|
\<ListBucketResult xmlns=\"http://s3.amazonaws.com/doc/2006-03-01/\">\
|
||||||
|
\<Name>bucket</Name>\
|
||||||
|
\<Prefix/>\
|
||||||
|
\<KeyCount>205</KeyCount>\
|
||||||
|
\<MaxKeys>1000</MaxKeys>\
|
||||||
|
\<IsTruncated>false</IsTruncated>\
|
||||||
|
\<Contents>\
|
||||||
|
\<Key>my-image.jpg</Key>\
|
||||||
|
\<LastModified>2009-10-12T17:50:30.000Z</LastModified>\
|
||||||
|
\<ETag>"fba9dede5f27731c9771645a39863328"</ETag>\
|
||||||
|
\<Size>434234</Size>\
|
||||||
|
\<StorageClass>STANDARD</StorageClass>\
|
||||||
|
\</Contents>\
|
||||||
|
\</ListBucketResult>"
|
||||||
|
|
||||||
|
expectedListResult = ListObjectsResult False Nothing [object1] []
|
||||||
|
object1 = ObjectInfo "my-image.jpg" modifiedTime1 "\"fba9dede5f27731c9771645a39863328\"" 434234
|
||||||
|
modifiedTime1 = flip UTCTime 64230 $ fromGregorian 2009 10 12
|
||||||
|
|
||||||
|
parsedListObjectsResult <- runExceptT $ parseListObjectsResponse xmldata
|
||||||
|
case parsedListObjectsResult of
|
||||||
|
Right listObjectsResult -> listObjectsResult @?= expectedListResult
|
||||||
|
_ -> assertFailure $ "Parsing failed => " ++ show parsedListObjectsResult
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user