hw-polysemy 0.2.14.2 → 0.2.14.3
raw patch · 2 files changed
+15/−6 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
+ HaskellWorks.TestContainers.LocalStack: setupContainers' :: () => MonadDocker m => Text -> m Container
- HaskellWorks.TestContainers.LocalStack: setupContainers :: MonadDocker m => m Container
+ HaskellWorks.TestContainers.LocalStack: setupContainers :: () => MonadDocker m => m Container
Files
hw-polysemy.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.4 name: hw-polysemy-version: 0.2.14.2+version: 0.2.14.3 synopsis: Opinionated polysemy library description: Opinionated polysemy library. license: Apache-2.0
testcontainers-localstack/HaskellWorks/TestContainers/LocalStack.hs view
@@ -1,13 +1,13 @@ {-# LANGUAGE GADTs #-} {-# LANGUAGE OverloadedStrings #-} - {- HLINT ignore "Use camelCase" -} module HaskellWorks.TestContainers.LocalStack ( LocalStackEndpoint(..) , TC.Container , setupContainers+ , setupContainers' , waitForLocalStack ) where @@ -15,12 +15,12 @@ import Control.Concurrent (threadDelay) import Control.Exception (try)-import Control.Monad (when) import Control.Monad.IO.Class import qualified Data.ByteString.Lazy as LBS import Data.Function import qualified Data.Text as T import Data.Time.Clock.POSIX (getPOSIXTime)+import HaskellWorks.Prelude import HaskellWorks.TestContainers.LocalStack.Types (LocalStackEndpoint (LocalStackEndpoint)) import Network.HTTP.Conduit (HttpException, simpleHttp)@@ -29,11 +29,20 @@ import qualified TestContainers.Tasty as TC -- | Sets up and runs the containers required for this test suite.-setupContainers :: TC.MonadDocker m => m TC.Container-setupContainers = do+setupContainers :: ()+ => TC.MonadDocker m+ => m TC.Container+setupContainers = setupContainers' "localstack/localstack-pro:latest"++-- | Sets up and runs the containers required for this test suite.+setupContainers' :: ()+ => TC.MonadDocker m+ => Text+ -> m TC.Container+setupContainers' dockerTag = do authToken <- liftIO $ IO.lookupEnv "LOCALSTACK_AUTH_TOKEN" -- Launch the container based on the postgres image.- localstackContainer <- TC.run $ TC.containerRequest (TC.fromTag "localstack/localstack-pro:3.1.0")+ localstackContainer <- TC.run $ TC.containerRequest (TC.fromTag dockerTag) & TC.setEnv [("LOCALSTACK_AUTH_TOKEN", maybe "" T.pack authToken)] -- Expose the port 4566 from within the container. The respective port -- on the host machine can be looked up using `containerPort` (see below).