testcontainers-0.5.1.0: test/TestContainers/HspecSpec.hs
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
module TestContainers.HspecSpec (main, spec_all) where
import Test.Hspec
import TestContainers.Hspec
( TestContainer,
containerPort,
containerRequest,
redis,
run,
withContainers,
)
data ContainerPorts = ContainerPorts
{ redisPort :: Int
}
containers1 :: TestContainer ContainerPorts
containers1 = do
redisContainer <- run $ containerRequest redis
pure
ContainerPorts
{ redisPort = containerPort redisContainer "6379/tcp"
}
main :: IO ()
main = hspec spec_all
spec_all :: Spec
spec_all =
around (withContainers containers1) $
describe "TestContainers tests" $
it "test1" $ \ContainerPorts {} ->
shouldBe () ()