22 lines
755 B
Haskell
22 lines
755 B
Haskell
module Main (main) where
|
|
|
|
import Data.Acid.Local (openLocalState, createCheckpointAndClose)
|
|
import Data.Acid.Memory (openMemoryState)
|
|
import Test.Hspec
|
|
import Web.ServerSession.Backend.Acid
|
|
import Web.ServerSession.Core.StorageTests
|
|
|
|
import qualified Control.Exception as E
|
|
|
|
main :: IO ()
|
|
main =
|
|
E.bracket
|
|
(AcidStorage <$> openLocalState emptyState)
|
|
(createCheckpointAndClose . acidState) $
|
|
\acidLocal -> hspec $ parallel $ do
|
|
acidMem <- runIO $ AcidStorage <$> openMemoryState emptyState
|
|
describe "AcidStorage on memory only" $
|
|
allStorageTests acidMem it runIO shouldBe shouldReturn shouldThrow
|
|
describe "AcidStorage on local storage" $
|
|
allStorageTests acidLocal it runIO shouldBe shouldReturn shouldThrow
|