Refactor tests to group into fewer parallel tests (#14)
This commit is contained in:
parent
566c5a6703
commit
004a6ef79a
@ -89,7 +89,7 @@ liveServerUnitTests = testGroup "Unit tests against a live server"
|
|||||||
fPutObject bucket "lsb-release" "/etc/lsb-release"
|
fPutObject bucket "lsb-release" "/etc/lsb-release"
|
||||||
|
|
||||||
outFile <- mkRandFile 0
|
outFile <- mkRandFile 0
|
||||||
step "simple getObject works"
|
step "simple fGetObject works"
|
||||||
fGetObject bucket "lsb-release" outFile
|
fGetObject bucket "lsb-release" outFile
|
||||||
|
|
||||||
step "create new multipart upload works"
|
step "create new multipart upload works"
|
||||||
@ -102,14 +102,30 @@ liveServerUnitTests = testGroup "Unit tests against a live server"
|
|||||||
step "delete object works"
|
step "delete object works"
|
||||||
deleteObject bucket "lsb-release"
|
deleteObject bucket "lsb-release"
|
||||||
|
|
||||||
, funTestWithBucket "Basic Multipart Test" $ \step bucket -> do
|
step "statObject test"
|
||||||
let object = "newmpupload"
|
let object = "sample"
|
||||||
|
step "create an object"
|
||||||
|
inputFile <- mkRandFile 0
|
||||||
|
fPutObject bucket object inputFile
|
||||||
|
|
||||||
|
step "get metadata of the object"
|
||||||
|
res <- statObject bucket object
|
||||||
|
liftIO $ (oiSize res) @?= 0
|
||||||
|
|
||||||
|
step "delete object"
|
||||||
|
deleteObject bucket object
|
||||||
|
|
||||||
|
, funTestWithBucket "Multipart Tests" $
|
||||||
|
\step bucket -> do
|
||||||
|
-- low-level multipart operation tests.
|
||||||
|
let object = "newmpupload"
|
||||||
|
mb15 = 15 * 1024 * 1024
|
||||||
|
|
||||||
|
step "Prepare for low-level multipart tests."
|
||||||
step "create new multipart upload"
|
step "create new multipart upload"
|
||||||
uid <- newMultipartUpload bucket object []
|
uid <- newMultipartUpload bucket object []
|
||||||
liftIO $ (T.length uid > 0) @? ("Got an empty multipartUpload Id.")
|
liftIO $ (T.length uid > 0) @? ("Got an empty multipartUpload Id.")
|
||||||
|
|
||||||
let mb15 = 15 * 1024 * 1024
|
|
||||||
randFile <- mkRandFile mb15
|
randFile <- mkRandFile mb15
|
||||||
|
|
||||||
step "put object parts 1 of 1"
|
step "put object parts 1 of 1"
|
||||||
@ -129,12 +145,11 @@ liveServerUnitTests = testGroup "Unit tests against a live server"
|
|||||||
step $ "Cleanup actions"
|
step $ "Cleanup actions"
|
||||||
deleteObject bucket object
|
deleteObject bucket object
|
||||||
|
|
||||||
, funTestWithBucket "Multipart test with unknown object size" $
|
-- putObject test (conduit source, no size specified)
|
||||||
\step bucket -> do
|
|
||||||
let obj = "mpart"
|
let obj = "mpart"
|
||||||
|
mb100 = 100 * 1024 * 1024
|
||||||
|
|
||||||
step "Prepare"
|
step "Prepare for putObject with from source without providing size."
|
||||||
let mb100 = 100 * 1024 * 1024
|
|
||||||
rFile <- mkRandFile mb100
|
rFile <- mkRandFile mb100
|
||||||
|
|
||||||
step "Upload multipart file."
|
step "Upload multipart file."
|
||||||
@ -150,11 +165,7 @@ liveServerUnitTests = testGroup "Unit tests against a live server"
|
|||||||
step $ "Cleanup actions"
|
step $ "Cleanup actions"
|
||||||
deleteObject bucket obj
|
deleteObject bucket obj
|
||||||
|
|
||||||
, funTestWithBucket "Multipart test with non-seekable file" $
|
step "Prepare for putObjectInternal with non-seekable file, with size."
|
||||||
\step bucket -> do
|
|
||||||
let obj = "mpart"
|
|
||||||
mb100 = 100 * 1024 * 1024
|
|
||||||
|
|
||||||
step "Upload multipart file."
|
step "Upload multipart file."
|
||||||
void $ putObjectInternal bucket obj $ ODFile "/dev/zero" (Just mb100)
|
void $ putObjectInternal bucket obj $ ODFile "/dev/zero" (Just mb100)
|
||||||
|
|
||||||
@ -168,7 +179,17 @@ liveServerUnitTests = testGroup "Unit tests against a live server"
|
|||||||
step $ "Cleanup actions"
|
step $ "Cleanup actions"
|
||||||
deleteObject bucket obj
|
deleteObject bucket obj
|
||||||
|
|
||||||
, funTestWithBucket "Basic listObjects Test" $ \step bucket -> do
|
step "Prepare for putObjectInternal with large file as source."
|
||||||
|
step "upload large object"
|
||||||
|
void $ putObjectInternal bucket "big" (ODFile "/dev/zero" $
|
||||||
|
Just $ 1024*1024*100)
|
||||||
|
|
||||||
|
step "cleanup"
|
||||||
|
deleteObject bucket "big"
|
||||||
|
|
||||||
|
|
||||||
|
, funTestWithBucket "Listing Test" $ \step bucket -> do
|
||||||
|
step "listObjects' test"
|
||||||
step "put 10 objects"
|
step "put 10 objects"
|
||||||
forM_ [1..10::Int] $ \s ->
|
forM_ [1..10::Int] $ \s ->
|
||||||
fPutObject bucket (T.concat ["lsb-release", T.pack (show s)]) "/etc/lsb-release"
|
fPutObject bucket (T.concat ["lsb-release", T.pack (show s)]) "/etc/lsb-release"
|
||||||
@ -186,7 +207,7 @@ liveServerUnitTests = testGroup "Unit tests against a live server"
|
|||||||
step "Cleanup actions"
|
step "Cleanup actions"
|
||||||
forM_ [1..10::Int] $ \s -> deleteObject bucket (T.concat ["lsb-release", T.pack (show s)])
|
forM_ [1..10::Int] $ \s -> deleteObject bucket (T.concat ["lsb-release", T.pack (show s)])
|
||||||
|
|
||||||
, funTestWithBucket "Basic listMultipartUploads Test" $ \step bucket -> do
|
step "listIncompleteUploads' test"
|
||||||
let object = "newmpupload"
|
let object = "newmpupload"
|
||||||
step "create 10 multipart uploads"
|
step "create 10 multipart uploads"
|
||||||
forM_ [1..10::Int] $ \_ -> do
|
forM_ [1..10::Int] $ \_ -> do
|
||||||
@ -194,18 +215,15 @@ liveServerUnitTests = testGroup "Unit tests against a live server"
|
|||||||
liftIO $ (T.length uid > 0) @? ("Got an empty multipartUpload Id.")
|
liftIO $ (T.length uid > 0) @? ("Got an empty multipartUpload Id.")
|
||||||
|
|
||||||
step "list incomplete multipart uploads"
|
step "list incomplete multipart uploads"
|
||||||
incompleteUploads <- listIncompleteUploads' bucket Nothing Nothing Nothing Nothing
|
incompleteUploads <- listIncompleteUploads' bucket Nothing Nothing
|
||||||
|
Nothing Nothing
|
||||||
liftIO $ (length $ lurUploads incompleteUploads) @?= 10
|
liftIO $ (length $ lurUploads incompleteUploads) @?= 10
|
||||||
|
|
||||||
, funTestWithBucket "multipart" $ \step bucket -> do
|
|
||||||
|
|
||||||
step "upload large object"
|
|
||||||
void $ putObjectInternal bucket "big" (ODFile "/dev/zero" $ Just $ 1024*1024*100)
|
|
||||||
|
|
||||||
step "cleanup"
|
step "cleanup"
|
||||||
deleteObject bucket "big"
|
forM_ (lurUploads incompleteUploads) $
|
||||||
|
\(UploadInfo _ uid _) -> abortMultipartUpload bucket object uid
|
||||||
|
|
||||||
, funTestWithBucket "Basic listIncompleteParts Test" $ \step bucket -> do
|
step "Basic listIncompleteParts Test"
|
||||||
let
|
let
|
||||||
object = "newmpupload"
|
object = "newmpupload"
|
||||||
mb15 = 15 * 1024 * 1024
|
mb15 = 15 * 1024 * 1024
|
||||||
@ -223,14 +241,11 @@ liveServerUnitTests = testGroup "Unit tests against a live server"
|
|||||||
step "fetch list parts"
|
step "fetch list parts"
|
||||||
listPartsResult <- listIncompleteParts' bucket object uid Nothing Nothing
|
listPartsResult <- listIncompleteParts' bucket object uid Nothing Nothing
|
||||||
liftIO $ (length $ lprParts listPartsResult) @?= 10
|
liftIO $ (length $ lprParts listPartsResult) @?= 10
|
||||||
|
abortMultipartUpload bucket object uid
|
||||||
|
|
||||||
, funTestWithBucket "High-level listObjects Test" $ \step bucket -> do
|
step "High-level listObjects Test"
|
||||||
step "put 3 objects"
|
step "put 3 objects"
|
||||||
let expected = [
|
let expected = ["dir/o1", "dir/dir1/o2", "dir/dir2/o3"]
|
||||||
"dir/o1"
|
|
||||||
, "dir/dir1/o2"
|
|
||||||
, "dir/dir2/o3"
|
|
||||||
]
|
|
||||||
forM_ expected $
|
forM_ expected $
|
||||||
\obj -> fPutObject bucket obj "/etc/lsb-release"
|
\obj -> fPutObject bucket obj "/etc/lsb-release"
|
||||||
|
|
||||||
@ -244,7 +259,7 @@ liveServerUnitTests = testGroup "Unit tests against a live server"
|
|||||||
forM_ expected $
|
forM_ expected $
|
||||||
\obj -> deleteObject bucket obj
|
\obj -> deleteObject bucket obj
|
||||||
|
|
||||||
, funTestWithBucket "High-level listIncompleteUploads Test" $ \step bucket -> do
|
step "High-level listIncompleteUploads Test"
|
||||||
let object = "newmpupload"
|
let object = "newmpupload"
|
||||||
step "create 10 multipart uploads"
|
step "create 10 multipart uploads"
|
||||||
forM_ [1..10::Int] $ \_ -> do
|
forM_ [1..10::Int] $ \_ -> do
|
||||||
@ -253,10 +268,13 @@ liveServerUnitTests = testGroup "Unit tests against a live server"
|
|||||||
|
|
||||||
step "High-level listing of incomplete multipart uploads"
|
step "High-level listing of incomplete multipart uploads"
|
||||||
uploads <- (listIncompleteUploads bucket Nothing True) $$ sinkList
|
uploads <- (listIncompleteUploads bucket Nothing True) $$ sinkList
|
||||||
|
|
||||||
liftIO $ (length uploads) @?= 10
|
liftIO $ (length uploads) @?= 10
|
||||||
|
|
||||||
, funTestWithBucket "High-level listIncompleteParts Test" $ \step bucket -> do
|
step "cleanup"
|
||||||
|
forM_ uploads $ \(UploadInfo _ uid _) ->
|
||||||
|
abortMultipartUpload bucket object uid
|
||||||
|
|
||||||
|
step "High-level listIncompleteParts Test"
|
||||||
let
|
let
|
||||||
object = "newmpupload"
|
object = "newmpupload"
|
||||||
mb15 = 15 * 1024 * 1024
|
mb15 = 15 * 1024 * 1024
|
||||||
@ -275,23 +293,11 @@ liveServerUnitTests = testGroup "Unit tests against a live server"
|
|||||||
incompleteParts <- (listIncompleteParts bucket object uid) $$ sinkList
|
incompleteParts <- (listIncompleteParts bucket object uid) $$ sinkList
|
||||||
liftIO $ (length incompleteParts) @?= 10
|
liftIO $ (length incompleteParts) @?= 10
|
||||||
|
|
||||||
, funTestWithBucket "High-level statObject Test" $ \step bucket -> do
|
step "cleanup"
|
||||||
let
|
abortMultipartUpload bucket object uid
|
||||||
object = "sample"
|
|
||||||
zeroByte = 0
|
|
||||||
|
|
||||||
step "create an object"
|
, funTestWithBucket "copyObject related tests" $ \step bucket -> do
|
||||||
inputFile <- mkRandFile zeroByte
|
step "copyObjectSingle basic tests"
|
||||||
fPutObject bucket object inputFile
|
|
||||||
|
|
||||||
step "get metadata of the object"
|
|
||||||
res <- statObject bucket object
|
|
||||||
liftIO $ (oiSize res) @?= 0
|
|
||||||
|
|
||||||
step "delete object"
|
|
||||||
deleteObject bucket object
|
|
||||||
|
|
||||||
, funTestWithBucket "copyObjectSingle basic tests" $ \step bucket -> do
|
|
||||||
let object = "xxx"
|
let object = "xxx"
|
||||||
objCopy = "xxxCopy"
|
objCopy = "xxxCopy"
|
||||||
size1 = 100 :: Int64
|
size1 = 100 :: Int64
|
||||||
@ -316,7 +322,7 @@ liveServerUnitTests = testGroup "Unit tests against a live server"
|
|||||||
deleteObject bucket object
|
deleteObject bucket object
|
||||||
deleteObject bucket objCopy
|
deleteObject bucket objCopy
|
||||||
|
|
||||||
, funTestWithBucket "copyObjectPart basic tests" $ \step bucket -> do
|
step "copyObjectPart basic tests"
|
||||||
let srcObj = "XXX"
|
let srcObj = "XXX"
|
||||||
copyObj = "XXXCopy"
|
copyObj = "XXXCopy"
|
||||||
|
|
||||||
@ -350,7 +356,7 @@ liveServerUnitTests = testGroup "Unit tests against a live server"
|
|||||||
deleteObject bucket srcObj
|
deleteObject bucket srcObj
|
||||||
deleteObject bucket copyObj
|
deleteObject bucket copyObj
|
||||||
|
|
||||||
, funTestWithBucket "copyObject basic tests" $ \step bucket -> do
|
step "copyObject basic tests"
|
||||||
let srcs = ["XXX", "XXXL"]
|
let srcs = ["XXX", "XXXL"]
|
||||||
copyObjs = ["XXXCopy", "XXXLCopy"]
|
copyObjs = ["XXXCopy", "XXXLCopy"]
|
||||||
sizes = map (* (1024 * 1024)) [15, 65]
|
sizes = map (* (1024 * 1024)) [15, 65]
|
||||||
@ -370,7 +376,7 @@ liveServerUnitTests = testGroup "Unit tests against a live server"
|
|||||||
|
|
||||||
forM_ (concat [srcs, copyObjs]) (deleteObject bucket)
|
forM_ (concat [srcs, copyObjs]) (deleteObject bucket)
|
||||||
|
|
||||||
, funTestWithBucket "copyObject with offset test " $ \step bucket -> do
|
step "copyObject with offset test "
|
||||||
let src = "XXX"
|
let src = "XXX"
|
||||||
copyObj = "XXXCopy"
|
copyObj = "XXXCopy"
|
||||||
size = 15 * 1024 * 1024
|
size = 15 * 1024 * 1024
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user