From 0d9235b86a31f5a7f4f4cfa7929a37b6d2fe8ded Mon Sep 17 00:00:00 2001 From: Krishnan Parthasarathi Date: Sun, 22 Jan 2017 14:29:33 +0530 Subject: [PATCH] Add unit test for parseListObjectsResponse --- test/Network/Minio/XmlParser/Test.hs | 32 +++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/test/Network/Minio/XmlParser/Test.hs b/test/Network/Minio/XmlParser/Test.hs index 52204a7..95c087a 100644 --- a/test/Network/Minio/XmlParser/Test.hs +++ b/test/Network/Minio/XmlParser/Test.hs @@ -5,16 +5,18 @@ module Network.Minio.XmlParser.Test import Test.Tasty import Test.Tasty.HUnit +import Data.Time (addGregorianYearsClip, fromGregorian, UTCTime(..)) import Lib.Prelude --- import Network.Minio.Data +import Network.Minio.Data import Network.Minio.XmlParser xmlParserTests :: TestTree xmlParserTests = testGroup "XML Parser Tests" [ testCase "Test parseLocation" testParseLocation , testCase "Test parseNewMultipartUpload" testParseNewMultipartUpload + , testCase "Test parseListObjectsResponse" testParseListObjectsResult ] testParseLocation :: Assertion @@ -71,3 +73,31 @@ testParseNewMultipartUpload = do "EXAMPLEJZ6e0YupT2h66iePQCc9IEbYbDUy4RTpMeoSMLPRp8Z5o1u8feSRonpvnWsKKG35tI2LB9VDPiCgTy.Gq2VxQLYjrue4Nq.NBdqI-" ) ] + +testParseListObjectsResult :: Assertion +testParseListObjectsResult = do + let + xmldata = "\ + \\ + \bucket\ + \\ + \205\ + \1000\ + \false\ + \\ + \my-image.jpg\ + \2009-10-12T17:50:30.000Z\ + \"fba9dede5f27731c9771645a39863328"\ + \434234\ + \STANDARD\ + \\ + \" + + 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