You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A checklist of functional Integration and End-to-end tests to be implemented (see ADR-8 for overall strategy)
Integration tests
CLI
CLI-1: (PLT-6859) that the application starts correctly using each of the the cli options (mandatory and optional)
Mandatory flags: node config path, node socket path, marconi db directory, magic id
Optional flags: address filter and asset id filter
CLI-2: (PLT-6836) local validation correctly catches invalid input, such as incorrectness of address formats for all cli options that take an input and a useful error is shown.
CLI-3: query version has correct commit hash
RPC
RPC-1: (PLT-6865) that input validation catches each error scenario with useful feedback
use property tests to randomise invalid inputs ?
getUtxosFromAddress
invalid format address (e.g. pubkeyhash instead of Bech32)
unsupported address (e.g. stake address)
address not included in the --address-to-index
createdAfterSlotNo higher than current slot
createAfterSlotNo and unspentBeforeSlotNo not a natural number
unspentBeforeSlotNo value larger than createdAfterSlotNo
getBurnTokensEvents
invalid policyId hash
invalid afterTx id format
policyId not included in --match-asset-id filter
policyId is included in --match-asset-id filter but the assetName is not
afterTx value is not an existing burn txId (e.g. use one that only mints)
getNonceByEpoch
epochNo in future
epochNo in byron era
epochNo not a natural number
getActiveStakePoolDelegationByEpoch
epochNo not a natural number
epochNo in future
getActiveStakePoolDelegationByEpoch
epochNo not a natural number
epochNo in future
RPC-2: (PLT-6865) sanity check each RPC method for a valid query to prove validation doesn't block correct use (response data is not important)
use property tests to randomise invalid inputs ?
getCurrentSyncedBlock
getUtxosFromAddress
getBurnTokensEvents
getNonceByEpoch
getActiveStakePoolDelegationByEpoch
RPC-3: (PLT-6866) check that only mandatory fields are required for each method
RPC-4: getCurrentSyncedBlock test pre-fully-synced response ?
End-to-end tests
RPC-1: (PLT-6867) test query response for each method against known correct data when there is lots of other relevant transaction data around the same area (e.g. period or asset policy)
getCurrentSyncedBlock
check for valid values in result object (e.g. presence and bytestring length)
getUtxosFromAddress
check at least one unspent and one spent utxo for correct key attributes
use createdAfterSlotNo and unspentBeforeSlotNo together to find a specfic utxo
query using more than one address included in the --address-to-index filter
query address when no --address-to-index filter is used
getBurnTokensEvents
query using more than one policyId= and assetName pair included in the --match-asset-id filter
query policyId when no --match-asset-id is used
use slotNo and afterTx together to find a specific burn event
getNonceByEpoch
check for valid values in result object (e.g. known correct nonce)
getActiveStakePoolDelegationByEpoch
check for valid values in result object(e.g. check known delegation of a particular epoch remains consistent)
RPC-2: (PLT-6868) test query response for each method compared against db-sync's result for a board set of data (query with a wide time period and large number of addresses and assets)
A checklist of functional Integration and End-to-end tests to be implemented (see ADR-8 for overall strategy)
Integration tests
CLI
RPC
RPC-1: (PLT-6865) that input validation catches each error scenario with useful feedback
getUtxosFromAddressgetBurnTokensEventsgetNonceByEpochgetActiveStakePoolDelegationByEpochgetActiveStakePoolDelegationByEpochRPC-2: (PLT-6865) sanity check each RPC method for a valid query to prove validation doesn't block correct use (response data is not important)
getCurrentSyncedBlockgetUtxosFromAddressgetBurnTokensEventsgetNonceByEpochgetActiveStakePoolDelegationByEpochRPC-3: (PLT-6866) check that only mandatory fields are required for each method
RPC-4:
getCurrentSyncedBlocktest pre-fully-synced response ?End-to-end tests
getCurrentSyncedBlockgetUtxosFromAddressgetBurnTokensEventsgetNonceByEpochgetActiveStakePoolDelegationByEpochgetUtxosFromAddressgetBurnTokensEventsgetNonceByEpochgetActiveStakePoolDelegationByEpoch