module Main ( main, ) where import qualified Data.Acquire as Acquire import qualified Environment import qualified ObservabilitySpec import qualified Postgres import qualified PostgresSettingsSpec import qualified QueryParserSpec import Test (Test, describe, run) import qualified TimeSpec import qualified Prelude -- `Test.run` exits after finishing, so run other tests first. main :: Prelude.IO () main = do postgresSettings <- Environment.decode Postgres.decoder Acquire.withAcquire (Postgres.connection postgresSettings) (run << tests) tests :: Postgres.Connection -> Test tests postgres = describe "lib/database" [ PostgresSettingsSpec.tests, QueryParserSpec.tests, TimeSpec.tests, ObservabilitySpec.tests postgres ]