From 225d53bb4e4e2c6f654224720549686a97cb1bd9 Mon Sep 17 00:00:00 2001 From: Aditya Manthramurthy Date: Fri, 6 Jan 2017 03:49:34 +0530 Subject: [PATCH] Add a simple test - depends on runnign minio server --- minio-hs.cabal | 5 +++++ test/Spec.hs | 55 +++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 59 insertions(+), 1 deletion(-) diff --git a/minio-hs.cabal b/minio-hs.cabal index dd25d43..aba5834 100644 --- a/minio-hs.cabal +++ b/minio-hs.cabal @@ -76,6 +76,11 @@ test-suite minio-hs-test build-depends: base , minio-hs , protolude >= 0.1.6 && < 0.2 + , resourcet + , tasty + , tasty-smallcheck + , tasty-quickcheck + , tasty-hunit ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N default-language: Haskell2010 default-extensions: OverloadedStrings, NoImplicitPrelude diff --git a/test/Spec.hs b/test/Spec.hs index 5b9ce20..0c90534 100644 --- a/test/Spec.hs +++ b/test/Spec.hs @@ -1,4 +1,57 @@ import Protolude +import Test.Tasty +import Test.Tasty.SmallCheck as SC +import Test.Tasty.QuickCheck as QC +import Test.Tasty.HUnit + +import Control.Monad.Trans.Resource (runResourceT) + +import Network.Minio + main :: IO () -main = putStrLn ("Test suite not yet implemented" :: Text) +main = defaultMain tests +-- main = putStrLn ("Test suite not yet implemented" :: Text) + +tests :: TestTree +tests = testGroup "Tests" [properties, unitTests] + +properties :: TestTree +properties = testGroup "Properties" [] -- [scProps, qcProps] + +-- scProps = testGroup "(checked by SmallCheck)" +-- [ SC.testProperty "sort == sort . reverse" $ +-- \list -> sort (list :: [Int]) == sort (reverse list) +-- , SC.testProperty "Fermat's little theorem" $ +-- \x -> ((x :: Integer)^7 - x) `mod` 7 == 0 +-- -- the following property does not hold +-- , SC.testProperty "Fermat's last theorem" $ +-- \x y z n -> +-- (n :: Integer) >= 3 SC.==> x^n + y^n /= (z^n :: Integer) +-- ] + +-- qcProps = testGroup "(checked by QuickCheck)" +-- [ QC.testProperty "sort == sort . reverse" $ +-- \list -> sort (list :: [Int]) == sort (reverse list) +-- , QC.testProperty "Fermat's little theorem" $ +-- \x -> ((x :: Integer)^7 - x) `mod` 7 == 0 +-- -- the following property does not hold +-- , QC.testProperty "Fermat's last theorem" $ +-- \x y z n -> +-- (n :: Integer) >= 3 QC.==> x^n + y^n /= (z^n :: Integer) +-- ] + +unitTests = testGroup "Unit tests" + [ testCase "List comparison (different length)" $ + [1, 2, 3] `compare` [1,2] @?= GT, + + testCaseSteps "Check getService returns without exception" $ \step -> do + step "Preparing..." + + mc <- connect defaultConnectInfo + + step "Running test.." + ret <- runResourceT $ runMinio mc $ getService + isRight ret @? ("getService failure => " ++ show ret) + + ]