convex-testing-interface
Safe HaskellSafe-Inferred
LanguageHaskell2010

Convex.TestingInterface.Trace

Synopsis

Test run trace

data TestRunTrace Source #

Complete trace of a test run (one QuickCheck property execution = N iterations). Links to the Tasty test tree via trtTestId.

Constructors

TestRunTrace 

Fields

Instances

Instances details
ToJSON TestRunTrace Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Generic TestRunTrace Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Associated Types

type Rep TestRunTrace :: Type -> Type #

Show TestRunTrace Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Eq TestRunTrace Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep TestRunTrace Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep TestRunTrace = D1 ('MetaData "TestRunTrace" "Convex.TestingInterface.Trace" "convex-testing-interface-0.1.0.0-inplace" 'False) (C1 ('MetaCons "TestRunTrace" 'PrefixI 'True) ((S1 ('MetaSel ('Just "trtTestId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Just "trtTestName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "trtPath") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Text]) :*: (S1 ('MetaSel ('Just "trtCategory") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TestCategory) :*: S1 ('MetaSel ('Just "trtIterations") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [IterationTrace])))))

data TestCategory Source #

Whether this test run is a positive or negative test property.

Constructors

Positive 
Negative 

Instances

Instances details
ToJSON TestCategory Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Generic TestCategory Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Associated Types

type Rep TestCategory :: Type -> Type #

Show TestCategory Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Eq TestCategory Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep TestCategory Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep TestCategory = D1 ('MetaData "TestCategory" "Convex.TestingInterface.Trace" "convex-testing-interface-0.1.0.0-inplace" 'False) (C1 ('MetaCons "Positive" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Negative" 'PrefixI 'False) (U1 :: Type -> Type))

Iteration trace

data IterationTrace Source #

Trace of a single QuickCheck iteration within a test run.

Constructors

IterationTrace 

Fields

Instances

Instances details
ToJSON IterationTrace Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Generic IterationTrace Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Associated Types

type Rep IterationTrace :: Type -> Type #

Show IterationTrace Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Eq IterationTrace Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep IterationTrace Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep IterationTrace = D1 ('MetaData "IterationTrace" "Convex.TestingInterface.Trace" "convex-testing-interface-0.1.0.0-inplace" 'False) (C1 ('MetaCons "IterationTrace" 'PrefixI 'True) ((S1 ('MetaSel ('Just "itIndex") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Just "itStatus") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 IterationStatus)) :*: (S1 ('MetaSel ('Just "itTransitions") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Transition]) :*: S1 ('MetaSel ('Just "itThreatModels") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [ThreatModelTrace]))))

data IterationStatus Source #

Outcome of a single iteration.

Instances

Instances details
ToJSON IterationStatus Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Generic IterationStatus Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Associated Types

type Rep IterationStatus :: Type -> Type #

Show IterationStatus Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Eq IterationStatus Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep IterationStatus Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep IterationStatus = D1 ('MetaData "IterationStatus" "Convex.TestingInterface.Trace" "convex-testing-interface-0.1.0.0-inplace" 'False) (C1 ('MetaCons "IterationSuccess" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "IterationFailure" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :+: C1 ('MetaCons "IterationDiscarded" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text))))

State transitions

data Transition Source #

One step in an iteration: an action was performed, the model state changed, and a transaction was (possibly) submitted.

Constructors

Transition 

Fields

Instances

Instances details
ToJSON Transition Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Generic Transition Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Associated Types

type Rep Transition :: Type -> Type #

Show Transition Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Eq Transition Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep Transition Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep Transition = D1 ('MetaData "Transition" "Convex.TestingInterface.Trace" "convex-testing-interface-0.1.0.0-inplace" 'False) (C1 ('MetaCons "Transition" 'PrefixI 'True) ((S1 ('MetaSel ('Just "trStepIndex") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: (S1 ('MetaSel ('Just "trAction") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "trStateBefore") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Value))) :*: (S1 ('MetaSel ('Just "trStateAfter") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Value) :*: (S1 ('MetaSel ('Just "trTransaction") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TxSummary)) :*: S1 ('MetaSel ('Just "trResult") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TransitionResult)))))

data TransitionResult Source #

Whether the transaction was successfully submitted to the mockchain.

Constructors

TransitionSuccess !Text

TxId as text

TransitionFailure !Text

Error description

Instances

Instances details
ToJSON TransitionResult Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Generic TransitionResult Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Associated Types

type Rep TransitionResult :: Type -> Type #

Show TransitionResult Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Eq TransitionResult Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep TransitionResult Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep TransitionResult = D1 ('MetaData "TransitionResult" "Convex.TestingInterface.Trace" "convex-testing-interface-0.1.0.0-inplace" 'False) (C1 ('MetaCons "TransitionSuccess" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :+: C1 ('MetaCons "TransitionFailure" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)))

Transaction summary

data TxSummary Source #

Compact representation of a transaction for visualization. Values are structured JSON for full fidelity.

Constructors

TxSummary 

Fields

Instances

Instances details
ToJSON TxSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Generic TxSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Associated Types

type Rep TxSummary :: Type -> Type #

Show TxSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Eq TxSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep TxSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

data TxInputSummary Source #

Summary of a transaction input.

Constructors

TxInputSummary 

Fields

Instances

Instances details
ToJSON TxInputSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Generic TxInputSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Associated Types

type Rep TxInputSummary :: Type -> Type #

Show TxInputSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Eq TxInputSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep TxInputSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep TxInputSummary = D1 ('MetaData "TxInputSummary" "Convex.TestingInterface.Trace" "convex-testing-interface-0.1.0.0-inplace" 'False) (C1 ('MetaCons "TxInputSummary" 'PrefixI 'True) (S1 ('MetaSel ('Just "tisUtxo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: (S1 ('MetaSel ('Just "tisAddress") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "tisValue") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ValueSummary))))

data TxOutputSummary Source #

Summary of a transaction output.

Constructors

TxOutputSummary 

Fields

Instances

Instances details
ToJSON TxOutputSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Generic TxOutputSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Associated Types

type Rep TxOutputSummary :: Type -> Type #

Show TxOutputSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Eq TxOutputSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep TxOutputSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep TxOutputSummary = D1 ('MetaData "TxOutputSummary" "Convex.TestingInterface.Trace" "convex-testing-interface-0.1.0.0-inplace" 'False) (C1 ('MetaCons "TxOutputSummary" 'PrefixI 'True) ((S1 ('MetaSel ('Just "tosUtxo") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "tosAddress") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "tosValue") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ValueSummary) :*: S1 ('MetaSel ('Just "tosDatum") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Text)))))

Value representation

data ValueSummary Source #

Structured representation of a Cardano value for JSON serialization.

Constructors

ValueSummary 

Instances

Instances details
ToJSON ValueSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Generic ValueSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Associated Types

type Rep ValueSummary :: Type -> Type #

Show ValueSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Eq ValueSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep ValueSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep ValueSummary = D1 ('MetaData "ValueSummary" "Convex.TestingInterface.Trace" "convex-testing-interface-0.1.0.0-inplace" 'False) (C1 ('MetaCons "ValueSummary" 'PrefixI 'True) (S1 ('MetaSel ('Just "vsLovelace") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Integer) :*: S1 ('MetaSel ('Just "vsAssets") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [AssetSummary])))

data AssetSummary Source #

Constructors

AssetSummary 

Instances

Instances details
ToJSON AssetSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Generic AssetSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Associated Types

type Rep AssetSummary :: Type -> Type #

Show AssetSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Eq AssetSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep AssetSummary Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep AssetSummary = D1 ('MetaData "AssetSummary" "Convex.TestingInterface.Trace" "convex-testing-interface-0.1.0.0-inplace" 'False) (C1 ('MetaCons "AssetSummary" 'PrefixI 'True) (S1 ('MetaSel ('Just "asPolicyId") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: (S1 ('MetaSel ('Just "asName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "asQuantity") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Integer))))

Threat model trace

data ThreatModelTrace Source #

What happened when a threat model was applied to a specific transaction in this iteration.

Constructors

ThreatModelTrace 

Fields

Instances

Instances details
ToJSON ThreatModelTrace Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Generic ThreatModelTrace Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Associated Types

type Rep ThreatModelTrace :: Type -> Type #

Show ThreatModelTrace Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Eq ThreatModelTrace Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep ThreatModelTrace Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep ThreatModelTrace = D1 ('MetaData "ThreatModelTrace" "Convex.TestingInterface.Trace" "convex-testing-interface-0.1.0.0-inplace" 'False) (C1 ('MetaCons "ThreatModelTrace" 'PrefixI 'True) ((S1 ('MetaSel ('Just "tmtName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text) :*: (S1 ('MetaSel ('Just "tmtTargetTxIndex") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Just "tmtModifications") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Value]))) :*: (S1 ('MetaSel ('Just "tmtOriginalTx") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 TxSummary) :*: (S1 ('MetaSel ('Just "tmtModifiedTx") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe TxSummary)) :*: S1 ('MetaSel ('Just "tmtOutcome") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 ThreatModelTraceOutcome)))))

data ThreatModelTraceOutcome Source #

Outcome of applying a threat model to a transaction.

Constructors

TMTOPassed

Modified tx was correctly rejected by the ledger (good!)

TMTOFailed !Text

Modified tx was ACCEPTED by the ledger (vulnerability found!)

TMTOSkipped !Text

Couldn't test: rebalancing failed or precondition not met

TMTOError !Text

Unexpected error during threat model execution

Instances

Instances details
ToJSON ThreatModelTraceOutcome Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Generic ThreatModelTraceOutcome Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Associated Types

type Rep ThreatModelTraceOutcome :: Type -> Type #

Show ThreatModelTraceOutcome Source # 
Instance details

Defined in Convex.TestingInterface.Trace

Eq ThreatModelTraceOutcome Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep ThreatModelTraceOutcome Source # 
Instance details

Defined in Convex.TestingInterface.Trace

type Rep ThreatModelTraceOutcome = D1 ('MetaData "ThreatModelTraceOutcome" "Convex.TestingInterface.Trace" "convex-testing-interface-0.1.0.0-inplace" 'False) ((C1 ('MetaCons "TMTOPassed" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TMTOFailed" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text))) :+: (C1 ('MetaCons "TMTOSkipped" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :+: C1 ('MetaCons "TMTOError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text))))