integration-0.1.0
Safe HaskellSafe-Inferred
LanguageGHC2021

Testlib.App

Synopsis

Documentation

data Domain Source #

Constructors

OwnDomain 
OtherDomain 

Instances

Instances details
Generic Domain Source # 
Instance details

Defined in Testlib.App

Associated Types

type Rep Domain :: Type -> Type #

Methods

from :: Domain -> Rep Domain x #

to :: Rep Domain x -> Domain #

Show Domain Source # 
Instance details

Defined in Testlib.App

Eq Domain Source # 
Instance details

Defined in Testlib.App

Methods

(==) :: Domain -> Domain -> Bool #

(/=) :: Domain -> Domain -> Bool #

MakesValue Domain Source # 
Instance details

Defined in Testlib.App

Methods

make :: Domain -> App Value Source #

type Rep Domain Source # 
Instance details

Defined in Testlib.App

type Rep Domain = D1 ('MetaData "Domain" "Testlib.App" "integration-0.1.0-tM0bttzaVf3I0RZc698PY" 'False) (C1 ('MetaCons "OwnDomain" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OtherDomain" 'PrefixI 'False) (U1 :: Type -> Type))

retryT :: App a -> App a Source #

Run an action, recoverAlling with exponential backoff (min step 8ms, total timeout ~15s). Search this package for examples how to use it.

Ideally, this will be the only thing you'll ever need from the retry package when writing integration tests. If you are unhappy with it, please consider making it more general in a backwards-compatible way so everybody can benefit.

liftBool :: Functor f => f Bool -> BoolT f Source #

make Bool lazy

unliftBool :: Functor f => BoolT f -> f Bool Source #

make Bool strict

(&&~) :: App Bool -> App Bool -> App Bool infixr 3 Source #

lazy (&&)

(||~) :: App Bool -> App Bool -> App Bool infixr 2 Source #

lazy (||)

type BoolT f = MaybeT f () Source #

lazy (&&): (*>) lazy (||): (|)