couchdb-conduit-0.4.0: test/Database/CouchDB/Conduit/Test/Base.hs
{-# LANGUAGE OverloadedStrings #-}
-- | base tests
module Database.CouchDB.Conduit.Test.Base (tests) where
import Test.Framework (testGroup, mutuallyExclusive, Test)
import Test.Framework.Providers.HUnit (testCase)
import Test.HUnit (Assertion, (@=?))
import CouchDBAuth
import Control.Monad.IO.Class (liftIO)
import qualified Data.ByteString as B
--import Data.Conduit
--import qualified Data.Conduit.List as CL
import qualified Network.HTTP.Conduit as H
import qualified Network.HTTP.Types as HT
import Database.CouchDB.Conduit
import Database.CouchDB.Conduit.DB
import Database.CouchDB.Conduit.LowLevel
tests :: Test
tests = mutuallyExclusive $ testGroup "Base" [
testCase "Just connect" case_justConnect,
testCase "Put DB" case_dbPut
]
-- | Just connect
case_justConnect :: Assertion
case_justConnect = runCouch def $ do
H.Response (HT.Status sc _) _h _bsrc <- couch' HT.methodGet "" [] []
(H.RequestBodyBS B.empty)
liftIO $ sc @=? 200
-- | Put and delete
case_dbPut :: Assertion
case_dbPut = runCouch def {couchLogin = login,
couchPass=pass,
couchDB="cdbc_dbputdel"} $ do
couchPutDB_
couchDeleteDB