Skip to content

Commit c3d0116

Browse files
committed
mismi-s3: Add a test for downloadRecursive
1 parent d05fec9 commit c3d0116

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

mismi-s3/test/Test/IO/Mismi/S3/Commands.hs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -497,6 +497,25 @@ prop_read_empty k = ioProperty $ do
497497
t <- runAWSDefaultRegion . read $ Address bucket' k
498498
pure $ t === Nothing
499499

500+
prop_download_recursive :: Property
501+
prop_download_recursive = once . testAWS $ do
502+
let name1 = "first name"
503+
name2 = "second name"
504+
name3 = "third name"
505+
tmpdir <- newFilePath
506+
addr <- withKey (// Key "top") <$> newAddress
507+
writeOrFail (withKey (// Key "a") addr) name1
508+
writeOrFail (withKey (// Key "b/c") addr) name2
509+
writeOrFail (withKey (// Key "c/d/e") addr) name3
510+
511+
eitherT (fail . show) pure $ downloadRecursive addr tmpdir
512+
513+
a <- liftIO $ T.readFile (tmpdir </> "a")
514+
c <- liftIO $ T.readFile (tmpdir </> "b" </> "c")
515+
e <- liftIO $ T.readFile (tmpdir </> "c" </> "d" </> "e")
516+
517+
pure $ a === name1 .&&. c == name2 .&&. e == name3
518+
500519
----------
501520
-- HELPERS
502521
----------

0 commit comments

Comments
 (0)