tests
Safe HaskellSafe-Inferred
LanguageGHC2021

Hydra.NodeSpec

Synopsis

Documentation

spec :: Spec Source #

primeWith :: Monad m => [Input SimpleTx] -> HydraNode SimpleTx m -> m (HydraNode SimpleTx m) Source #

Add given list of inputs to the InputQueue. This is returning the node to allow for chaining with runToCompletion.

notConnect :: MonadThrow m => DraftHydraNode SimpleTx m -> m (HydraNode SimpleTx m) Source #

Convert a DraftHydraNode to a HydraNode by providing mock implementations.

mockServer :: Monad m => Server SimpleTx m Source #

mockNetwork :: Monad m => Network m (Message SimpleTx) Source #

mockChain :: MonadThrow m => Chain SimpleTx m Source #

mockSink :: Monad m => EventSink a m Source #

mockSource :: Monad m => [a] -> EventSource a m Source #

createRecordingSink :: IO (EventSink a IO, IO [a]) Source #

createPersistenceInMemory :: MonadLabelledSTM m => m (PersistenceIncremental a m) Source #

isReqSn :: Message tx -> Bool Source #

inputsToOpenHead :: [Input SimpleTx] Source #

runToCompletion :: IsChainState tx => HydraNode tx IO -> IO () Source #

testHydraNode :: (MonadDelay m, MonadAsync m, MonadLabelledSTM m, MonadThrow m) => Tracer m (HydraNodeLog SimpleTx) -> SigningKey HydraKey -> [Party] -> ContestationPeriod -> [Input SimpleTx] -> m (HydraNode SimpleTx m) Source #

Creates a full HydraNode with given parameters and primed Inputs. Note that this node is notConnected to any components.

recordNetwork :: HydraNode tx IO -> IO (HydraNode tx IO, IO [Message tx]) Source #

recordServerOutputs :: HydraNode tx IO -> IO (HydraNode tx IO, IO [ServerOutput tx]) Source #

messageRecorder :: IO (msg -> IO (), IO [msg]) Source #

throwExceptionOnPostTx :: IsChainState tx => PostTxError tx -> HydraNode tx IO -> IO (HydraNode tx IO) Source #