sydtest-wai-0.2.0.1: A wai companion library for sydtest
Safe HaskellSafe-Inferred
LanguageHaskell2010

Test.Syd.Wai.Client

Synopsis

Documentation

data WaiClient env Source #

A client environment for a Application with a user-defined environment as well

Constructors

WaiClient 

Fields

Instances

Instances details
Generic (WaiClient env) Source # 
Instance details

Defined in Test.Syd.Wai.Client

Associated Types

type Rep (WaiClient env) :: Type -> Type #

Methods

from :: WaiClient env -> Rep (WaiClient env) x #

to :: Rep (WaiClient env) x -> WaiClient env #

MonadReader (WaiClient env) (WaiClientM env) Source # 
Instance details

Defined in Test.Syd.Wai.Client

Methods

ask :: WaiClientM env (WaiClient env) #

local :: (WaiClient env -> WaiClient env) -> WaiClientM env a -> WaiClientM env a #

reader :: (WaiClient env -> a) -> WaiClientM env a #

type Rep (WaiClient env) Source # 
Instance details

Defined in Test.Syd.Wai.Client

type Rep (WaiClient env) = D1 ('MetaData "WaiClient" "Test.Syd.Wai.Client" "sydtest-wai-0.2.0.1-JOOxDw3gaCGJOcTMzLiL4T" 'False) (C1 ('MetaCons "WaiClient" 'PrefixI 'True) (S1 ('MetaSel ('Just "waiClientManager") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Manager) :*: (S1 ('MetaSel ('Just "waiClientEnv") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 env) :*: S1 ('MetaSel ('Just "waiClientPort") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 PortNumber))))

data WaiClientState Source #

Constructors

WaiClientState 

Fields

Instances

Instances details
Generic WaiClientState Source # 
Instance details

Defined in Test.Syd.Wai.Client

Associated Types

type Rep WaiClientState :: Type -> Type #

MonadState WaiClientState (WaiClientM env) Source # 
Instance details

Defined in Test.Syd.Wai.Client

type Rep WaiClientState Source # 
Instance details

Defined in Test.Syd.Wai.Client

type Rep WaiClientState = D1 ('MetaData "WaiClientState" "Test.Syd.Wai.Client" "sydtest-wai-0.2.0.1-JOOxDw3gaCGJOcTMzLiL4T" 'False) (C1 ('MetaCons "WaiClientState" 'PrefixI 'True) (S1 ('MetaSel ('Just "waiClientStateLast") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe (Request, Response ByteString))) :*: S1 ('MetaSel ('Just "waiClientStateCookies") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CookieJar)))

newtype WaiClientM env a Source #

A Wai testing monad that carries client state, information about how to call the application, a user-defined environment, and everything necessary to show nice error messages.

Constructors

WaiClientM 

Instances

Instances details
MonadState WaiClientState (WaiClientM env) Source # 
Instance details

Defined in Test.Syd.Wai.Client

MonadFail (WaiClientM env) Source # 
Instance details

Defined in Test.Syd.Wai.Client

Methods

fail :: String -> WaiClientM env a #

MonadIO (WaiClientM env) Source # 
Instance details

Defined in Test.Syd.Wai.Client

Methods

liftIO :: IO a -> WaiClientM env a #

Applicative (WaiClientM env) Source # 
Instance details

Defined in Test.Syd.Wai.Client

Methods

pure :: a -> WaiClientM env a #

(<*>) :: WaiClientM env (a -> b) -> WaiClientM env a -> WaiClientM env b #

liftA2 :: (a -> b -> c) -> WaiClientM env a -> WaiClientM env b -> WaiClientM env c #

(*>) :: WaiClientM env a -> WaiClientM env b -> WaiClientM env b #

(<*) :: WaiClientM env a -> WaiClientM env b -> WaiClientM env a #

Functor (WaiClientM env) Source # 
Instance details

Defined in Test.Syd.Wai.Client

Methods

fmap :: (a -> b) -> WaiClientM env a -> WaiClientM env b #

(<$) :: a -> WaiClientM env b -> WaiClientM env a #

Monad (WaiClientM env) Source # 
Instance details

Defined in Test.Syd.Wai.Client

Methods

(>>=) :: WaiClientM env a -> (a -> WaiClientM env b) -> WaiClientM env b #

(>>) :: WaiClientM env a -> WaiClientM env b -> WaiClientM env b #

return :: a -> WaiClientM env a #

MonadReader (WaiClient env) (WaiClientM env) Source # 
Instance details

Defined in Test.Syd.Wai.Client

Methods

ask :: WaiClientM env (WaiClient env) #

local :: (WaiClient env -> WaiClient env) -> WaiClientM env a -> WaiClientM env a #

reader :: (WaiClient env -> a) -> WaiClientM env a #

IsTest (WaiClientM env ()) Source # 
Instance details

Defined in Test.Syd.Wai.Client

Associated Types

type Arg1 (WaiClientM env ()) #

type Arg2 (WaiClientM env ()) #

Methods

runTest :: WaiClientM env () -> TestRunSettings -> ProgressReporter -> ((Arg1 (WaiClientM env ()) -> Arg2 (WaiClientM env ()) -> IO ()) -> IO ()) -> IO TestRunResult #

IsTest (outerArgs -> WaiClientM env ()) Source # 
Instance details

Defined in Test.Syd.Wai.Client

Associated Types

type Arg1 (outerArgs -> WaiClientM env ()) #

type Arg2 (outerArgs -> WaiClientM env ()) #

Methods

runTest :: (outerArgs -> WaiClientM env ()) -> TestRunSettings -> ProgressReporter -> ((Arg1 (outerArgs -> WaiClientM env ()) -> Arg2 (outerArgs -> WaiClientM env ()) -> IO ()) -> IO ()) -> IO TestRunResult #

type Arg1 (WaiClientM env ()) Source # 
Instance details

Defined in Test.Syd.Wai.Client

type Arg1 (WaiClientM env ()) = ()
type Arg1 (outerArgs -> WaiClientM env ()) Source # 
Instance details

Defined in Test.Syd.Wai.Client

type Arg1 (outerArgs -> WaiClientM env ()) = outerArgs
type Arg2 (WaiClientM env ()) Source # 
Instance details

Defined in Test.Syd.Wai.Client

type Arg2 (WaiClientM env ()) = WaiClient env
type Arg2 (outerArgs -> WaiClientM env ()) Source # 
Instance details

Defined in Test.Syd.Wai.Client

type Arg2 (outerArgs -> WaiClientM env ()) = WaiClient env

type WaiSession st a = WaiClientM st a Source #

For compatibility with hspec-wai

type WaiExpectation st = WaiSession st () Source #

For compatibility with hspec-wai

runWaiClientM :: WaiClient env -> WaiClientM env a -> IO a Source #

Run a WaiClientM env using a WaiClient env

getRequest :: WaiClientM env (Maybe Request) Source #

Get the most recently sent request.

getResponse :: WaiClientM env (Maybe (Response ByteString)) Source #

Get the most recently received response.

getLast :: WaiClientM env (Maybe (Request, Response ByteString)) Source #

Get the most recently sent request and the response to it.

withLastRequestContext :: WaiClientM site a -> WaiClientM site a Source #

Annotate the given test code with the last request and its response, if one has been made already.

lastRequestResponseContext :: Show respBody => Request -> Response respBody -> String Source #

An assertion context, for Context, that shows the last request and response