hasql-pool-1.3.0.4: src/integration-tests/Specs/BySubject/UsageError/SessionSpec.hs
module Specs.BySubject.UsageError.SessionSpec where
import Hasql.Pool
import Hasql.Session qualified as Session
import Helpers.Scripts qualified as Scripts
import Helpers.Sessions qualified as Sessions
import Test.Hspec
import Prelude
spec :: SpecWith Scripts.ScopeParams
spec = do
it "Simulation of connection error works" \scopeParams ->
Scripts.onAutotaggedPool 1 10 1_800 1_800 scopeParams \_ pool -> do
res <- use pool $ Sessions.closeConn >> Sessions.selectOne
shouldSatisfy res $ \case
Left (SessionUsageError (Session.QueryError _ _ (Session.ClientError _))) -> True
_ -> False