Safe Haskell | None |
---|---|
Language | Haskell2010 |
Provides MockSmtp
, a mock
instance of MonadSmtp
, which simply
records (via use of a Writer
) any bytes sent through it.
(Making it technically a "spy", I think --
see https://martinfowler.com/articles/mocksArentStubs.html.)
Plus a transformer version, MockSmtpT
.
Sample use:
>>>
runMockSmtp (noop >> quit)
"NOOP\r\nQUIT\r\n"
Synopsis
- newtype MockSmtpT m a = MockSmtpT {
- runMockSmtpT :: WriterT ByteString m a
- liftMockSmtpT :: Monad m => m a -> MockSmtpT m a
- type MockSmtp = MockSmtpT Identity
- runMockSmtp :: MockSmtp a -> ByteString
Documentation
newtype MockSmtpT m a Source #
Concrete transformer for mock MonadSmtp
monads.
MockSmtpT | |
|
Instances
MonadTrans MockSmtpT Source # | |
Defined in Network.Mail.Assumpta.Mock | |
Monad m => MonadWriter ByteString (MockSmtpT m) Source # | |
Defined in Network.Mail.Assumpta.Mock writer :: (a, ByteString) -> MockSmtpT m a # tell :: ByteString -> MockSmtpT m () # listen :: MockSmtpT m a -> MockSmtpT m (a, ByteString) # pass :: MockSmtpT m (a, ByteString -> ByteString) -> MockSmtpT m a # | |
Monad m => Monad (MockSmtpT m) Source # | |
Functor m => Functor (MockSmtpT m) Source # | |
MonadFix m => MonadFix (MockSmtpT m) Source # | |
Defined in Network.Mail.Assumpta.Mock | |
Applicative m => Applicative (MockSmtpT m) Source # | |
Defined in Network.Mail.Assumpta.Mock | |
MonadIO m => MonadIO (MockSmtpT m) Source # | |
Defined in Network.Mail.Assumpta.Mock | |
Monad m => MonadSmtp (MockSmtpT m) Source # | In this mock monad, |
Defined in Network.Mail.Assumpta.Mock |
runMockSmtp :: MockSmtp a -> ByteString Source #
Run an MonadSmtp
computation using a mock,
and return the ByteString
content written.