packages feed

postgresql-simple-bind-0.1.0.0: examples/Main.hs

{-# LANGUAGE NamedFieldPuns #-}

import Test.HUnit
import Control.Monad
import System.IO
import System.Exit
import Database.PostgreSQL.Simple

import Common          (TestEnv(..), connectInfo)
import ExNumDumpster
import ExUsers
import ExMessages

testEnv :: TestEnv
testEnv = TestEnv {
    connectInfo = ConnectInfo {
        connectHost     = "localhost"
      , connectPort     = 5432
      , connectDatabase = "test"
      , connectUser     = "test"
      , connectPassword = "TEST"
      }
  }

tests :: [TestEnv -> Test]
tests = [
      TestLabel "NumDumpster" . numDumpster
    , TestLabel "Users"       . users
    , TestLabel "Messages"    . messages
    ]

main :: IO ()
main = do
  mapM_ (`hSetBuffering` LineBuffering) [stdout, stderr]
 
  Counts {cases, tried, errors, failures} <- runTestTT $ TestList $ map ($ testEnv) tests
  when (cases /= tried || errors /= 0 || failures /= 0) $ exitFailure