Test Cases Report

Summary

The report contains statistics about test cases written using Google Test framework

Project Root Dir /Users/igor/cpp/iroha
Excluded Paths external
cmake
cmake-build-debug
build
shared_model/packages
shared_model/external
Report Generation Date 2018-12-05 12:56:32
Target File Extensions .cpp .cxx .cc .c .hpp .h
Target Cases Types TEST, TEST_F, TEST_P, TYPED_TEST_CASE
162
files with tests
945
test cases
205
lacks in description
20
disabled cases

Directories Tree

/Users/igor/cpp/iroha/test/
module
irohad
pending_txs_storage
test
framework
integration_framework

Test Cases

framework/test_subscriber_testing.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
58TestSubscriberTesting 
DefaultSubscriberTest
43TestSubscriberTesting 
UnsatisfiedCallExactTest
27TestSubscriberTesting 
ValidCallExactTest
integration/acceptance/add_asset_qty_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
29AddAssetQuantity 
Basicsome user with can_add_asset_qty permissionexecute tx with AddAssetQuantity commandthere is the tx in proposal
66AddAssetQuantity 
NegativeAmountpair of users with all required permissionsexecute tx with AddAssetQuantity command with negative amountthe tx hasn't passed stateless validation(aka skipProposal throws)
45AddAssetQuantity 
NoPermissionssome user without can_add_asset_qty permissionexecute tx with AddAssetQuantity commandverified proposal is empty
129AddAssetQuantity 
NonexistentAssetsome user with all required permissionsexecute tx with AddAssetQuantity command with nonexistent assetverified proposal is empty
101AddAssetQuantity 
Uint256DestOverflowpair of users with all required permissionsexecute two txes with AddAssetQuantity command with amount more than a uint256 max halffirst transaction is committed @and verified proposal is empty for thesecond
83AddAssetQuantity 
ZeroAmountpair of users with all required permissionsexecute tx with AddAssetQuantity command with zero amountthe tx hasn't passed stateless validation(aka skipProposal throws)
integration/acceptance/add_signatory_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
49AddSignatory 
BasicC224 Add existing public key of other usersome user with CanAddSignatory permission and a second userexecute tx with AddSignatory where the first is a creator and the second's key is added as a signatorythere is the tx in proposal
104AddSignatory 
GrantedPermissionC225 Add signatory to other user C227 Add signatory to an account, which granted permission to add it, and add the same public keysome user with CanAddMySignatory permission and a second user with granted CanAddMySignatoryexecute tx with AddSignatory where the second is a creator and the second's key is added as a signatorythere is the tx in proposal
164AddSignatory 
InvalidKeyC223 Add invalid public keysome user with CanAddMySignatory permissionexecute tx with AddSignatory with inexistent public keythe tx is stateless invalid
83AddSignatory 
NoPermissionC228 AddSignatory without such permissionssome user without CanAddSignatory permission and a second userexecute tx with AddSignatory where the first is a creator and the second's key is added as a signatorythere is the no tx in proposal
181AddSignatory 
NonExistedKeysome user with CanAddMySignatory permissionexecute tx with AddSignatory with a valid key which isn't associated with any userthere is no tx in proposal
148AddSignatory 
NonExistentUserC222 Add signatory to non-existing account IDsome user with CanAddMySignatory permissionexecute tx with AddSignatory with inexistent userthere is no tx in proposal
129AddSignatory 
NonGrantedPermissionC226 Add signatory to account, which isn't granted such permissionsome user with CanAddMySignatory permission and a second user without granted CanAddMySignatoryexecute tx with AddSignatory where the second is a creator and the second's key is added as a signatorythere is no tx in proposal
integration/acceptance/basic_mst_state_propagation.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
85BasicMstPropagationFixture 
MstStateOfTransactionWithoutAllSignaturesPropagtesToOtherPeerCheck that after sending a not fully signed transaction, an MST state propagtes to another peera not fully signed transactionsuch transaction is sent to one of two iroha peers in the networkthat peer propagates MST state to another peer
integration/acceptance/create_account_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
31CreateAccount 
Basicsome user with can_create_account permissionexecute tx with CreateAccount commandthere is the tx in proposal
148CreateAccount 
EmptyNamesome user with can_create_account permissionexecute tx with CreateAccount command with empty user namethe tx hasn't passed stateless validation(aka skipProposal throws)
91CreateAccount 
ExistingNamesome user with can_create_account permissionexecute tx with CreateAccount command with already existing usernameverified proposal is empty
113CreateAccount 
MaxLenNamesome user with can_create_account permissionexecute tx with CreateAccount command with maximum available lengththere is the tx in proposal
69CreateAccount 
NoDomainsome user with can_create_account permissionexecute tx with CreateAccount command with nonexistent domainverified proposal is empty
48CreateAccount 
NoPermissionssome user without can_create_account permissionexecute tx with CreateAccount commandverified proposal is empty
131CreateAccount 
TooLongNamesome user with can_create_account permissionexecute tx with CreateAccount command with too long lengththe tx hasn't passed stateless validation(aka skipProposal throws)
integration/acceptance/create_asset_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
46CreateAssetFixture 
Basicsome user with can_create_asset permissionthe user tries to create an assetasset is successfully created
95CreateAssetFixture 
ExistingNameC234 Create asset with an existing id (name)a user with can_create_asset permissionthe user tries to create asset that already existsstateful validation failed
121CreateAssetFixture 
ExistingNameDifferentPrecisionC234a Create asset with an existing id (name) but different precisiona user with can_create_asset permissionthe user tries to create asset that already exists but with different precisionstateful validation failed
76CreateAssetFixture 
IllegalCharactersInNameC235 Create asset with an empty name C236 Create asset with boundary values per name validationsome user with can_create_asset permissionthe user tries to create an asset with invalid or empty nameno asset is created
196CreateAssetFixture 
InvalidDomaina user with can_create_asset permissionthe user tries to create an asset in a domain with illegal charactersstateless validation failed
171CreateAssetFixture 
ValidNonExistingDomaina user with can_create_asset permissionthe user tries to create asset in valid but non existing domainstateful validation will be failed
147CreateAssetFixture 
WithoutPermissionC239 CreateAsset without such permissionsa user without can_create_asset permissionthe user tries to create assetstateful validation is failed
integration/acceptance/create_domain_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
29CreateDomain 
Basicsome user with can_create_domain permissionexecute tx with CreateDomain commandthere is the tx in proposal
162CreateDomain 
DISABLED
EmptyRoleName
some user with can_create_domain permissionexecute tx with CreateDomain command with empty role namethe tx hasn't passed stateless validation(aka skipProposal throws)
145CreateDomain 
EmptyNamesome user with can_create_domain permissionexecute tx with CreateDomain command with empty domain namethe tx hasn't passed stateless validation(aka skipProposal throws)
86CreateDomain 
ExistingNamesome user with can_create_domain permissionexecute tx with CreateDomain command with already existing domainverified proposal is empty
106CreateDomain 
MaxLenNamesome user with can_create_domain permissionexecute tx with CreateDomain command with maximum available lengththere is the tx in proposal
45CreateDomain 
NoPermissionssome user without can_create_domain permissionexecute tx with CreateDomain commandverified proposal is empty
65CreateDomain 
NoRolesome user with can_create_domain permissionexecute tx with CreateDomain command with nonexistent roleverified proposal is empty
129CreateDomain 
TooLongNamesome user with can_create_domain permissionexecute tx with CreateDomain command with too long lengththe tx hasn't passed stateless validation(aka skipProposal throws)
integration/acceptance/create_role_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
44CreateRole 
Basicsome user with can_create_role permissionexecute tx with CreateRole commandthere is the tx in proposal
156CreateRole 
DISABLED
NonexistentPerm
TODO 15/05/2018 andrei: IR-1267 fix builders setting default value for nonexisting permissionssome user with can_create_role permissionexecute tx with CreateRole command with nonexistent permission namethe tx hasn't passed stateless validation(aka skipProposal throws)
101CreateRole 
EmptyPermssome user with can_create_role permissionexecute tx with CreateRole command with empty permissionthe tx hasn't passed stateless validation(aka skipProposal throws)
84CreateRole 
EmptyRolesome user with can_create_role permissionexecute tx with CreateRole command with empty rolethe tx hasn't passed stateless validation(aka skipProposal throws)
172CreateRole 
ExistingRolesome user with can_create_role permissionexecute tx with CreateRole command with existing role namethere is an empty verified proposal
63CreateRole 
HaveNoPermssome user without can_create_role permissionexecute tx with CreateRole commandthere is an empty verified proposal
119CreateRole 
LongRoleNamesome user with can_create_role permissionexecute tx with CreateRole command with too long role namethe tx hasn't passed stateless validation(aka skipProposal throws)
136CreateRole 
MaxLenRoleNamesome user with can_create_role permissionexecute tx with CreateRole command with maximal role name sizethe tx is comitted
integration/acceptance/get_account_asset_txs_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
55AccountAssetTxsFixture 
DISABLED
OwnTxsIncludingAddAssetQuantity
a user with kGetAllAccAstTxs permissionthe user tries to retrieve a list of own asset transactions, which contain a transaction with addAssetQuantity commandall transactions are shownTODO igor-egorov, 2018-08-21, IR-1632, wrong response (response does notcontain transaction with addAssetQuantity command)
75AccountAssetTxsFixture 
DISABLED
OwnTxsIncludingSubtractAssetQuantity
a user with kGetAllAccAstTxs permissionthe user tries to retrieve a list of own asset transactions, which contain a transaction with subtractAssetQuantity commandall transactions are shownTODO igor-egorov, 2018-08-21, IR-1632, wrong response (response does notcontain transaction with subtractAssetQuantity command)
37AccountAssetTxsFixture 
DISABLED
ReadNonExistingAssetHavingAllTxsPermission
C347 Pass a non existing asset ida user with kGetAllAccAstTxs permissionthe user tries tor retrieve a list of own asset transactions specifying a non-existing asset idthe query recognized as stateful invalidTODO igor-egorov, 2018-08-21, IR-1631, wrong response (it returnsTransactionsResponse instead of ErrorQueryResponse)
19AccountAssetTxsFixture 
ReadEmptyAssetHavingAllTxsPermissionC346 Pass an empty asset ida user with kGetAllAccAstTxs permissionthe user tries to retrieve a list of own asset transactions specifying empty asset idthe query recognized as stateless invalid
integration/acceptance/get_account_assets_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
34AccountAssetsFixture 
NonAddedAssetsa user with all required permissionsGetAccountAssets is queried on the user with no assetsthere is an AccountAssetResponse reporting no asset presence
integration/acceptance/get_account_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
152GetAccount 
EmptyAccountC321 Pass an empty account ida user with all required permissionsGetAccount is queried on the empty account namequery is stateless invalid response
179GetAccount 
NoPermissionC315 Get my account without a CanGetMyAccount permissiona user without any query-related permissionGetAccount is queried on the userquery is stateful invalid response
223GetAccount 
NoPermissionOtherAccounta user without any permission and a user in the same domainGetAccount is queried on the second userquery is stateful invalid response
278GetAccount 
NoPermissionOtherAccountInterdomaina user with all required permissions and a user in other domainGetAccount is queried on the second userquery is stateful invalid response
165GetAccount 
NonexistentAccountC320 Get an non-existing accounta user with all required permissionsGetAccount is queried on the userquery is stateful invalid response
213GetAccount 
WithGetAllPermissionC317 Get my account with only CanGetAllAccounts permissiona user with GetAllAccounts permissionGetAccount is queried on the userthere is a valid AccountResponse
265GetAccount 
WithGetAllPermissionOtherAccounta user with GetAllAccounts permission and a user in the same domainGetAccount is queried on the second userthere is a valid AccountResponse
322GetAccount 
WithGetAllPermissionOtherAccountInterdomainC319 Get an account from another domain in the system having CanGetAllAccountsa user with all required permissions and a user in other domainGetAccount is queried on the second userthere is a valid AccountResponse
202GetAccount 
WithGetDomainPermissionC316 Get my account with only CanGetDomainAccounts permissiona user with GetDomainAccounts permissionGetAccount is queried on the userthere is a valid AccountResponse
252GetAccount 
WithGetDomainPermissionOtherAccountC318 Get an account from the domain having CanGetDomainAccountsa user with GetDomainAccounts permission and a user in the same domainGetAccount is queried on the second userthere is a valid AccountResponse
306GetAccount 
WithGetDomainPermissionOtherAccountInterdomaina user with all required permissions and a user in other domainGetAccount is queried on the second userquery is stateful invalid response
192GetAccount 
WithGetMyPermissionC322 Get my account with a CanGetMyAccount permissiona user with GetMyAccount permissionGetAccount is queried on the userthere is a valid AccountResponse
237GetAccount 
WithGetMyPermissionOtherAccounta user with GetMyAccount permission and a user in the same domainGetAccount is queried on the second userquery is stateful invalid response
292GetAccount 
WithGetMyPermissionOtherAccountInterdomaina user with all required permissions and a user in other domainGetAccount is queried on the second userquery is stateful invalid response
integration/acceptance/get_asset_info_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
106GetAssetInfo 
DISABLED
Basic
C363 Get asset info with CanReadAssets permissiona user with GetMyAccount permissionGetAssetInfo is queried on the userthere is a valid AccountResponseTODO(@l4l) 3/9/18: enable after IR-1668
116GetAssetInfo 
EmptyAssetC365 Pass an empty asset ida user with all required permissionsGetAssetInfo is queried on the empty asset namequery has stateless invalid response
141GetAssetInfo 
NoPermissionC364 Get asset info without CanReadAssets permissiona user without any query-related permissionGetAssetInfo is queried on the userquery has stateful invalid response
129GetAssetInfo 
NonexistentAssetC366 Pass a non-existing asset ida user with all required permissionsGetAssetInfo is queried on the userquery has stateful invalid response
integration/acceptance/get_role_permissions_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
24AcceptanceFixture 
CanGetRolePermissionsC369 Get role permissions by user with allowed GetRoles permissiona user with kGetRoles permissionthe user send query with getRolePermissions requestthere is a valid RolePermissionsResponse
49AcceptanceFixture 
CanNotGetRolePermissionsC370 Get role permissions without allowed GetRoles permissiona user without kGetRoles permissionthe user send query with getRolePermissions requestquery should be recognized as stateful invalid
integration/acceptance/get_roles_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
24AcceptanceFixture 
CanGetRolesa user with CanGetRoles permissionexecute query with getRoles commandthe query returns list of roles
55AcceptanceFixture 
CanNotGetRolesa user without CanGetRoles permissionexecute query with getRoles commandthere is no way to to get roles due to user hasn't permissions enough
integration/acceptance/get_transactions_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
86GetTransactions 
HaveGetAllTxsome user with only can_get_all_txs permissionquery GetTransactions of existing transaction of the userreceive TransactionsResponse with the transaction hash
114GetTransactions 
HaveGetMyTxsome user with only can_get_my_txs permissionquery GetTransactions of existing transaction of the userreceive TransactionsResponse with the transaction hash
61GetTransactions 
HaveNoGetPermssome user without can_get_{my,all}_txs permissionsquery GetTransactions of existing transaction of the userstateful validation fail returned
143GetTransactions 
InvalidSignaturessome user with only can_get_my_txs permissionquery GetTransactions of existing transaction of the user, but with invalid signaturesreceive StatefullErrorResponse
174GetTransactions 
NonexistentHashsome user with only can_get_my_txs permissionquery GetTransactions with nonexistent hashTransactionsResponse with no transactions
199GetTransactions 
OtherUserTxsome user with can_get_my_txsquery GetTransactions of existing transaction of the other userTransactionsResponse with no transactions
integration/acceptance/grant_permission_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
49GrantablePermissionsFixture 
GrantAddSignatoryPermissionC257 Grant add signatory permissionan account with rights to grant rights to other accounts AND the account grants add signatory rights to an existing account (permittee)the permittee adds signatory to the accounta block with transaction to add signatory to the account is writtenAND there is a signatory added by the permittee
284GrantablePermissionsFixture 
GrantMoreThanOnce
86GrantablePermissionsFixture 
GrantRemoveSignatoryPermissionC258 Grant remove signatory permissionan account with rights to grant rights to other accounts AND the account grants add and remove signatory rights to an existing account AND the permittee has added his/her signatory to the account AND the account revoked add signatory from the permitteethe permittee removes signatory from the accounta block with transaction to remove signatory from the account iswritten AND there is no signatory added by the permittee
188GrantablePermissionsFixture 
GrantSetAccountDetailPermissionC260 Grant set account detail permissionan account with rights to grant rights to other accounts AND the account grants set account detail permission to a permitteethe permittee sets account detail to the accounta block with transaction to set account detail is writtenAND the permittee is able to read the dataAND the account is able to read the data
140GrantablePermissionsFixture 
GrantSetQuorumPermissionC259 Grant set quorum permissionan account with rights to grant rights to other accounts AND the account grants add signatory rights AND set quorum rights to an existing account AND the permittee has added his/her signatory to the accountthe permittee changes the number of quorum in the accounta block with transaction to change quorum in the account is writtenAND the quorum number of account equals to the number, set by permittee
21GrantablePermissionsFixture 
GrantToInexistingAccountC256 Grant permission to a non-existing accountan account with rights to grant rights to other accountsthe account grants rights to non-existing accountthis transaction is stateful invalid
224GrantablePermissionsFixture 
GrantTransferPermissionC261 Grant transfer permissionan account with rights to grant transfer of his/her assets AND the account can receive assets AND the account has some amount of assets AND the account has permitted to some other account in the system to transfer his/her assetsthe permittee transfers assets of the accounta block with transaction to grant right is writtenAND the transfer is made
261GrantablePermissionsFixture 
GrantWithoutGrantPermissionsC262 GrantPermission without such permissionsan account !without! rights to grant rights to other accountsthe account grants rights to an existing accountthis transaction is statefully invalid
integration/acceptance/invalid_fields_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
38InvalidField 
Pubkeytx with CreateAccount command and invalid pub key sizesend itTorii returns stateless fail
22InvalidField 
Signaturetx with CreateAccount command and invalid signature sizesend itTorii returns stateless fail
integration/acceptance/queries_acceptance_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
316QueriesAcceptanceTest 
EmptySignInvalidPubKeypairquery with Keypair which contains empty signature and invalid public keyexecute any correct query with kGetRoles permissionsthe query should not pass stateless validation
244QueriesAcceptanceTest 
EmptySignValidPubKeypairquery with Keypair which contains empty signature and valid public keyexecute any correct query with kGetRoles permissionsthe query should not pass stateless validation
143QueriesAcceptanceTest 
FiveMinutesFromFuturequery with 5 minutes from future UNIX timeexecute any correct query with kGetRoles permissionsthe query returns list of roles
276QueriesAcceptanceTest 
FullyEmptyPubKeypairquery with Keypair which contains empty signature and empty public keyexecute any correct query with kGetRoles permissionsthe query should not pass stateless validation
227QueriesAcceptanceTest 
FullyInvalidKeypairquery with Keypair which contains invalid signature and invalid public keyexecute any correct query with kGetRoles permissionsthe query should not pass stateless validation
294QueriesAcceptanceTest 
InvalidSignEmptyPubKeypairquery with Keypair which contains invalid signature and empty public keyexecute any correct query with kGetRoles permissionsthe query should not pass stateless validation
191QueriesAcceptanceTest 
InvalidSignValidPubKeypairquery with Keypair which contains invalid signature but valid public keyexecute any correct query with kGetRoles permissionsthe query should not pass stateless validation
113QueriesAcceptanceTest 
Less24HourOldTimequery with less than 24 hour old UNIX timeexecute any correct query with kGetRoles permissionsthe query returns list of roles
128QueriesAcceptanceTest 
LessFiveMinutesFromFuturequery with less than 5 minutes from future UNIX timeexecute any correct query with kGetRoles permissionsthe query returns list of roles
96QueriesAcceptanceTest 
More24HourOldTimequery with more than 24 hour old UNIX timeexecute any correct query with kGetRoles permissionsthe query should not pass stateless validation
157QueriesAcceptanceTest 
MoreFiveMinutesFromFuturequery with more than 5 minutes from future UNIX timeexecute any correct query with kGetRoles permissionsthe query should not pass stateless validation
70QueriesAcceptanceTest 
NonExistentCreatorIdquery with a non-existent creator_account_idexecute any correct query with kGetRoles permissionsthe query should not pass stateful validation
82QueriesAcceptanceTest 
OneHourOldTimequery with an 1 hour old UNIX timeexecute any correct query with kGetRoles permissionsthe query returns list of roles
174QueriesAcceptanceTest 
TenMinutesFromFuturequery with 10 minutes from future UNIX timeexecute any correct query with kGetRoles permissionsthe query should not pass stateless validation
260QueriesAcceptanceTest 
ValidSignEmptyPubKeypairquery with Keypair which contains valid signature and empty public keyexecute any correct query with kGetRoles permissionsthe query should not pass stateless validation
209QueriesAcceptanceTest 
ValidSignInvalidPubKeypairquery with Keypair which contains valid signature but invalid public keyexecute any correct query with kGetRoles permissionsthe query should not pass stateless validation
integration/acceptance/query_permission_common_tests.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
20QueryPermissionFixture 
QueryPermissionTestingTypes
integration/acceptance/query_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
56QueryAcceptanceTest 
ParallelBlockQuerysome user with only can_get_my_txs permissionquery GetTransactions of existing transaction of the user in parallelreceive TransactionsResponse with the transaction hash
integration/acceptance/remove_signatory_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
50RemoveSignatory 
BasicC264 Remove signatory from own account C267 Remove signatory more than oncesome user with CanRemoveSignatory permission and its signatoryexecute tx with RemoveSignatory where the first is a creator and the second's key is removed as a signatorythe first such tx is committed,the same transaction afterward shouldn't pass stateful validation
201RemoveSignatory 
DISABLED
SignatoriesLesserThanQuorum
C268 Remove signatory so that account may have less signatories than the quorumsome user with CanRemoveSignatory permission, which account quorum is 2 AND its signatoryexecute tx with RemoveSignatory where the first is a creator and the second's key is removed as a signatorythere is no tx in proposalTODO: SetQuroum permission issue, enable after IR-920
97RemoveSignatory 
GrantedPermissionC265 Remove signatory from granted accountsome user with CanRemoveMySignatory permission and its signatory with granted CanRemoveMySignatoryexecute tx with RemoveSignatory where the second is a creator and the second's key is removed as a signatorythere is the tx in proposal
165RemoveSignatory 
InvalidKeyC266 Remove signatory with an invalid public keysome user with CanRemoveSignatory permissionexecute tx with RemoveSignatory with invalid public keythe tx is stateless invalid
74RemoveSignatory 
NoPermissionC263 RemoveSignatory without such permissionssome user without CanRemoveSignatory permission and its signatoryexecute tx with RemoveSignatory where the first is a creator and the second's key is removed as a signatorythere is the no tx in proposal
181RemoveSignatory 
NonExistedKeysome user with CanRemoveSignatory permissionexecute tx with RemoveSignatory with a key which isn't associated with any userthere is no tx in proposal
148RemoveSignatory 
NonExistentUsersome user with CanRemoveSignatory permissionexecute tx with RemoveSignatory with inexistent userthere is no tx in proposal
125RemoveSignatory 
NonGrantedPermissionsome user with CanRemoveMySignatory permission and its signatory without granted CanRemoveMySignatoryexecute tx with RemoveSignatory where the second is a creator and the second's key is removed as a signatorythere is no tx in proposal
integration/acceptance/replay_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
39ReplayFixture 
DISABLED
BasicTxReplay
Basic case of transaction replay attackan initialized ITF and a transactionthe transaction is sent to ITF twicethe second submission should be rejected
integration/acceptance/revoke_permission_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
284GrantRevokeFixture 
GrantablePermissionsTypes
96GrantablePermissionsFixture 
DISABLED
RevokeWithoutPermission
TODO igor-egorov, 2018-08-03, enable test casehttps://soramitsu.atlassian.net/browse/IR-1572
24GrantablePermissionsFixture 
RevokeFromNonExistingAccountC269 Revoke permission from a non-existing accountITF instance and only one account with can_grant permissionthe account tries to revoke grantable permission from non-existing accounttransaction would not be committed
53GrantablePermissionsFixture 
RevokeTwiceC271 Revoke permission more than onceITF instance, two accounts, the first account has granted a permission to the secondthe first account revokes the permission twicethe second revoke does not pass stateful validation
integration/acceptance/set_account_detail_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
178SetAccountDetail 
BigPossibleKeyC276a user with required permissionexecute tx with SetAccountDetail command with max keythere is the tx in block
196SetAccountDetail 
EmptyKeyC277a user with required permissionexecute tx with SetAccountDetail command with empty keythere is no tx in block
213SetAccountDetail 
EmptyValueC278a user with required permissionexecute tx with SetAccountDetail command with empty valuethere is no tx in block
231SetAccountDetail 
HugeKeyValueC279a user with required permissionexecute tx with SetAccountDetail command with huge both key and valuethere is no tx in block
74SetAccountDetail 
NonExistentUserC273a user with required permissionexecute tx with SetAccountDetail command with inexistent userthere is no tx in block
57SetAccountDetail 
SelfC274a user without can_set_detail permissionexecute tx with SetAccountDetail command aimed to the userthere is the tx in block
142SetAccountDetail 
WithGrantablePermC275a pair of users @and second has been granted can_set_my_detail from the firstthe first one tries to use SetAccountDetail on the secondthere is an empty verified proposal
118SetAccountDetail 
WithPerma pair of users and first one with can_set_detail permthe first one tries to use SetAccountDetail on the secondthere is the tx in block
92SetAccountDetail 
WithoutNoPermC280a pair of users and first one without permissionsthe first one tries to use SetAccountDetail on the secondthere is an empty verified proposal
integration/acceptance/set_account_quorum_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
61QuorumFixture 
CanLowerQuoruma user with two signatories linkedthe user tries to increase quorum and then to lower againall the transactions are committed
35QuorumFixture 
CanRaiseQuoruma user with two signatories linkedthe user tries to set own quorum equal twothe transaction is committed
48QuorumFixture 
CannotRaiseQuorumMoreThanSignaturesa user with two signatories linkedthe user tries to set own quorum more (3) than amount of signatories (2)the transaction did not pass stateful validation
82QuorumFixture 
CannotSetZeroQuoruma user with two signatories linkedthe user tries to set zero quorumthe transaction did not pass stateless validation
integration/acceptance/subtract_asset_qty_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
45SubtractAssetQuantity 
Everythingsome user with all required permissionsexecute tx with SubtractAssetQuantity command with max available amountthere is the tx in proposal
115SubtractAssetQuantity 
NegativeAmountpair of users with all required permissionsexecute tx with SubtractAssetQuantity command with negative amountthe tx hasn't passed stateless validation(aka skipProposal throws)
90SubtractAssetQuantity 
NoPermissionssome user without can_subtract_asset_qty permission@when execute tx with SubtractAssetQuantity commandthere is an empty verified proposal
148SubtractAssetQuantity 
NonexistentAssetsome user with all required permissionsexecute tx with SubtractAssetQuantity command with nonexistent assetthere is an empty verified proposal
66SubtractAssetQuantity 
Overdraftsome user with all required permissionsexecute tx with SubtractAssetQuantity command with amount more than user hasthere is an empty verified proposal
132SubtractAssetQuantity 
ZeroAmountpair of users with all required permissionsexecute tx with SubtractAssetQuantity command with zero amountthe tx hasn't passed stateless validation(aka skipProposal throws)
integration/acceptance/transfer_asset_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
81TransferAsset 
Basicpair of users with all required permissionsexecute tx with TransferAsset commandthere is the tx in proposal
336TransferAsset 
BigPrecisiona pair of users with all required permissions AND asset with big precisionasset is added and then TransferAsset is calledtxes passed commit and the state as intented
204TransferAsset 
EmptyDescpair of users with all required permissionsexecute tx with TransferAsset command with empty-str descriptionit passed to the proposal
303TransferAsset 
InterDomainsome user with all required permissionexecute tx with TransferAsset command where the destination user's domain differ from the source user onethe tx is commited
221TransferAsset 
LongDescpair of users with all required permissionsexecute tx with TransferAsset command with very long descriptionthe tx hasn't passed stateless validation(aka skipProposal throws)
238TransferAsset 
MoreThanHaspair of users with all required permissionsexecute tx with TransferAsset command with amount more, than user hasthere is an empty verified proposal
175TransferAsset 
NegativeAmountpair of users with all required permissionsexecute tx with TransferAsset command with negative amountthe tx hasn't passed stateless validation(aka skipProposal throws)
154TransferAsset 
NonexistentAssetpair of users with all required permissionsexecute tx with TransferAsset command with nonexistent assetthere is an empty verified proposal
135TransferAsset 
NonexistentDestsome user with all required permissionsexecute tx with TransferAsset command to nonexistent destinationthere is an empty verified proposal
287TransferAsset 
SourceIsDestsome user with all required permissionsexecute tx with TransferAsset command where the source and destination accounts are the samethe tx hasn't passed stateless validation(aka skipProposal throws)
259TransferAsset 
Uint256DestOverflowpair of users with all required permissions, and tx sender's balance is replenished if requiredexecute two txes with TransferAsset command with amount more than a uint256 max halffirst transaction is commited @and there is an empty verified proposalfor the second
115TransferAsset 
WithoutCanReceivepair of users AND the second user without can_receive permissionexecute tx with TransferAsset commandthere is an empty verified proposal
96TransferAsset 
WithoutCanTransferpair of users AND the first user without can_transfer permissionexecute tx with TransferAsset commandthere is an empty verified proposal
190TransferAsset 
ZeroAmountpair of users with all required permissionsexecute tx with TransferAsset command with zero amountthe tx hasn't passed stateless validation(aka skipProposal throws)
integration/acceptance/tx_acceptance_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
84AcceptanceTest 
DISABLED
TransactionLess24HourOld
some usersending transactions with an less than 24 hour old UNIX timereceive ENOUGH_SIGNATURES_COLLECTED statusAND STATEFUL_VALIDATION_SUCCESS on that tx
236AcceptanceTest 
EmptySignaturessome usersending transaction without any signaturethe response is STATELESS_VALIDATION_FAILED
47AcceptanceTest 
NonExistentCreatorAccountIdnon existent usersending transaction to the ledgerreceive ENOUGH_SIGNATURES_COLLECTED status@and verified proposal is empty for that transaction
133AcceptanceTest 
Transaction10MinutesFromFuturesome usersending transactions with an 10 minutes from future UNIX timereceive STATELESS_VALIDATION_FAILED status
66AcceptanceTest 
Transaction1HourOldsome usersending transactions with an 1 hour old UNIX timereceive ENOUGH_SIGNATURES_COLLECTED statusAND STATEFUL_VALIDATION_SUCCESS on that tx
116AcceptanceTest 
Transaction5MinutesFromFuturesome usersending transactions with an less that 5 minutes from future UNIX timereceive ENOUGH_SIGNATURES_COLLECTED statusAND STATEFUL_VALIDATION_SUCCESS on that tx
147AcceptanceTest 
TransactionEmptyPubKeysome usersending transactions with an empty public Keyreceive STATELESS_VALIDATION_FAILED status
164AcceptanceTest 
TransactionEmptySignedblobsome usersending transactions with an empty signedBlobreceive STATELESS_VALIDATION_FAILED status
178AcceptanceTest 
TransactionInvalidPublicKeysome usersending transactions with Invalid PublicKeyreceive STATELESS_VALIDATION_FAILED status
198AcceptanceTest 
TransactionInvalidSignedBlobsome usersending transactions with Invalid SignedBlockreceive STATELESS_VALIDATION_FAILED status
101AcceptanceTest 
TransactionMore24HourOldsome usersending transactions with an more than 24 hour old UNIX timereceive STATELESS_VALIDATION_FAILED status
221AcceptanceTest 
TransactionValidSignedBlobsome usersending transactions with valid signaturereceive ENOUGH_SIGNATURES_COLLECTED statusAND STATEFUL_VALIDATION_SUCCESS on that tx
integration/acceptance/tx_heavy_data.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
66HeavyTransactionTest 
DISABLED
ManyLargeTxes
TODO: refactor the test when all stability issues are fixed IR-1264 20/04/2018 neewysome user with all required permissionssend many txes with addAccountDetail with large data insidetransaction have been passed
115HeavyTransactionTest 
DISABLED
QueryLargeData
TODO: disabled until proposal process time in simulator is not optimized and the test freezes (on a proposal verification stage) IR-1264 20/04/2018 neewysome user with all required permissions AND max proposal size is 1.send txes with addAccountDetail with large data inside. AND transactions are passed stateful validationquery executed successfully
88HeavyTransactionTest 
DISABLED
VeryLargeTxWithManyCommands
TODO: enable the test when performance issues are solved IR-1264 14/05/2018 andreisome user with all required permissionssend tx with many addAccountDetails with large data insidetransaction is passed
integration/binary/binaries_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
12BinaryTestFixture 
BinaryTestTypes
integration/consensus/consensus_sunny_day.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
115ConsensusSunnyDayTest 
SunnyDayTestnum_peers peers with initialized YACpeers vote for same hashcommit is achieved
integration/pipeline/batch_pipeline_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
231BatchPipelineTest 
InvalidAtomicBatchatomic batch of two transactions, with one transaction being stateful invalidbatch is sent to irohano transaction is committed
291BatchPipelineTest 
InvalidOrderedBatchordered batch of three transactions, with one transaction being stateful invalidbatch is sent to irohaall transactions except stateful invalid one are committed
192BatchPipelineTest 
ValidBatchany type of batch (ordered or atomic) with two transactionstransactions are sent to irohaboth transactions are committed
integration/pipeline/multisig_tx_pipeline_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
247MstPipelineTest 
DISABLED
ReplayViaFullySignedTransaction
Disabled because fully signed transaction doesn't go through MST and pending transaction remains in query response IR-1329a ledger with mst user (quorum=3) createdthe user sends a transaction with only one signature, then sends the transaction with all three signaturesthere should be no pending transactions
178MstPipelineTest 
GetPendingTxsAwaitingForThisPeera user that has sent a semi-signed transaction to a ledgerthe user requests pending transactionsuser's semi-signed transaction is returned
206MstPipelineTest 
GetPendingTxsLatestSignaturesan empty ledgercreating pending transactions, which lack two or more signatures, @and signing those transactions with one signature @and executing get pending transactionsthey are returned with initial number of signatures plus one
227MstPipelineTest 
GetPendingTxsNoSignedTxsan empty ledgercreating pending transactions @and signing them with number of signatures to get over quorum @and executing get pending transactionsthose transactions are not returned
145MstPipelineTest 
OnePeerSendsTestmst account, pair of signers and tx with a SetAccountDetail commandsending that tx with author signature @and then with signers' onescommit appears only after tx is signed by all required signatories
integration/pipeline/pipeline_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
81PipelineIntegrationTest 
SendQueryGetAccount query with non-existing user AND default-initialized IntegrationTestFrameworkquery is sent to the frameworkquery response is ErrorResponse with STATEFUL_INVALID reason
111PipelineIntegrationTest 
SendTxsome usersending sample CreateDomain transaction to the ledgerreceive ENOUGH_SIGNATURES_COLLECTED status on that tx ANDtx is committed, thus non-empty verified proposal
147PipelineIntegrationTest 
SendTxSequencesome usersending sample create domain transactions to the ledgerreceive STATELESS_VALIDATION_SUCCESS status on that transactions,all transactions are passed to proposal and appear in verified proposal andblock
184PipelineIntegrationTest 
SendTxSequenceAwait@give some usersending transaction sequence with stateful valid transactions to the ledger using sendTxSequence await methodall transactions appear in the block
206PipelineIntegrationTest 
SuccessfulCommitAfterEmptyBlockCheck that after no transactions were committed we are able to send and apply new transactionscreateFirstDomain and createSecondDomain transactionsfirst domain is created second timeblock with no transactions is createdAND after that createSecondDomain transaction can be executed and applied
integration/validation/chain_validator_storage_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
173ChainValidatorStorageTest 
InvalidHashinitialized storage block 1 - initial block with 4 peers block 2 - invalid previous hash, signed by supermajorityblock 2 is validatedresult is not successful
149ChainValidatorStorageTest 
NoPeerAddedinitialized storage with 4 peers block 1 - initial block with 4 peers block 2 - signed by supermajority of ledger peers block 3 - signed by supermajority of ledger peersblocks 2 and 3 are validatedresult is successful
195ChainValidatorStorageTest 
NoSupermajorityinitialized storage block 1 - initial block with 4 peers block 2 - signed by only 2 out of 4 peers, no supermajorityblock 2 is validatedresult is not successful
121ChainValidatorStorageTest 
PeerAddedinitialized storage block 1 - initial block with 4 peers block 2 - new peer added. signed by supermajority of ledger peers block 3 - signed by supermajority of ledger peers, contains signature of new peerblocks 2 and 3 are validatedresult is successful
module/iroha-cli/client_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
356ClientServerTest 
SendQueryWhenInvalidJson
424ClientServerTest 
SendQueryWhenStatefulInvalid
377ClientServerTest 
SendQueryWhenStatelessInvalid
395ClientServerTest 
SendQueryWhenValid
241ClientServerTest 
SendTxWhenInvalidJson
301ClientServerTest 
SendTxWhenStatefulInvalidThis test checks, if tx, which did not pass stateful validation, is shown to client with a corresponding status and error messagereal client and mocked pcssending a stateless valid transaction @and failing it at stateful validationensure that client sees:- status of this transaction as STATEFUL_VALIDATION_FAILED- error message is the same, as the one with which transaction wasfailed
262ClientServerTest 
SendTxWhenStatelessInvalid
222ClientServerTest 
SendTxWhenValid
module/irohad/ametsuchi/ametsuchi_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
365AmetsuchiTest 
AddSignatoryTest
629AmetsuchiTest 
FindTxByHashTestinitialized storageinsert block with 2 transactions inboth of them are found with getTxByHashSync call by hash. Transactionwith some other hash is not found.
139AmetsuchiTest 
GetBlocksCompletedWhenCalled
731AmetsuchiTest 
OrderingServicePersistentStorageDifferentConnectionsTest2 different initialized storages for ordering servicesave proposal height to the first onethe state is consistent
705AmetsuchiTest 
OrderingServicePersistentStorageRestartTestinitialized storage for ordering servicesave proposal heightload proposal height and ensure it is correct
684AmetsuchiTest 
OrderingServicePersistentStorageTestinitialized storage for ordering servicesave proposal heightload proposal height and ensure it is correct
221AmetsuchiTest 
PeerTest
151AmetsuchiTest 
SampleTest
763AmetsuchiTest 
TestRestoreWSVspoiled WSVWSV is restoredWSV is valid
597AmetsuchiTest 
TestingStorageWhenCommitBlockcreated storagecommit blockcommitted block is emitted to observable
568AmetsuchiTest 
TestingStorageWhenInsertBlock
241AmetsuchiTest 
queryGetAccountAssetTransactionsTest
958PreparedBlockTest 
CommitPreparedFailsAfterCommitStorage with prepared stateanother block is appliedcommitPrepared fails @and prepared state is not applied
911PreparedBlockTest 
CommitPreparedStateChangedStorage with prepared stateprepared state is appliedstate of the ledger is changed
936PreparedBlockTest 
PrepareBlockCommitDifferentBlockStorage with prepared stateanother block is appliedstate of the ledger is changed to that of the applied blockand not of the prepared state
891PreparedBlockTest 
PrepareBlockNoStateChangedTemporaryWSV with several transactionsblock is prepared for two phase commitstate of the ledger remains unchanged
module/irohad/ametsuchi/block_query_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
119BlockQueryTest 
GetAccountTransactionsFromSeveralBlocksblock store with 2 blocks totally containing 3 txs created by user1@test AND 1 tx created by user2@testquery to get transactions created by user1@test is invokedquery over user1@test returns 3 txs
135BlockQueryTest 
GetAccountTransactionsFromSingleBlockblock store with 2 blocks totally containing 3 txs created by user1@test AND 1 tx created by user2@testquery to get transactions created by user2@test is invokedquery over user2@test returns 1 tx
150BlockQueryTest 
GetAccountTransactionsNonExistingUserblock storequery to get transactions created by user with id not registered in the system is invokedquery returns empty result
309BlockQueryTest 
GetBlockButItIsInvalidBlockblock store with 2 blocks totally containing 3 txs created by user1@test AND 1 tx created by user2@test. Block #1 is filled with trash data (NOT JSON).read block #1get no blocks
287BlockQueryTest 
GetBlockButItIsNotJSONblock store with 2 blocks totally containing 3 txs created by user1@test AND 1 tx created by user2@test. Block #1 is filled with trash data (NOT JSON).read block #1get no blocks
270BlockQueryTest 
GetBlocksFrom1block store with 2 blocks totally containing 3 txs created by user1@test AND 1 tx created by user2@testget all blocks starting from 1returned all blocks (2)
248BlockQueryTest 
GetBlocks_Count0block store with 2 blocks totally containing 3 txs created by user1@test AND 1 tx created by user2@testcount=0no blocks returned
237BlockQueryTest 
GetExactlyOneBlockblock store with 2 blocks totally containing 3 txs created by user1@test AND 1 tx created by user2@testheight=1, count=1returned exactly 1 block
226BlockQueryTest 
GetNonExistentBlockblock store with 2 blocks totally containing 3 txs created by user1@test AND 1 tx created by user2@testget non-existent 1000th blocknothing is returned
333BlockQueryTest 
GetTop2Blocksblock store with 2 blocks totally containing 3 txs created by user1@test AND 1 tx created by user2@testget top 2 blockslast 2 blocks returned with correct height
405BlockQueryTest 
GetTopBlockFailempty block storegetTopBlock is invoked on this block storeresult must be a string error, because no block was fetched
394BlockQueryTest 
GetTopBlockSuccessblock store with preinserted blocksgetTopBlock is invoked on this block storereturned top block's height is equal to the inserted one's
163BlockQueryTest 
GetTransactionsExistingTxHashesblock store with 2 blocks totally containing 3 txs created by user1@test AND 1 tx created by user2@testquery to get transactions with existing transaction hashesqueried transactions
179BlockQueryTest 
GetTransactionsIncludesNonExistingTxHashesblock store with 2 blocks totally containing 3 txs created by user1@test AND 1 tx created by user2@testquery to get transactions with non-existing transaction hashesnullopt values are retrieved
197BlockQueryTest 
GetTransactionsWithEmptyblock store with 2 blocks totally containing 3 txs created by user1@test AND 1 tx created by user2@testquery to get transactions with empty vectorno transactions are retrieved
210BlockQueryTest 
GetTransactionsWithInvalidTxAndValidTxblock store with 2 blocks totally containing 3 txs created by user1@test AND 1 tx created by user2@testquery to get transactions with non-existing txhash and existing txhashqueried transactions and empty transaction
259BlockQueryTest 
GetZeroBlockblock store with 2 blocks totally containing 3 txs created by user1@test AND 1 tx created by user2@testget zero blockno blocks returned
350BlockQueryTest 
HasTxWithExistingHashblock store with preinserted blockscheckTxPresence is invoked on existing transaction hashCommitted status is returned
366BlockQueryTest 
HasTxWithMissingHashblock store with preinserted blocks user1@test AND 1 tx created by user2@testcheckTxPresence is invoked on non-existing hashMissing status is returned
381BlockQueryTest 
HasTxWithRejectedHashblock store with preinserted blocks containing rejected_hash1 in one of the blockcheckTxPresence is invoked on existing rejected hashRejected is returned
module/irohad/ametsuchi/block_query_transfer_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
169BlockQueryTransferTest 
GrantedTransferblock store and index with block containing 1 transaction from creator 3 with transfer from creator 1 to creator 2 sending assetquery to get asset transactions of transaction creatorquery returns the transaction
153BlockQueryTransferTest 
ReceiverAssetNameblock store and index with block containing 1 transaction with transfer from creator 1 to creator 2 sending assetquery to get asset transactions of receiverquery returns the transaction
137BlockQueryTransferTest 
SenderAssetNameblock store and index with block containing 1 transaction with transfer from creator 1 to creator 2 sending assetquery to get asset transactions of senderquery returns the transaction
185BlockQueryTransferTest 
TwoBlocksblock store and index with 2 blocks containing 1 transaction with transfer from creator 1 to creator 2 sending assetquery to get asset transactions of senderquery returns the transactions
module/irohad/ametsuchi/flat_file_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
193BlStore_Test 
AddExistingIdempty folder with one entrytries to add an entry with an existing idadd() fails
116BlStore_Test 
BlockStoreInitializationFromNonemptyFoldernon-empty folder from previous block storenew block storage is initializednew block storage has all blocks from the folder
96BlStore_Test 
BlockStoreWhenAbsentFolder
66BlStore_Test 
BlockStoreWhenRemoveBlock
138BlStore_Test 
EmptyDumpDir@given empty folder namecheck consistency fails
174BlStore_Test 
GetDeniedBlockblock store with one entryuser has not enough permissionsget() fails
162BlStore_Test 
GetDirectoryempty folder with block storeFlatFile was createddirectory() returns bock store path
148BlStore_Test 
GetNonExistingFileempty folder with block storeblock id does not existget() fails
48BlStore_Test 
Read_Write_Test
221BlStore_Test 
WriteDeniedFolderempty folder with block storetries do add an entry having not enough permissionsadd() fails
211BlStore_Test 
WriteEmptyFolderempty foldertries to create FlatFile with empty pathFlatFile creation fails
module/irohad/ametsuchi/kv_storage_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
97KVTest 
GetNonexistingUserDetailno details is set in account1detail of account1 is queried using GetAccountDetailnullopt is returned
112KVTest 
SetAccountDetailstorage with account containing age inserted using SetAccountDetailget account detail is invokedcorrect age of user2 is returned
module/irohad/ametsuchi/postgres_executor_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
246AddAccountAssetTest 
InvalidAssetcommandtrying to add account asset with non-existing assetaccount asset fails to be added
218AddAccountAssetTest 
NoPermscommandtrying to add account asset without permissionaccount asset not added
263AddAccountAssetTest 
Uint256Overflowcommandtrying to add account asset that overflowsaccount asset fails to added
192AddAccountAssetTest 
Validcommandtrying to add account assetaccount asset is successfully added
318AddPeer 
NoPermscommandtrying to add peer without permspeer is not added
307AddPeer 
Validcommandtrying to add peerpeer is successfully added
417AddSignatory 
ExistingPubKeycommandsuccessfully adding signatory to the account @and trying to add the same signatory againsignatory is not added
397AddSignatory 
NoPermscommandtrying to add signatory without permissionssignatory is not added
353AddSignatory 
Validcommandtrying to add signatory with role permissionsignatory is successfully added
369AddSignatory 
ValidGrantablePermscommandtrying to add signatory with grantable permissionsignatory is successfully added
493AppendRole 
AccountDoesNotHavePermsGenesiscommandtrying to append role with perms that creator does not have but in genesis blockrole is appended
554AppendRole 
NoAccountcommandtrying to append role to non-existing accountrole is not appended
513AppendRole 
NoPermscommandtrying to append role having no permission to do sorole is not appended
571AppendRole 
NoRolecommandtrying to append non-existing rolerole is not appended
535AppendRole 
NoRolePermsInAccountcommandtrying to append role with perms that creator does not haverole is not appended
456AppendRole 
Validcommandtrying to append rolerole is appended
474AppendRole 
ValidEmptyPermscommandtrying append role, which does not have any permissionsrole is appended
665CreateAccount 
NameExistscommandtrying to create with an occupied nameaccount is not created
651CreateAccount 
NoDomaincommand @and no target domain in ledgertrying to create accountaccount is not created
634CreateAccount 
NoPermscommandtrying to create account without permission to do soaccount is not created
619CreateAccount 
Validcommandtrying to create accountaccount is created
779CreateAsset 
NameNotUniquecommandtrying to create asset with an occupied nameasset is not created
753CreateAsset 
NoDomaincommand and no target domain in ledgertrying to create assetasset is not created
722CreateAsset 
NoPermscommandtrying to create asset without permissionasset is not created
691CreateAsset 
Validcommandtrying to create assetasset is created
859CreateDomain 
NameNotUniquecommandtrying to create domain with an occupied namedomain is not created
875CreateDomain 
NoDefaultRolecommand when there is no default roletrying to create domaindomain is not created
844CreateDomain 
NoPermscommand when there is no permstrying to create domaindomain is not created
830CreateDomain 
Validcommandtrying to create domaindomain is created
944CreateRole 
NameNotUniquecommandtrying to create role with an occupied namerole is not created
924CreateRole 
NoPermscommandtrying to create role when creator doesn't have all permissionsrole is not created
910CreateRole 
Validcommandtrying to create rolerole is created
1022DetachRole 
NoAccountcommandtrying to detach role from non-existing accountcorrespondent error code is returned
1003DetachRole 
NoPermscommandtrying to detach role without permissionrole is detached
1053DetachRole 
NoRolecommandtrying to detach a non-existing rolecorrespondent error code is returned
1036DetachRole 
NoSuchRoleInAccountcommandtrying to detach role, which the account does not havecorrespondent error code is returned
988DetachRole 
Validcommandtrying to detach rolerole is detached
1130GrantPermission 
NoAccountcommandtrying to grant permission to non-existent accountcorresponding error code is returned
1109GrantPermission 
NoPermscommandtrying to grant permission without permissionpermission is not granted
1092GrantPermission 
Validcommandtrying to grant permissionpermission is granted
1259RemoveSignatory 
NoAccountcommandtrying to remove signatory from a non existing accountcorresponding error code is returned
1233RemoveSignatory 
NoPermscommandtrying to remove signatory without permissionsignatory is not removed
1279RemoveSignatory 
NoSuchSignatorycommandtrying to remove signatory, which is not attached to this accountcorresponding error code is returned
1310RemoveSignatory 
SignatoriesLessThanQuorumcommandtrying to remove signatory from an account, after which it will have signatories less, than its quorumsignatory is not removed
1175RemoveSignatory 
Validcommandtrying to remove signatorysignatory is successfully removed
1198RemoveSignatory 
ValidGrantablePermcommandtrying to remove signatorysignatory is successfully removed
1392RevokePermission 
NoPermscommandtrying to revoke permission without permissionpermission is revoked
1357RevokePermission 
Validcommandtrying to revoke permissionpermission is revoked
1518SetAccountDetail 
NoAccountcommandtrying to set kv to non-existing accountcorresponding error code is returned
1497SetAccountDetail 
NoPermscommandtrying to set kv while having no permissionscorresponding error code is returned
1443SetAccountDetail 
Validcommandtrying to set kvkv is set
1457SetAccountDetail 
ValidGrantablePermcommandtrying to set kv when has grantable permissionkv is set
1480SetAccountDetail 
ValidRolePermcommandtrying to set kv when has role permissionkv is set
1617SetQuorum 
LessSignatoriesThanNewQuorumcommandtrying to set quorum more than amount of signatoriesquorum is not set
1604SetQuorum 
NoPermscommandtrying to set quorum without permsquorum is not set
1564SetQuorum 
Validcommandtrying to set quorumquorum is set
1577SetQuorum 
ValidGrantablePermscommandtrying to set quorumquorum is set
1764SubtractAccountAssetTest 
InvalidPrecisioncommandtrying to add account asset with wrong precisionaccount asset fails to be added
1747SubtractAccountAssetTest 
NoAssetcommandtrying to subtract account asset with non-existing assetaccount asset fails to be subtracted
1714SubtractAccountAssetTest 
NoPermscommandtrying to subtract account asset without permissionscorresponding error code is returned
1782SubtractAccountAssetTest 
NotEnoughAssetcommandtrying to subtract more account asset than account hasaccount asset fails to be subtracted
1678SubtractAccountAssetTest 
Validcommandtrying to subtract account assetaccount asset is successfully subtracted
1964TransferAccountAssetTest 
NoAccountcommandtrying to transfer asset back and forth with non-existing accountaccount asset fails to be transferred
2014TransferAccountAssetTest 
NoAssetcommandtrying to transfer account asset with non-existing assetaccount asset fails to be transferred
1943TransferAccountAssetTest 
NoPermscommandtrying to transfer account asset with no permissionsaccount asset fails to be transferred
2037TransferAccountAssetTest 
Overdraftcommandtrying to transfer account asset, but has insufficient amount of itaccount asset fails to be transferred
2064TransferAccountAssetTest 
OverflowDestinationcommandtrying to transfer account asset, but final value overflows the destination's asset valueaccount asset fails to be transferred
1856TransferAccountAssetTest 
Validcommandtrying to add transfer assetaccount asset is successfully transferred
1899TransferAccountAssetTest 
ValidGrantablePermscommandtrying to add transfer assetaccount asset is successfully transferred
module/irohad/ametsuchi/postgres_options_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
19PostgresOptionsTestDBnameParamExistpg_opt string with param1, param2 and dbnamePostgresOptions object is created from given pg_opt stringPostgresOptions contains dbname withAND optionsString is equal to given pg_opt stringAND optionsStringWithoutDbName is equal to pg_opt string without dbname param
38PostgresOptionsTestDBnameParamNotExistpg_opt string param1 and param2PostgresOptions object is created from given pg_opt stringPostgresOptions does not contain dbnameAND optionsString equals to given pg_opt stringAND optionsStringWithoutDbName also equal pg_opt string
module/irohad/ametsuchi/postgres_query_executor_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
213BlocksQueryExecutorTest 
BlocksQueryExecutorTestInvalid
201BlocksQueryExecutorTest 
BlocksQueryExecutorTestValid
619GetAccountAssetExecutorTest 
DISABLED
InvalidNoAccount
initialized storage, permissionget account assets of non existing accountReturn error
601GetAccountAssetExecutorTest 
InvalidDifferentDomaininitialized storage, domain permissionget account assets of other user in the other domainReturn error
553GetAccountAssetExecutorTest 
ValidAllAccountsinitialized storage, global permissionget account assets of other userReturn account asset
577GetAccountAssetExecutorTest 
ValidDomainAccountinitialized storage, domain permissionget account assets of other user in the same domainReturn account asset
529GetAccountAssetExecutorTest 
ValidMyAccountinitialized storage, permission to his/her accountget account assetsReturn account asset of user
1452GetAccountAssetTransactionsExecutorTest 
InvalidDifferentDomaininitialized storage, domain permissionget account asset transactions of other user in the other domainReturn error
1397GetAccountAssetTransactionsExecutorTest 
ValidAllAccountsinitialized storage, global permissionget account asset transactions of other userReturn account asset transactions
1424GetAccountAssetTransactionsExecutorTest 
ValidDomainAccountinitialized storage, domain permissionget account asset transactions of other user in the same domainReturn account asset transactions
1370GetAccountAssetTransactionsExecutorTest 
ValidMyAccountinitialized storage, permission to his/her accountget account asset transactionsReturn account asset transactions of user
757GetAccountDetailExecutorTest 
InvalidDifferentDomaininitialized storage, domain permissionget account detail of other user in the other domainReturn error
776GetAccountDetailExecutorTest 
InvalidNoAccountinitialized storage, permissionget account detail of non existing accountReturn error
712GetAccountDetailExecutorTest 
ValidAllAccountsinitialized storage, global permissionget account detail of other userReturn account detail
734GetAccountDetailExecutorTest 
ValidDomainAccountinitialized storage, domain permissionget account detail of other user in the same domainReturn account detail
796GetAccountDetailExecutorTest 
ValidKeydetails, inserted into one account by two writers, with one of the keys repeatedperforming query to retrieve details under this keygetAccountDetail will return details from both writers under thespecified key
848GetAccountDetailExecutorTest 
ValidKeyWriterdetails, inserted into one account by two writers, with one of the keys repeatedperforming query to retrieve details under this key and added by one of the writersgetAccountDetail will return only details, which are under thespecified key and added by the specified writer
690GetAccountDetailExecutorTest 
ValidMyAccountinitialized storage, permission to his/her accountget account detailReturn account detail
821GetAccountDetailExecutorTest 
ValidWriterdetails, inserted into one account by two writersperforming query to retrieve details, added by one of the writersgetAccountDetail will return only details, added by the specifiedwriter
315GetAccountExecutorTest 
InvalidDifferentDomaininitialized storage, domain permissionget account information about other user in the other domainReturn error
335GetAccountExecutorTest 
InvalidNoAccountinitialized storage, permissionget account information about non existing accountReturn error
272GetAccountExecutorTest 
ValidAllAccountsinitialized storage, global permissionget account information about other userReturn account
293GetAccountExecutorTest 
ValidDomainAccountinitialized storage, domain permissionget account information about other user in the same domainReturn account
251GetAccountExecutorTest 
ValidMyAccountinitialized storage, permission to his/her accountget account informationReturn account
1286GetAccountTransactionsExecutorTest 
DISABLED
InvalidNoAccount
initialized storage, permissionget account transactions of non existing accountReturn empty account transactions
1268GetAccountTransactionsExecutorTest 
InvalidDifferentDomaininitialized storage, domain permissionget account transactions of other user in the other domainReturn error
1212GetAccountTransactionsExecutorTest 
ValidAllAccountsinitialized storage, global permissionget account transactions of other userReturn account transactions
1240GetAccountTransactionsExecutorTest 
ValidDomainAccountinitialized storage, domain permissionget account transactions of other user in the same domainReturn account transactions
1182GetAccountTransactionsExecutorTest 
ValidMyAccountinitialized storage, permission to his/her accountget account transactionsReturn account transactions of user
1043GetAssetInfoExecutorTest 
Invalidinitialized storage, no permissionsget asset infoError
1025GetAssetInfoExecutorTest 
InvalidNoAssetinitialized storage, all permissionsget asset info of non existing assetError
1000GetAssetInfoExecutorTest 
Validinitialized storage, permission to read all system assetsget asset infoReturn asset
968GetRolePermsExecutorTest 
Invalidinitialized storage, no permission to read all rolesget role permissionsReturn error
950GetRolePermsExecutorTest 
InvalidNoRoleinitialized storage, permission to read all roles, role does not existget role permissionsReturn error
926GetRolePermsExecutorTest 
Validinitialized storage, permission to read all rolesget role permissionsReturn role permissions
902GetRolesExecutorTest 
Invalidinitialized storage, no permission to read all rolesget system rolesReturn Error
878GetRolesExecutorTest 
Validinitialized storage, permission to read all rolesget system rolesReturn roles
444GetSignatoriesExecutorTest 
InvalidDifferentDomaininitialized storage, domain permissionget signatories of other user in the other domainReturn error
463GetSignatoriesExecutorTest 
InvalidNoAccountinitialized storage, permissionget signatories of non existing accountReturn error
398GetSignatoriesExecutorTest 
ValidAllAccountsinitialized storage, global permissionget signatories of other userReturn signatories
421GetSignatoriesExecutorTest 
ValidDomainAccountinitialized storage, domain permissionget signatories of other user in the same domainReturn signatories
376GetSignatoriesExecutorTest 
ValidMyAccountinitialized storage, permission to his/her accountget signatoriesReturn signatories of user
1308GetTransactionsHashExecutorTest 
ValidAllAccountsinitialized storage, global permissionget transactions of other userReturn transactions
1336GetTransactionsHashExecutorTest 
ValidMyAccountinitialized storage, permission to his/her accountget transactionsReturn transactions of user
1472QueryExecutorTest 
TransactionsStorageIsAccessedinitialized storageget pending transactionspending txs storage will be requested for query creator account
module/irohad/ametsuchi/storage_init_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
71StorageInitTest 
CreateStorageWithDatabasePostgres options string with dbname paramCreate storage using that options stringDatabase is created
95StorageInitTest 
CreateStorageWithInvalidPgOptBad Postgres options string with nonexisting user in itCreate storage using that options stringDatabase is not created and error case is executed
module/irohad/ametsuchi/tx_presence_cache_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
46TxPresenceCacheTemplateTest 
CacheStatusTypes
69TxPresenceCacheTest 
BadStoragestorage which cannot create block querycache asked for hash statuscache returns boost::none
108TxPresenceCacheTest 
BatchHashTestbatch with 3 transactions: Rejected, Committed and Missingcache asked for batch statuscache returns BatchStatusCollectionType with Rejected, Committed andMissing statuses accordingly
81TxPresenceCacheTest 
MissingThenCommittedHashTesthash which has a Missing and then Committed status in storagecache asked for hash statuscache returns Missing and then Committed status
module/irohad/ametsuchi/wsv_query_command_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
490AccountGrantablePermissionTest 
DeleteAccountGrantablePermissionWhenAccountsPermissionExistWSV command to delete grantable permission with valid parameterstrying to delete grantable permissionsgrantable permissions are deleted
447AccountGrantablePermissionTest 
InsertAccountGrantablePermissionWhenAccountsExistWSV command and account exists and valid grantable permissionstrying to insert grantable permissionsgrantable permissions are inserted
475AccountGrantablePermissionTest 
InsertAccountGrantablePermissionWhenNoAccount
465AccountGrantablePermissionTest 
InsertAccountGrantablePermissionWhenNoPermitteeAccountWSV command and invalid permittee and valid grantable permissionstrying to insert grantable permissionsgrantable permissions are not inserted
386AccountRoleTest 
DeleteAccountRoleWhenExistinserted role, domaininsert and delete account rolerole is detached
399AccountRoleTest 
DeleteAccountRoleWhenNoAccountinserted role, domainno account existnothing is deleted
412AccountRoleTest 
DeleteAccountRoleWhenNoRoleinserted role, domainno role existnothing is deleted
343AccountRoleTest 
InsertAccountRoleWhenAccountRoleExistWSV command and account exists and valid account roletrying to insert accountaccount role is inserted
357AccountRoleTest 
InsertAccountRoleWhenNoAccountWSV command and account does not exist and valid account roletrying to insert accountaccount role is not inserted
371AccountRoleTest 
InsertAccountRoleWhenNoRoleWSV command and account exists and invalid account roletrying to insert accountaccount role is not inserted
238AccountTest 
GetAccountDetailInvalidWhenNotFounddatabase without needed accountperforming query to retrieve non-existent account's detailsgetAccountDetail will return nullopt
247AccountTest 
GetAccountDetailWithAccountdetails, inserted for one accountperforming query to retrieve all account's detailsgetAccountDetail will return all details of this account
265AccountTest 
GetAccountDetailWithKeydetails, inserted into one account by two writers, with one of the keys repeatedperforming query to retrieve details under this keygetAccountDetail will return details from both writers under thespecified key
312AccountTest 
GetAccountDetailWithKeyAndWriterdetails, inserted into one account by two writers, with one of the keys repeatedperforming query to retrieve details under this key and added by one of the writersgetAccountDetail will return only details, which are under thespecified key and added by the specified writer
291AccountTest 
GetAccountDetailWithWriterdetails, inserted into one account by two writersperforming query to retrieve details, added by one of the writersgetAccountDetail will return only details, added by the specifiedwriter
229AccountTest 
GetAccountInvalidWhenNotFounddatabase without needed accountperforming query to retrieve non-existent accountgetAccount will return nullopt
158AccountTest 
InsertAccountWithJSONDatainserted role, domaininsert account with filled json dataget account and check json data is the same
200AccountTest 
InsertNewComplexJSONDataAccountinserted role, domain, accountinsert to account new complex json dataget account and check json data is the same
170AccountTest 
InsertNewJSONDataAccountinserted role, domain, accountinsert to account new json dataget account and check json data is the same
185AccountTest 
InsertNewJSONDataToOtherAccountinserted role, domain, accountinsert to account new json dataget account and check json data is the same
215AccountTest 
UpdateAccountJSONDatainserted role, domain, accountupdate json data in accountget account and check json data is the same
566DatabaseInvalidTest 
QueryInvalidWhenDatabaseInvalidnot set up databaseperforming query to retrieve information from nonexisting tablesquery will return nullopt
518DeletePeerTest 
DeletePeerValidWhenPeerExistsstorage with peertrying to delete existing peerpeer is successfully deleted
531GetAssetTest 
GetAssetInvalidWhenAssetDoesNotExistdatabase without needed assetperforming query to retrieve non-existent assetgetAsset will return nullopt
542GetDomainTest 
GetDomainInvalidWhenDomainDoesNotExistdatabase without needed domainperforming query to retrieve non-existent assetgetAsset will return nullopt
135RolePermissionsTest 
InsertRolePermissionsWhenNoRoleWSV command and role doesn't exist and valid permissionstrying to insert role permissionsRolePermissions are not inserted
122RolePermissionsTest 
InsertRolePermissionsWhenRoleExistsWSV command and role exists and valid permissionstrying to insert role permissionsRolePermissions are inserted
97RoleTest 
InsertRoleWhenInvalidNameWSV command and invalid role nametrying to insert new rolerole is failed
84RoleTest 
InsertRoleWhenValidNameWSV command and valid role nametrying to insert new rolerole is successfully inserted
105RoleTest 
InsertTwoRole
module/irohad/common/blob_converter_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
25ConverterTestUsageTest
module/irohad/common/raw_block_loader_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
19BlockLoaderTestBlockLoaderJsonParsingblock in json formatconverting json to block using raw block loadercheck that the block is correct
module/irohad/consensus/yac/cluster_order_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
41ClusterOrderTest 
BadClusterOrderCreationempty peers listcluster order is createdcreate function returns empty object
47ClusterOrderTest 
ClusterOrderOnNext
31ClusterOrderTest 
GoodClusterOrderCreationnonempty peers listcluster order is createdcreate function returns nonempty object
module/irohad/consensus/yac/network_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
71YacNetworkTest 
MessageHandledWhenMessageSentinitialized networksend vote to itselfvote handled
module/irohad/consensus/yac/peer_orderer_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
120YacPeerOrdererTest 
FairnessTestinitial peer list in the ledger@when calling ordering function on hash ["1" to "N"] k times@test histogram must be from uniform distibution
91YacPeerOrdererTest 
PeerOrdererInitialOrderWhenInvokeFailCase
82YacPeerOrdererTest 
PeerOrdererInitialOrderWhenInvokeNormalCase
107YacPeerOrdererTest 
PeerOrdererOrderingWhenInvokeFaillCase
99YacPeerOrdererTest 
PeerOrdererOrderingWhenInvokeNormalCase
module/irohad/consensus/yac/supermajority_checker_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
88SupermajorityCheckerTest 
PublicKeyUniquenessa pair of peers and a pair different signatures by the first peerhasSupermajority is calledit return false
75SupermajorityCheckerTest 
RejectProofNegativeCase7 participants, 6 votedcheck range of frequent elementscorrect result
62SupermajorityCheckerTest 
RejectProofSuccessfulCase7 participants, 6 votedcheck range of frequent elementscorrect result
30SupermajorityCheckerTest 
SuperMajorityCheckWithSize22 participantscheck range of voted participantscorrect result
45SupermajorityCheckerTest 
SuperMajorityCheckWithSize44 participantscheck range of voted participantscorrect result
module/irohad/consensus/yac/timer_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
43TimerTest 
FirstInvokedWhenOneSubmitted
34TimerTest 
NothingInvokedWhenDenied
51TimerTest 
SecondInvokedWhenTwoSubmitted
module/irohad/consensus/yac/yac_block_storage_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
68YacBlockStorageTest 
YacBlockStorageWhenGetVotes
75YacBlockStorageTest 
YacBlockStorageWhenIsContains
38YacBlockStorageTest 
YacBlockStorageWhenNormalDataInput
56YacBlockStorageTest 
YacBlockStorageWhenNotCommittedAndCommitAcheive
module/irohad/consensus/yac/yac_common_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
18YacCommonTestSameProposalTest
33YacCommonTestgetProposalHashTest
module/irohad/consensus/yac/yac_crypto_provider_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
72YacCryptoProviderTest 
InvalidWhenMessageChanged
57YacCryptoProviderTest 
ValidWhenSameMessage
module/irohad/consensus/yac/yac_gate_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
168YacGateTest 
LoadBlockWhenDifferentCommityac gatevoting for one block @and receiving anotheryac gate will load the block, for which consensus voted, @and emit it
239YacGateTest 
LoadBlockWhenDifferentCommitFailFirstyac gatereceives new commit different to the one it voted forpolls nodes for the block with corresponding hash until it succeed,(receiving none on the first poll)
331YacGateTest 
ProperCommitTypeWhenDifferentBlockyac gatevoting for one block @and receiving anotheremited commit will have indication that the block is different fromthe one we voted for
292YacGateTest 
ProperCommitTypeWhenSameCommityac gatevoting for the block @and receiving it on commityac gate will emit this block with the indication that it is the same
144YacGateTest 
YacGateSubscribtionTestFailCaseyac gateunsuccesfully trying to retrieve peers ordersystem will not crash
103YacGateTest 
YacGateSubscriptionTestyac gatevoting for the block @and receiving it on commityac gate will emit this block
module/irohad/consensus/yac/yac_hash_provider_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
38YacHashProviderTestMakeYacHashTest
61YacHashProviderTestToModelHashTest
module/irohad/consensus/yac/yac_proposal_storage_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
40YacProposalStorageTest 
YacProposalStorageWhenCommitCase
59YacProposalStorageTest 
YacProposalStorageWhenInsertNotUnique
70YacProposalStorageTest 
YacProposalStorageWhenRejectCase
module/irohad/consensus/yac/yac_rainy_day_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
58YacTest 
InvalidCaseWhenDoesNotVerifyyac consensus2 peers vote for one hash and 2 for another, but yac_crypto verify always returns falsereject is not propagated
24YacTest 
InvalidCaseWhenNotReceiveSupermajorityyac consensus with four peerstwo peers vote for one hash and two for anothercommit does not happen, instead send_reject is triggered on transport
93YacTest 
ValidCaseWhenReceiveOnVoteAfterRejectyac consensus with 6 peerson_reject happens due to 2 peers vote for one hash and 3 peers vote for another and then last 6th peer votes for any hash, he directly receives reject message, because on_reject already happenedreject message will be called in total 7 times (peers size + 1 whoreceives reject directly)
module/irohad/consensus/yac/yac_simple_cold_case_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
165YacTest 
PropagateCommitBeforeNotifyingSubscribersApplyRejectinitialized YACreceive 2 * f votes for one hash AND receive reject message which triggers commitcommit is NOT propagated in the networkAND it is passed to pipeline
134YacTest 
PropagateCommitBeforeNotifyingSubscribersApplyVoteinitialized YACreceive supermajority of votes for a hashcommit is sent to the network before notifying subscribers
102YacTest 
YacWhenColdStartAndAchieveCommitMessageinitialized YAC with empty storagereceive commit messagecommit is not broadcastedAND commit is emitted to observable
48YacTest 
YacWhenColdStartAndAchieveOneVoteTest provide scenario when yac cold started and achieve one vote
72YacTest 
YacWhenColdStartAndAchieveSupermajorityOfVotesTest provide scenariowhen yac cold started and achieve supermajority of votes
31YacTest 
YacWhenVotingTest provide scenario when yac vote for hash
module/irohad/consensus/yac/yac_sunny_day_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
50YacTest 
ValidCaseWhenReceiveCommit
91YacTest 
ValidCaseWhenReceiveCommitTwiceinitialized YAC with empty statevote for hash AND receive commit for voted hash AND receive second commit for voted hashcommit is emitted onceAND timer is denied once
24YacTest 
ValidCaseWhenReceiveSupermajority
132YacTest 
ValidCaseWhenSoloConsensus
167YacTest 
ValidCaseWhenVoteAfterCommit
module/irohad/consensus/yac/yac_unknown_peer_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
50YacTest 
UnknownVoteAfterCommitinitialized yac AND received commitreceive vote from unknown peer for committed hashcommit not emitted
24YacTest 
UnknownVoteBeforeCommitinitialized yacreceive vote from unknown peercommit not emitted
module/irohad/logger/logger_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
35LoggerTestboolReprTest
52LoggerTestcollectionToStringEmpty
45LoggerTestcollectionToStringNotEmpty
22LoggerTestgetLoggerTest
40LoggerTestlogBoolTest
module/irohad/main/server_runner_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
34ServerRunnerTestSamePortNoReusea running ServerRunneranother ServerRunner tries to run on the same port without port reuseResult with error is returned
55ServerRunnerTestSamePortWithReusea running ServerRunneranother ServerRunner tries to run on the same port with port reuseResult with port number is returned
module/irohad/model/converters/json_block_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
39JsonBlockTest 
InvalidWhenFieldsMissing
30JsonBlockTest 
ValidWhenWellFormed
module/irohad/model/converters/json_commands_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
60JsonCommandTest 
ClassHandlerTest
81JsonCommandTest 
InvalidWhenUnknownCommandType
105JsonCommandTest 
add_asset_quantity
138JsonCommandTest 
add_peer
152JsonCommandTest 
add_signatory
167JsonCommandTest 
add_signatory_abstract_factory
261JsonCommandTest 
append_role
189JsonCommandTest 
create_account
174JsonCommandTest 
create_asset
97JsonCommandTest 
create_domain
283JsonCommandTest 
create_role
272JsonCommandTest 
detach_role
301JsonCommandTest 
grant_permission
216JsonCommandTest 
remove_signatory
313JsonCommandTest 
revoke_permission
202JsonCommandTest 
set_account_detail
230JsonCommandTest 
set_account_quorum
244JsonCommandTest 
set_transfer_asset
124JsonCommandTest 
subtract_asset_quantitySubtractAssetQuantitySet all dataReturn Json Data
module/irohad/model/converters/json_query_factory_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
42QuerySerializerTestClassHandlerTest
88QuerySerializerTestDeserializeGetAccountAssetsWhenValid
112QuerySerializerTestDeserializeGetAccountDetailWhenValidThe json transaction that has valid and invalid hashes.Deserialize the json transaction.Validate the invalid hash is skipped and the only valid deserialized.
76QuerySerializerTestDeserializeGetAccountWhenInvalid
57QuerySerializerTestDeserializeGetAccountWhenValid
131QuerySerializerTestDeserializeWhenUnknownType
222QuerySerializerTestSerialiizeGetTransactions
188QuerySerializerTestSerializeGetAccount
199QuerySerializerTestSerializeGetAccountAssets
211QuerySerializerTestSerializeGetAccountTransactions
231QuerySerializerTestSerializeGetSignatories
242QuerySerializerTestget_asset_info
254QuerySerializerTestget_role_permissions
248QuerySerializerTestget_roles
154QuerySerialzierTestDeserializeGetTransactionsWithInvalidHashThe json transaction that has valid and invalid hashes.Deserialize the json transaction.Validate the invalid hash is skipped and the only valid deserialized.
module/irohad/model/converters/json_transaction_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
44JsonTransactionTest 
InvalidWhenFieldsMissing
56JsonTransactionTest 
InvalidWhenNegativeAddAssetQuantity
32JsonTransactionTest 
ValidWhenWellFormed
module/irohad/model/converters/pb_block_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
35BlockTestbl_test
module/irohad/model/converters/pb_commands_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
49CommandTestadd_asset_quantity
82CommandTestadd_peer
98CommandTestadd_signatory
113CommandTestadd_signatory_abstract_factory
235CommandTestappend_role
145CommandTestcreate_account
129CommandTestcreate_asset
120CommandTestcreate_domain
212CommandTestcreate_role
248CommandTestdetach_role
261CommandTestgrant_permission
156CommandTestremove_signatory
274CommandTestrevoke_permission
287CommandTestset_account_detail
171CommandTestset_account_quorum
186CommandTestset_transfer_asset
68CommandTestsubtract_asset_quantitySubtractAssetQuantitySet all dataReturn Protobuf Data
module/irohad/model/converters/pb_query_factory_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
42PbQueryFactoryTestSerializeGetAccount
72PbQueryFactoryTestSerializeGetAccountAssets
91PbQueryFactoryTestSerializeGetAccountDetailGetAccountDetailSet all dataReturn Protobuf Data
103PbQueryFactoryTestSerializeGetAccountTransactions
126PbQueryFactoryTestSerializeGetSignatories
117PbQueryFactoryTestSerializeGetTransactions
149PbQueryFactoryTestget_asset_info
144PbQueryFactoryTestget_role_permissions
139PbQueryFactoryTestget_roles
module/irohad/model/converters/pb_query_responses_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
61QueryResponseTestAccountAsset
99QueryResponseTestAccountDetailResponseAccountDetailResponseSet all dataReturn Protobuf Data
38QueryResponseTestAccountResponseTest
23QueryResponseTestAccountTest
119QueryResponseTestSignatoriesTest
136QueryResponseTestTransactionsResponseTest
190QueryResponseTestasset_response
173QueryResponseTestrole_permissions
156QueryResponseTestroles_response
module/irohad/model/converters/pb_transaction_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
33TransactionTesttx_test
module/irohad/model/model_crypto_provider_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
59CryptoProviderTest 
SameQueryHashAfterSign
47CryptoProviderTest 
SignAndVerifyQuery
35CryptoProviderTest 
SignAndVerifyTransaction
module/irohad/model/operators/model_operators_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
66ModelOperatorTestAddAssetQuantityTest
49ModelOperatorTestAddPeerTest
107ModelOperatorTestAddSignatoryTest
242ModelOperatorTestAppendRoleTest
367ModelOperatorTestBlockTest
126ModelOperatorTestCreateAccountTest
145ModelOperatorTestCreateAssetTest
163ModelOperatorTestCreateDomainTest
231ModelOperatorTestCreateRoleTest
253ModelOperatorTestDetachRoleTest
264ModelOperatorTestGrantPermissionTest
181ModelOperatorTestRemoveSignatoryTest
275ModelOperatorTestRevokePermissionTest
199ModelOperatorTestSetQuorumTest
293ModelOperatorTestSignatureTest
89ModelOperatorTestSubtractAssetQuantityTestSubtractAssetQuantitySame dataReturn true.
340ModelOperatorTestTransactionTest
220ModelOperatorTestTransferAssetTest
module/irohad/multi_sig_transactions/gossip_propagation_strategy_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
137GossipPropagationStrategyTestEmitEvenOnOddPeerslist of peers and strategy that emits two peersstrategy emits more than peers availableensure that there's been emitted peers
117GossipPropagationStrategyTestEmittingAllPeerslist of peers and strategy that emits two peersstrategy emits this peersensure that all peers are being emitted
154GossipPropagationStrategyTestEmptyEmittingno peers and strategystrategy emits this peersensure that empty peer list is emitted
164GossipPropagationStrategyTestErrorEmittingnullopt emitting instead of peers list and strategystrategy emits this peersensure that empty peer list is emitted
175GossipPropagationStrategyTestMultipleSubsEmissionlist of peers and strategy that emits two peersstrategy emits more than peers availableensure that there's been emitted peers
module/irohad/multi_sig_transactions/mst_net_input_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
21MstNetInteractionTypelessCommandITFit receives MstState that contains a transaction with a command, where command type is not setthere should be no SEGFAULT
module/irohad/multi_sig_transactions/mst_processor_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
202MstProcessorTest 
completedTransactionUsecaseinitialised mst processor AND wrappers on mst observablesthe same transaction arrives with different signatures AND the resulting set of signatures satisfies the account quorum numbercheck that:state is updated the same number of times as transaction arrival minus oneAND 1 prepared transactionAND absent expired transactions
307MstProcessorTest 
emptyStatePropagationinitialized mst processor AND our state contains one transaction AND one peer with the same state as ourreceived notification about new propagationcheck that transport was not invoked
230MstProcessorTest 
expiredTransactionUsecaseinitialised mst processor AND wrappers on mst observablesinsert (by propagate_batch method) batch that already expired with quorum onecheck that:state is updatedAND 0 prepared transaction (although quorum 1)AND 1 expired transactions
174MstProcessorTest 
newSignatureNotCompletedinitialised mst processor AND wrappers on mst observables AND uncompleted batch in mstnew signature for that batch is received, but total number of them is still not enoughcheck that:state update observer is calledAND absent prepared transactionsAND absent expired transactions
149MstProcessorTest 
notCompletedTransactionUsecaseinitialised mst processor AND wrappers on mst observablesan incomplete batch is insertedcheck that:notification about new batch is sentAND absent prepared transactionsAND absent expired transactions
285MstProcessorTest 
onNewPropagationUsecase
256MstProcessorTest 
onUpdateFromTransportUsecaseinitialised mst processor AND our state contains one transactions TX with quorum 2 AND wrappers on mst observablesreceived new state from other peer via transport, that contains TX with another signaturecheck that:state observer is not calledAND 1 prepared transactionAND 0 expired transactions
122MstProcessorTest 
receivedSameSignaturesinitialised mst processor AND wrappers on mst observables AND uncompleted batch in mstthe same signature for that batch is receivedcheck that:absent state update transactionsAND absent prepared transactionsAND absent expired transactions
module/irohad/multi_sig_transactions/state_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
21StateTestCreateStateempty stateinsert one batchchecks that state contains the inserted batch
180StateTestDifferenceTesttwo states with a common elementdifference of the states is takenthe common element is present in the difference set
87StateTestDifferentSignaturesUnionTestprepared state with 3 batchesinsert the batches, which are not present in the statechecks that all batches are here
346StateTestRemovingTestWhenByTimeHasExpireda state with two batches AND an empty statethe second state is removed from the first state AND erase by time is calledchecks that the resulting state does not contain any transactions
316StateTestTimeIndexInsertionByAddStatetwo states with expired transactionsmerge them AND make states expiredchecks that all expired transactions are preserved in expired state
292StateTestTimeIndexInsertionByTxa timepoint AND a state with an expired transactionerase by time is calledthe resulting state contains the expired transaction
120StateTestUnionStateWhenSameTransactionHaveDifferentSignaturestwo empty statesinsert transaction with quorum 2 to one state AND insert same transaction with another signature to second state AND merge statescheck that merged state contains both signatures
153StateTestUnionStateWhenTransactionsSamegiven two states with one common transaction but with different signaturesstates are mergedthe common transaction is not appeared in the resulting state
36StateTestUpdateExistingStateempty stateinsert batches with different signatureschecks that signatures are merged into the state
60StateTestUpdateStateWhenTransacionsSameempty stateinsert batch with same signatures two timeschecks that the state contains only one signature
244StateTestUpdateStateWithNewStateUntilQuorumtwo states with one common partially signed transactionthe states are mergedthe resulting state contains one signed transaction
214StateTestUpdateTxUntillQuoruman empty statea partially signed transaction with quorum 3 is inserted 3 timeseach time new signature inserted state gives this batch back @andreturned statuses correspond to actual ones @and the resulting state containsone signed transaction
module/irohad/multi_sig_transactions/storage_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
68StorageTest 
StorageInsertOtherState
50StorageTest 
StorageWhenApplyOtherState
89StorageTest 
StorageWhenCreate
80StorageTest 
StorageWhenCreateValidDiff
module/irohad/multi_sig_transactions/transport_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
158TransportTest 
ReplayAttackChecks that replayed transactions would not pass MST (receiving of already processed transactions would not cause new state generation)an instance of MstTransportGrpcexactly the same state reaches MST two times (in general, the state can be different but should contain exactly the same batch both times)for the first time the mock of tx_presence_cache says that thetransactions of the batch are not found in cache, and mst produced andpropagated new state that contains the batch. At the second time, the mock oftx_presence cache says that the transactions from the batch were previouslyrejected, so the state propagated via onNewState call would not contain thetest batch.
61TransportTest 
SendAndReceive@brief Sends data over MstTransportGrpc (MstState and Peer objects) and receives them. When received deserializes them end ensures that deserialized objects equal to objects before sending.Initialized transport AND MstState for transferSend state via transportAssume that received state same as sent
module/irohad/network/block_loader_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
330BlockLoaderTest 
NoBlocksInStorageblock loader @and empty consensus cache @and no blocks in storageretrieveBlock is called with some block hashconsensus cache is missed @and block storage is missed @and blockloader returns nothing
275BlockLoaderTest 
ValidWhenBlockMissingblock loader @and consensus cache with a block @and mocked storage with two blocksretrieveBlock is called with a hash of previous blockconsensus cache is missed @and block loader tries to fetch block fromthe storage
251BlockLoaderTest 
ValidWhenBlockPresentblock loader @and consensus cache with a blockretrieveBlock is called with the related hashit returns the same block @and block loader service does not askstorage
207BlockLoaderTest 
ValidWhenMultipleBlocksblock loader, a block, and additional num_blocks blocksretrieveBlocks is calledit returns consecutive heights
173BlockLoaderTest 
ValidWhenOneBlockblock loader and a pair of consecutive blocksretrieveBlocks is calledthe last one is returned
153BlockLoaderTest 
ValidWhenSameTopBlockCurrent block height 1 => Other block height 1 => no blocks receivedempty storage, related block loader and base blockretrieveBlocks is callednothing is returned
303BlockLoaderTest 
ValidWithEmptyCacheblock loader @and empty consensus cache @and two blocks in storageretrieveBlock is called with first block's hashconsensus cache is missed @and block loader tries to fetch block fromthe storage
module/irohad/ordering/on_demand_cache_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
47OnDemandCachePopcache with batch1 in the head, batch2 in the middle and batch3 in the tailpop is invoked 4 timesfirst three times batch1, batch2 and batch3 will be returnedcorrespondingly and no batch will be returned 4th time
110OnDemandCacheRemovecache with batch1, batch2, and batch3 on the topremove({batch2, batch3}) is invokedonly batch1 remains on the head of the queue
26OnDemandCacheTestTestAddToBackempty cacheadd to back is invoked with batch1 and batch2back of the cache consists has batch1 and batch2
module/irohad/ordering/on_demand_connection_manager_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
64OnDemandConnectionManagerTest 
FactoryUsedOnDemandConnectionManagerpeers observable is triggerednew peers are requested from factory
75OnDemandConnectionManagerTest 
onBatchesinitialized OnDemandConnectionManageronBatches is calledpeers get data for propagation
102OnDemandConnectionManagerTest 
onRequestProposalinitialized OnDemandConnectionManageronRequestProposal is called AND proposal is returnedpeer is triggeredAND return data is forwarded
124OnDemandConnectionManagerTest 
onRequestProposalNoneinitialized OnDemandConnectionManageronRequestProposal is called AND no proposal is returnedpeer is triggeredAND return data is forwarded
module/irohad/ordering/on_demand_ordering_gate_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
279OnDemandOrderingGateTest 
BatchesRemoveFromCacheinitialized ordering gatean block round event is received from the PCSall batches from that event are removed from the cache
88OnDemandOrderingGateTest 
BlockEventinitialized ordering gatea block round event with height is received from the PCS AND a proposal is successfully retrieved from the networknew proposal round based on the received height is initiated
143OnDemandOrderingGateTest 
BlockEventNoProposalinitialized ordering gatea block round event with height is received from the PCS AND a proposal is not retrieved from the networknew empty proposal round based on the received height is initiated
115OnDemandOrderingGateTest 
EmptyEventinitialized ordering gatean empty block round event is received from the PCS AND a proposal is successfully retrieved from the networknew proposal round based on the received height is initiated
173OnDemandOrderingGateTest 
EmptyEventNoProposalinitialized ordering gatean empty block round event is received from the PCS AND a proposal is not retrieved from the networknew empty proposal round based on the received height is initiated
204OnDemandOrderingGateTest 
ReplayedTransactionInProposalinitialized ordering gatenew proposal arrives and the transaction was already committedthe resulting proposal emitted by ordering gate does not containthis transaction
251OnDemandOrderingGateTest 
SendBatchesFromTheCacheinitialized ordering gateblock event with no batches is emitted @and cache contains batch1 and batch2 on the headbatch1 and batch2 are propagated to network
71OnDemandOrderingGateTest 
propagateBatchinitialized ordering gatea batch is receivedit is passed to the ordering service
module/irohad/ordering/on_demand_os_client_grpc_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
49OnDemandOsClientGrpcTest 
onBatchesclientonBatches is calleddata is correctly serialized and sent
91OnDemandOsClientGrpcTest 
onRequestProposalclientonRequestProposal is called AND proposal returneddata is correctly serialized and sentAND reply is correctly deserialized
123OnDemandOsClientGrpcTest 
onRequestProposalNoneclientonRequestProposal is called AND no proposal returneddata is correctly serialized and sentAND reply is correctly deserialized
module/irohad/ordering/on_demand_os_server_grpc_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
116OnDemandOsServerGrpcTest 
RequestProposalserverproposal is requested AND proposal returnedit is correctly serialized
151OnDemandOsServerGrpcTest 
RequestProposalNoneserverproposal is requested AND no proposal returnedthe result is correctly serialized
74OnDemandOsServerGrpcTest 
SendBatchesservercollection is received from the networkit is correctly deserialized and passed
module/irohad/ordering/on_demand_os_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
290OnDemandOsTest 
AlreadyProcessedProposalDiscardedinitialized on-demand OSadd a batch which was already commitedthe batch is not present in a proposal
162OnDemandOsTest 
DISABLED
ConcurrentInsert
initialized on-demand OSsend transactions from different threads AND initiate next roundcheck that all transactions appear in proposal
117OnDemandOsTest 
EmptyRoundinitialized on-demand OSdon't send transactions AND initiate next roundcheck that previous round doesn't have proposal
194OnDemandOsTest 
Eraseinitialized on-demand OSinsert proposal_limit rounds twiceon second rounds check that old proposals are expired
219OnDemandOsTest 
EraseRejectinitialized on-demand OSinsert proposal_limit rounds twice AND outcome is rejecton second rounds check that old proposals are expired
131OnDemandOsTest 
NormalRoundinitialized on-demand OSsend number of transactions less that limit AND initiate next roundcheck that previous round has all transaction
146OnDemandOsTest 
OverflowRoundinitialized on-demand OSsend number of transactions greater that limit AND initiate next roundcheck that previous round has only limit of transactionsAND the rest of transactions isn't appeared in next after next round
312OnDemandOsTest 
PassMissingTransactioninitialized on-demand OSadd a batch with new transactionbatch is present in a proposal
336OnDemandOsTest 
SeveralTransactionsOneCommitedinitialized on-demand OSadd 3 batches, with second one being already commited2 new batches are in a proposal and already commited batch is discarded
244OnDemandOsTest 
UseFactoryForProposalinitialized on-demand OS @and some transactions are sent to itproposal is requested after calling onCollaborationOutcomecheck that proposal factory is called and returns a proposal
module/irohad/ordering/ordering_gate_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
91OrderingGateTest 
ProposalReceivedByGateWhenSentInitialized OrderingGateEmulation of receiving proposal from the networkRound starts <==> proposal is emitted to subscribers
291QueueBehaviorTest 
CommitBeforeProposalInitialized OrderingGate AND MockPeerCommunicationServicecommit is received before any proposalsold proposals are discarded and new is propagated
317QueueBehaviorTest 
CommitNewerThanAllProposalsInitialized OrderingGate AND MockPeerCommunicationServicecommit is received which newer than all proposalsall proposals are discarded and none are propagated
247QueueBehaviorTest 
DiscardOldProposalsInitialized OrderingGate AND MockPeerCommunicationServiceReceive commits which are newer than existing proposalson_proposal is not invoked on proposalswhich are older than last committed block
267QueueBehaviorTest 
KeepNewerProposalsInitialized OrderingGate AND MockPeerCommunicationServiceProposals are newer than received commitsnewer proposals are kept in queue
224QueueBehaviorTest 
ReceiveUnorderedInitialized OrderingGate AND MockPeerCommunicationServiceReceive proposals in random orderon_proposal output is ordered
171QueueBehaviorTest 
SendManyProposalsInitialized OrderingGate AND MockPeerCommunicationServiceSend two proposals AND one commit in nodeCheck that send round appears after commit
module/irohad/ordering/ordering_service_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
270OrderingServiceTest 
BatchesProceedCheck that batches are processed by ordering serviceordering service up and runningfeeding the ordering service two batches, such that number of transactions in both summed is greater than maximum number of transactions inside proposalproposal will still contain number of transactions, equal to sum of thebatches
211OrderingServiceTest 
BrokenPersistentStateOrdering service and the persistent state that cannot save proposalsonTransaction is calledno published proposal
232OrderingServiceTest 
ConcurrentGenerateProposalOrdering service up and runningSend 1000 transactions from each of 2 threadsOrdering service should not crash
117OrderingServiceTest 
SimpleTestOrderingService and MockOrderingServiceTransportpublishProposal is called at transportpublishProposalProxy is called
145OrderingServiceTest 
ValidWhenProposalSizeStrategyOrderingService with max_proposal==5 and only self peer and MockOrderingServiceTransport and MockOrderingServicePersistentStateOrderingService::onTransaction called 10 timespublishProposalProxy called twiceand proposal height was loaded once and saved twice
178OrderingServiceTest 
ValidWhenTimerStrategyOrderingService with big enough max_proposal and only self peer and MockOrderingServiceTransport and MockOrderingServicePersistentStateOrderingService::onTransaction called 8 times and after triggered timeout and then repeat with 2 onTransaction callspublishProposalProxy called twiceand proposal height was loaded once and saved twice
module/irohad/pending_txs_storage/pending_txs_storage_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
249PendingTxsStorageFixture 
ExpiredBatchBatches with expired transactions should be removed from storage.a batch with semi-signed transaction as MST updatethe batch expiresstorage removes the batch
41PendingTxsStorageFixture 
FixutureSelfCheckTest that check that fixture common preparation procedures can be done successfully.empty MST statetwo mst transactions generated as batchthe transactions can be added to MST state successfully
62PendingTxsStorageFixture 
InsertionTestTransactions insertion works in PendingTxsStorageBatch of two transactions and storagestorage receives updated mst state with the batchlist of pending transactions can be received for all batch creators
214PendingTxsStorageFixture 
PreparedBatchBatches with fully signed transactions (prepared transactions) should be removed from storagea batch with semi-signed transaction as MST updatethe batch collects all the signaturesstorage removes the batch
174PendingTxsStorageFixture 
SeparateBatchesDoNotOverwriteStorageNew updates do not overwrite the whole statetwo MST updates with different batchesupdates arrives to storage sequentiallyupdates don't overwrite the whole storage state
133PendingTxsStorageFixture 
SeveralBatchesStorage correctly handles storing of several batchesMST state update with three batches insidedifferent users asks pending transactionsusers receives correct responses
100PendingTxsStorageFixture 
SignaturesUpdateUpdated batch replaces previously existedBatch with one transaction with one signature and storagetransaction inside batch receives additional signaturepending transactions response is also updated
module/irohad/simulator/simulator_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
192SimulatorTest 
FailWhenNoBlock
226SimulatorTest 
FailWhenSameAsProposalHeight
272SimulatorTest 
SomeFailingTxsChecks, that after failing a certain number of transactions in a proposal, returned verified proposal will have only valid transactionsproposal consisting of several transactionsfailing some of the transactions in that proposalverified proposal consists of txs we did not fail, and the failedtransactions are provided as well
114SimulatorTest 
ValidWhenInitialized
123SimulatorTest 
ValidWhenPreviousBlock
module/irohad/synchronizer/synchronizer_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
240SynchronizerTest 
ExactlyThreeRetrievalsA valid block that cannot be applied directlyprocess_commit is calledobservable of retrieveBlocks must be evaluated four times:- to validate whole chain- to validate last block of chain (x2)- to create a vector
284SynchronizerTest 
RetrieveBlockTwoFailurescommit from the consensus and initialized componentssynchronizer fails to download block from some peerit will try until success
157SynchronizerTest 
ValidWhenBadStorageA commit from consensus and initialized componentsStorage cannot be initializedNo commit should be passed
99SynchronizerTest 
ValidWhenInitialized
112SynchronizerTest 
ValidWhenSingleCommitSynchronizedA commit from consensus and initialized componentsa valid block that can be appliedSuccessful commit
190SynchronizerTest 
ValidWhenValidChainA commit from consensus and initialized componentsA valid chain with expected endingSuccessful commit
333SynchronizerTest 
VotedForBlockCommitPreparedcommit with the block peer voted forsynchronizer processes the commitcommitPrepared is called @and commit is not called
369SynchronizerTest 
VotedForOtherCommitPreparedcommit with the block which is different than the peer has voted forsynchronizer processes the commitcommitPrepared is not called @and commit is called
411SynchronizerTest 
VotedForThisCommitPreparedFailurecommit with the block peer voted forsynchronizer processes the commit @and commit prepared is unsuccessfulcommit is called and synchronizer works as expected
module/irohad/torii/processor/query_processor_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
140QueryProcessorTest 
GetBlocksQueryaccount, ametsuchi queriesvalid block query is sendQuery Processor should start emitting BlockQueryRespones to theobservable
169QueryProcessorTest 
GetBlocksQueryNoPermsaccount, ametsuchi queriesvalid block query is invalid (no can_get_blocks permission)Query Processor should return an observable with blockError
85QueryProcessorTest 
QueryProcessorWhereInvokeInvalidQueryQueryProcessorImpl and GetAccountDetail queryqueryHandle called at normal flowthe mocked value of validateAndExecute is returned
113QueryProcessorTest 
QueryProcessorWithWrongKeyQueryProcessorImpl and GetAccountDetail query with wrong signaturequeryHandle called at normal flowQuery Processor returns StatefulFailed response
module/irohad/torii/processor/transaction_processor_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
458TransactionProcessorTest 
MultisigExpiredvalid multisig txtransaction_processor handle itit will has MST_EXPIRED status
443TransactionProcessorTest 
MultisigTransactionFromMstbatch one transaction with quorum 2 AND one signatureMST emits the batchchecks that PCS is invoked.This happens because tx processor is subscribed for MST
426TransactionProcessorTest 
MultisigTransactionToMstbatch one transaction with quorum 2 AND one signaturetransaction_processor handle the batchchecks that batch is relayed to MST
241TransactionProcessorTest 
TransactionProcessorBlockCreatedTesttransaction processortransactions compose proposal which is sent to peer communication service @and all transactions composed the blockfor every transaction in bathces STATEFUL_VALID status is returned
350TransactionProcessorTest 
TransactionProcessorInvalidTxsTesttransaction processortransactions compose proposal which is sent to peer communication service @and some transactions became part of block, while some were not committed, failing stateful validationfor every transaction from block COMMIT status is returned @andfor every transaction, which failed stateful validation,STATEFUL_INVALID_STATUS status is returned
297TransactionProcessorTest 
TransactionProcessorOnCommitTesttransaction processortransactions compose proposal which is sent to peer communication service @and all transactions composed the block @and were committedfor every transaction COMMIT status is returned
189TransactionProcessorTest 
TransactionProcessorOnProposalBatchTesttransactions from the same batchtransactions sequence is created and propagated AND all transactions were returned by pcs in proposal notifierall transactions in batches have ENOUGH_SIGNATURES_COLLECTED status
153TransactionProcessorTest 
TransactionProcessorOnProposalTesttransaction processortransactions passed to processor compose proposal which is sent to peer communication servicefor every transaction in batches ENOUGH_SIGNATURES_COLLECTED status isreturned
module/irohad/torii/query_service_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
102QueryServiceTest 
InvalidWhenDuplicateHashqueryquery is sent to query service twicequery processor will be invoked once and second response will haveSTATELESS_INVALID status
79QueryServiceTest 
ValidWhenUniqueHashquery and expected valid responsequery is sent to query service and query_processor processes queryexpected response is returned
module/irohad/torii/torii_queries_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
359ToriiQueriesTest 
FindAccountAssetWhenHasRolePermissions
319ToriiQueriesTest 
FindAccountAssetWhenNoGrantPermissions
220ToriiQueriesTest 
FindAccountWhenHasReadPermissions
270ToriiQueriesTest 
FindAccountWhenHasRolePermission
179ToriiQueriesTest 
FindAccountWhenNoGrantPermissions
578ToriiQueriesTest 
FindManyTimesWhereQueryServiceSync
462ToriiQueriesTest 
FindSignatoriesHasRolePermissions
418ToriiQueriesTest 
FindSignatoriesWhenNoGrantPermissions
516ToriiQueriesTest 
FindTransactionsWhenValid
153ToriiQueriesTest 
FindWhenResponseInvalid
127ToriiQueriesTest 
QueryClientGiven a Query Synchronous ClientWhen copied, moved, copy and move assignedThen final object works as the first one
module/irohad/torii/torii_service_query_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
132ToriiQueryServiceTest 
FetchBlocksWhenInvalidQuerystateless invalid blocks queryblocks query is executedblock error response is received
90ToriiQueryServiceTest 
FetchBlocksWhenValidQueryvalid blocks queryblocks query is executedvalid blocks response is received and contains block emitted by queryprocessor
module/irohad/torii/torii_service_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
415ToriiServiceTest 
CheckHashtorii service and some number of transactions with hashessending request on this txsensure that response has the same hash as sent tx
204ToriiServiceTest 
CommandClientchain of CommandClient copies and movesstatus is askedgrpc returns ok
615ToriiServiceTest 
FailedListOfTxsChecks that in case of failed transactions list every transaction has a related status and error messagetorii service and a list of bad-formed transactionschecking those transactions after sending them to Toriievery transaction from this list will have STATELESS_FAILED status @andthe same corresponding error message
559ToriiServiceTest 
ListOfTxsChecks that torii is able to handle lists (sequences) of transactionstorii service and collection of transactionsthat collection is asked to be processed by Toriistatuses of all transactions from that request areENOUGH_SIGNATURES_COLLECTED
268ToriiServiceTest 
StatusWhenBlockingThat test simulates the real behavior of the blocking Torii.torii service with mocked CommunicationService that is subscribed on custom rxcpp::subjectssending some number of transactions to the Toriiensure it perform as real one:- Torii returns ok status- Proper txs responses in Status are STATELESS_VALIDATION_SUCCESS,then STATEFUL_VALIDATION_SUCCESS and COMMITTED (order matters)- Tx that not in a block returns STATELESS_VALIDATION_SUCCESS andthen STATEFUL_VALIDATION_FAILED
227ToriiServiceTest 
StatusWhenTxWasNotReceivedBlockingtorii service and number of transactionsretrieving their statusensure those are not received
449ToriiServiceTest 
StreamingFullPipelineTesttorii service and one valid transactionstarting StatusStream and then sending transaction to Irohaensure that response will have at least 3 statuses(it should contain STATELESS_VALIDATION_SUCCESS, STATEFUL_VALIDATION_SUCCESSand COMMITTED) and the last status should be COMMITTED
535ToriiServiceTest 
StreamingNoTxtorii service and fake transaction hashsending streaming request for this hashensure that response will have exactly 1 status - NOT_RECEIVED
module/irohad/validation/chain_validation_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
97ChainValidationTest 
FailWhenDifferentPrevHashblock with wrong hashapply blockblock is not validated
120ChainValidationTest 
FailWhenNoSupermajorityblock with wrong peerssupermajority is not achievedblock is not validated
77ChainValidationTest 
ValidCasevalid block signed by peersapply blockblock is validated
module/irohad/validation/stateful_validator_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
44SignaturesSubset 
Equalthree different keys and three signatures with the same keyssignaturesSubset is executedreturned true
59SignaturesSubset 
Lessertwo different keys and two signatures with the same keys plus additional onesignaturesSubset is executedreturned false
88SignaturesSubset 
PublickeyUniquenesstwo same keys and two signatures with different keyssignaturesSubset is executedreturned false
74SignaturesSubset 
StrictSubsetthree different keys and two signatures with the first pair of keyssignaturesSubset is executedreturned true
152Validator 
AllTxsValidseveral valid transactionsstatefully validating these transactionsall of them will appear in verified proposal @and errors will be empty
254Validator 
Batchestwo atomic batches @and one ordered @and several single transactionsfailing one of the atomic batched @and transaction from ordered batch @and transaction from single groupverified proposal will contain transactions from non-failed atomicbatch, non-failed part of ordered batch, non-failed transactions from singlegroup @and errors will contain exactly one error (for failed atomic batch)
194Validator 
SomeTxsFailseveral valid and a couple of invalid transactionsstatefully validating these transactionsvalid transactions will appear in verified proposal @and invalid oneswill appear in errors
module/libs/cache/cache_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
158CacheTestCustomHasherkey of custom type with custom hasherobject with this type is added to cachevalue corresponding to this key is found
110CacheTestFindInEmptyCacheInitialized cachefind something in cacheitem should not be found
93CacheTestFindValuesInitialized cacheinsert N items and find one of themitem should be found and its status should be the same as beforeinsertion
122CacheTestFindVeryOldTransactionInitialized cacheinsert cache.getIndexSizeHigh() items into it + 1the oldest inserted item was in cache initially but not in cacheanymore
180CacheTestInsertCustomSizeinitialized cache with given parametersinsert cache.getIndexSizeHigh() items into it + 1after the last insertion amount of items should decrease tocache.getIndexSizeLow()
50CacheTestInsertMoreThanLimitinitialized cacheinsert cache.getIndexSizeHigh() items into it + 1after the last insertion amount of items should decrease tocache.getIndexSizeLow()
70CacheTestInsertSameHashesinitialized cacheinsert N items and then insert 2 with the same hashesamount of cache items should not increase after last 2 insertionsbut their statuses should be updated
33CacheTestInsertValuesinitialized cacheinsert N ToriiResponse objects into itamount of items in cache equals N
module/libs/cache/single_pointer_cache_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
31SinglePointerCacheTest 
GetWhenEmptyempty int cachetrying to get the value insidecache will return nullptr
40SinglePointerCacheTest 
Insertempty int cacheinserting some value into it @and trying to get itcache will return the inserted value
66SinglePointerCacheTest 
MultithreadedCacheempty int cachefirst thread inserts value @and another tries to read it @and the first removes it @and second read operation completesthe system could possibly crash, if it was not thread-safe - it wouldtry to give removed value to the second thread
51SinglePointerCacheTest 
Releaseempty int cacheinserting some value into it @and releasing the cache @and trying to get value insidecache will return nullptr
module/libs/cache/transaction_cache_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
74TransactionCacheTest 
checkElementsset with existed stateinsert the set to target collection AND call forEach and push all elements to out setcheck is first and out sets are the same
31TransactionCacheTest 
insertempty setcheck that empty set doesn't contain elements AND insert some collectioncheck that elements are appeared
47TransactionCacheTest 
insertDuplicatesempty setinsert some collection AND insert duplicated elementscheck that duplicates are not appeared
61TransactionCacheTest 
removeempty setinsert some collection AND remove another collection with same and different elementscheck that duplicates and removed elements are not appeared
module/libs/common/result_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
295PolyMorphicResultTestPolymorphicErrorConstructionPolymorphic Result of Base class type with errormatch function is invokedError case is invoked
280PolyMorphicResultTestPolymorphicValueConstructionPolymorphic Result of Base class type with value of derived classmatch function is invokedValue case is invoked, and polymorphic behavior persists
178ResultTestAndResWithErrValPair of results: first with error, second with valueand_res function is invokedresult contains the first error
190ResultTestAndResWithValErrPair of results: first with value, second with errorand_res function is invokedresult contains the second error
166ResultTestAndResWithValValPair of results with some valuesand_res function is invokedresult contains the last value
238ResultTestMapErrorResult with some error and some functionmap_error function is invokedresult contains error after function application
250ResultTestMapErrorBlankResult with some error and some functionmap_error function is invokedresult contains the same error
226ResultTestOrResWithErrErrPair of results with some errorsor_res function is invokedresult contains the last value
214ResultTestOrResWithErrValPair of results: first with error, second with valueor_res function is invokedresult contains the second value
202ResultTestOrResWithValValPair of results with some valuesor_res function is invokedresult contains the first value
126ResultTestResultBindOperatorCompatibleTypestwo functions which return different results, but value and error types can be cast to each otherbind operator is used to chain these 2 functionsresult type is properly deduced
111ResultTestResultBindOperatorErrorFirstFunctiontwo functions which return resultbind operator is used to chain these 2 functions and first one return errorresult of bind contains error and second function is not invoked
83ResultTestResultBindOperatorSuccesfulCaseTwo functions which return resultbind operator is used to chain these 2 functions and they both return valid valuesresult of a bind contains valid value.
52ResultTestResultErrorConstructionResult constructed with error valuematch function is invokedmatch executes error case
72ResultTestResultSameTypeErrorConstructionResult constructed with the same type of value and errormatch function is invokedmatch executes error case
62ResultTestResultSameTypeValueConstructionResult constructed with the same type of value and errormatch function is invokedmatch executes successful case
42ResultTestResultValueConstructionResult constructed with valid valuematch function is invokedmatch executes value case
155ResultTestResultVoidErrorResult with void errormatch function is invokedvoid type is correctly handled by compiler
144ResultTestResultVoidValueResult with void valuematch function is invokedvoid type is correctly handled by compiler
module/libs/converter/string_converter_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
40StringConverterTestConvertBinaryToHexbinary stringbinary string was converted to hex stringconverted string match the result we are expected
29StringConverterTestConvertHexToBinaryhex stringhex string was converted to binary stringconverted string match the result we are expected
50StringConverterTestConvertHexToBinaryAndBackhex string of length 256 with all possible byte valuesconvert it to byte string and backresulted string is the same as given one
module/libs/crypto/hash_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
46Hashsha3_256_ASCII_text
55Hashsha3_256_JP_text
84Hashsha3_256_JP_text_LOOP
108Hashsha3_256_RU_text
129Hashsha3_256_RU_text_LOOP
27Hashsha3_256_empty_text
64Hashsha3_512_ASCII_text
74Hashsha3_512_JP_text
95Hashsha3_512_JP_text_LOOP
118Hashsha3_512_RU_text
141Hashsha3_512_RU_text_LOOP
36Hashsha3_512_empty_text
module/libs/crypto/keys_manager_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
92KeyManager 
CreateAndLoad
97KeyManager 
CreateAndLoadEncrypted
102KeyManager 
CreateAndLoadEncryptedEmptyKey
107KeyManager 
CreateAndLoadEncryptedInvalidKey
126KeyManager 
CreateKeypairInNonexistentDir
68KeyManager 
LoadEmptyFilesPrikey
62KeyManager 
LoadEmptyPubkey
119KeyManager 
LoadInaccessiblePrikey
112KeyManager 
LoadInaccessiblePubkey
80KeyManager 
LoadInvalidPrikey
74KeyManager 
LoadInvalidPubkey
58KeyManager 
LoadNonExistentKeyFile
86KeyManager 
LoadValid
module/libs/crypto/signature_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
28Signaturesign_data_size
module/libs/datetime/time_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
21TimeNow
module/shared_model/backend_proto/common_objects/proto_common_objects_factory_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
132AccountAssetTest 
InvalidAccountAssetInitializationinvalid data for account assetaccount asset is created via factoryaccount asset is not initialized correctly
114AccountAssetTest 
ValidAccountAssetInitializationvalid data for account assetaccount asset is created via factoryaccount asset is successfully initialized
89AccountTest 
InvalidAccountInitializationinvalid data for accountaccount is created via factoryaccount is not initialized correctly
70AccountTest 
ValidAccountInitializationvalid data for accountaccount is created via factorypeer is successfully initialized
175AssetTest 
InvalidAssetInitializationinvalid data for assetasset is created via factoryasset is not initialized correctly
157AssetTest 
ValidAssetInitializationvalid data for assetasset is created via factoryasset is successfully initialized
216DomainTest 
InvalidDomainInitializationinvalid data for domaindomain is created via factorydomain is not initialized correctly
199DomainTest 
ValidDomainInitializationvalid data for domaindomain is created via factorydomain is successfully initialized
47PeerTest 
InvalidPeerInitializationinvalid data for peerpeer is created via factorypeer is not initialized correctly
31PeerTest 
ValidPeerInitializationvalid data for peerpeer is created via factorypeer is successfully initialized
257SignatureTest 
InvalidSignatureInitializationinvalid data for signaturesignature is created via factorysignature is not initialized correctly
240SignatureTest 
ValidSignatureInitializationvalid data for signaturesignature is created via factorysignature is successfully initialized
module/shared_model/backend_proto/permissions_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
61ProtoPermission 
PermTypes
127ProtoPermissionPermissionSet
141ProtoPermissionPermissionSubset
module/shared_model/backend_proto/proto_batch_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
190TransactionBatchTest 
BatchWithAllSignaturestransactions with transaction with quorum size 1 @and signatures size equals 1, @and all transactions are from the same batchtransaction batch is created from that transactionscreated batch has all signatures
205TransactionBatchTest 
BatchWithMissingSignaturestransactions with transaction with quorum size 2 @and signatures size equals 1, @and all transactions are from the same batchtransaction batch is created from that transactionscreated batch does not have all signatures
219TransactionBatchTest 
BatchWithNoSignatureslist of transactions from the same batch with no signaturescreate transaction batch is invokedreturned result contains error
234TransactionBatchTest 
BatchWithOneSignaturelist of transactions from the same batch. Only one of them is signedcreate transaction batch is invokedtransaction batch is successfully created
146TransactionBatchTest 
CreateBatchWithValidAndInvalidTxtransactions sequence from the single batch containing one valid and one invalid transactionscreateTransactionBatch is invoked on that sequencetransaction batch is not created
178TransactionBatchTest 
CreateSingleTxBatchWhenInvalidsingle invalid transactioncreateTransactionBatch is invoked on that transactiontransaction batch is not created
160TransactionBatchTest 
CreateSingleTxBatchWhenValidsingle valid transactioncreateTransactionBatch is invoked on that transactiontransaction batch is created
298TransactionBatchTest 
CreateTestBatchTesttwo tx-builderstry to create batchbatch contains two transactions
127TransactionBatchTest 
CreateTransactionBatchWhenDifferentBatchTypetransactions sequence from the single batch containing valid transactions but with different batch typescreateTransactionBatch is invoked on that sequencetransaction batch is not created
105TransactionBatchTest 
CreateTransactionBatchWhenValidvalid transactions sequence from the single batchcreateTransactionBatch is invoked on that sequencetransaction batch is created
283TransactionBatchTest 
MakeTxBatchCollectionManythree tx-builderstry to create transaction collectiongot exactly 3 txes
271TransactionBatchTest 
MakeTxBatchCollectionOneone tx-buildertry to create transactiongot exactly one tx
248TransactionBatchTest 
TemplateHasherOneone tx-buildertry to fetch hashgot only one hash
259TransactionBatchTest 
TemplateHasherVariadic3 tx-builderstry to fetch hashesgot exactly 3 hashes
module/shared_model/backend_proto/proto_block_factory_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
35ProtoBlockFactoryTest 
UnsafeBlockCreationvalid data for blockblock is created using unsafeCreateBlock functionblock fields match provided data
module/shared_model/backend_proto/proto_proposal_factory_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
67ProposalFactoryTest 
InvalidProposalTestproposal factory and invalid data (empty transaction)proposal is created using factoryproposal is not created successfully
47ProposalFactoryTest 
ValidProposalTestproposal factory and valid dataproposal is created using factoryproposal is successfully created
module/shared_model/backend_proto/proto_query_response_factory_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
64ProtoQueryResponseFactoryTest 
CreateAccountAssetResponseChecks createAccountAssetResponse method of QueryResponseFactorycollection of account assetscreating account asset query response via factorythat response is created @and is well-formed
119ProtoQueryResponseFactoryTest 
CreateAccountDetailResponseChecks createAccountDetailResponse method of QueryResponseFactoryaccount detailscreating account detail query response via factorythat response is created @and is well-formed
142ProtoQueryResponseFactoryTest 
CreateAccountResponseChecks createAccountResponse method of QueryResponseFactoryaccountcreating account query response via factorythat response is created @and is well-formed
291ProtoQueryResponseFactoryTest 
CreateAssetResponseChecks createAssetResponse method of QueryResponseFactoryassetcreating asset query response via factorythat response is created @and is well-formed
374ProtoQueryResponseFactoryTest 
CreateBlockQueryResponseWithBlockChecks createBlockQueryResponse method of QueryResponseFactoryblockcreating block query query response with block via factorythat response is created @and is well-formed
401ProtoQueryResponseFactoryTest 
CreateBlockQueryResponseWithErrorChecks createBlockQueryResponse method of QueryResponseFactoryerrorcreating block query query response with error via factorythat response is created @and is well-formed
181ProtoQueryResponseFactoryTest 
CreateErrorQueryResponseChecks createErrorQueryResponse method of QueryResponseFactorycreating error query responses for a couple of cases via factorythat response is created @and is well-formed
348ProtoQueryResponseFactoryTest 
CreateRolePermissionsResponseChecks createRolePermissionsResponse method of QueryResponseFactorycollection of role permissionscreating role permissions query response via factorythat response is created @and is well-formed
324ProtoQueryResponseFactoryTest 
CreateRolesResponseChecks createRolesResponse method of QueryResponseFactorycollection of rolescreating roles query response via factorythat response is created @and is well-formed
226ProtoQueryResponseFactoryTest 
CreateSignatoriesResponseChecks createSignatoriesResponse method of QueryResponseFactorysignatoriescreating signatories query response via factorythat response is created @and is well-formed
253ProtoQueryResponseFactoryTest 
CreateTransactionsResponseChecks createTransactionsResponse method of QueryResponseFactorycollection of transactionscreating transactions query response via factorythat response is created @and is well-formed
module/shared_model/backend_proto/proto_transaction_sequence_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
80TransactionSequenceTestCreateBatchesTransaction collection of several transactions, including some of them united into the batchestransactions validator returns empty answer @and create transaction sequenceexpected number of batches is created and transactions
59TransactionSequenceTestCreateTransactionSequenceWhenInvalidInvalid transaction collection of several transactionscreate transaction sequence @and transactions validator returns non empty answerTransactionSequence is not created
33TransactionSequenceTestCreateTransactionSequenceWhenValidValid transaction collection of several transactionscreate transaction sequence @and transactions validator returns empty answerTransactionSequence is created
module/shared_model/backend_proto/shared_proto_commands_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
32ProtoCommandCommandLoadFor each protobuf command typeprotobuf command objectcreate shared model command objectcorresponding shared model object is created
module/shared_model/backend_proto/shared_proto_queries_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
22ProtoQueryQueryLoad
82ProtoQueryBuilderBlocksQueryBuilderquery field values and sample command values, reference querycreate query with sample command using query builderquery is built correctly
40ProtoQueryBuilderBuilderquery field values and sample command values, reference querycreate query with sample command using query builderquery is built correctly
module/shared_model/backend_proto/shared_proto_query_responses_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
45QueryResponseErrorResponseLoadprotobuf's ErrorResponse with different reasons and some hashconverting to shared modelensure that reason and hash remain the same
21QueryResponseQueryResponseLoadprotobuf's QueryResponse with different responses and some hashconverting to shared modelensure that status and hash remain the same
module/shared_model/backend_proto/shared_proto_transaction_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
51ProtoTransactionBuildertransaction field values and sample command values, reference txcreate transaction with sample command using transaction buildertransaction is built correctly
93ProtoTransactionBuilderWithInvalidTxtransaction field values and sample command values with wrongly set valuescreate transaction with sample command using transaction buildertransaction throws exception due to badly formed fields in commands
module/shared_model/backend_proto/shared_proto_tx_response_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
21ProtoTxResponseTxResponseLoadprotobuf's ToriiResponse with different tx_statuses and some hashconverting to shared modelensure that status and hash remain the same
46TxResponseSafeToReadFromMultipleThreadsTransactionResponse that previously had lazy fieldsthose lazy fields are simultaneously accessedthere is no race condition and segfaults
module/shared_model/backend_proto/shared_proto_util_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
32UtilTestStringFromMakeBlobsome protobuf objectmaking a blob from itmake sure that the deserialized from string is the same
module/shared_model/bindings/model_crypto_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
27ModelCryptoTestGenerateKeypairModelCrypto moduleReceive 32 byte hex stringassertion is not thrown on keypair generation
38ModelCryptoTestGenerateKeypairInvalidSeedModelCrypto moduleReceive invalid hex byte stringassertion is thrown
module/shared_model/bindings/model_query_builder_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
27ModelQueryBuilderTestEmptyBuilderModel transaction builderbuild() is called on builder without set fieldsException is thrown
module/shared_model/builders/common_objects/account_asset_builder_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
66AccountAssetBuilderTestSeveralObjectsFromOneBuilderfield values which pass stateless validationAccountAssetBuilder is invoked twiceTwo identical (==) AccountAsset objects are constructed
33AccountAssetBuilderTestStatelessValidAllFieldsfield values which pass stateless validationAccountAssetBuilder is invokedAccountAsset object is successfully constructed and has valid fields
module/shared_model/builders/common_objects/account_builder_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
69AccountBuilderTestSeveralObjectsFromOneBuilderfield values which pass stateless validationAccountBuilder is invoked twiceTwo identical (==) Account objects are constructed
33AccountBuilderTestStatelessValidAllFieldsfield values which pass stateless validationAccountBuilder is invokedAccount object is successfully constructed and has valid fields
module/shared_model/builders/common_objects/asset_builder_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
65AssetBuilderTestSeveralObjectsFromOneBuilderfield values which pass stateless validationAssetBuilder is invoked twiceTwo identical (==) Asset objects are constructed
33AssetBuilderTestStatelessValidAllFieldsfield values which pass stateless validationAssetBuilderTest is invokedAsset object is successfully constructed and has valid fields
module/shared_model/builders/common_objects/peer_builder_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
57PeerBuilderTestSeveralObjectsFromOneBuilderfield values which pass stateless validationPeerBuilder is invoked twiceTwo identical (==) Peer objects are constructed
33PeerBuilderTestStatelessValidAddressCreationfield values which pass stateless validationPeerBuilder is invokedPeer object is successfully constructed and has valid fields
module/shared_model/builders/common_objects/signature_builder_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
33PeerBuilderTestStatelessValidAddressCreationfield values which pass stateless validationPeerBuilder is invokedPeer object is successfully constructed and has valid fields
63SignatureBuilderTestSeveralObjectsFromOneBuilderfield values which pass stateless validationSignatureBuilder is invoked twiceTwo identical (==) Signature objects are constructed
module/shared_model/builders/protobuf/block_builder_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
18BlockBuilderTestBlockWithTransactionsBlockBuilderBlock with transactions is built using given BlockBuilderno exception is thrown
49BlockBuilderTest
DISABLED
BlockWithNoTransactions
module/shared_model/builders/protobuf/common_objects/proto_account_asset_builder_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
28ProtoAccountAssetBuilderAllFieldsBuildfields for AccountAsset objectAccountAssetBuilder is invokedAccountAsset object is successfully constructed and has the same fieldsas provided
50ProtoAccountAssetBuilderTestSeveralObjectsFromOneBuilderfields for AccountAsset objectAccountAssetBuilder is invoked twice with the same configurationTwo constructed AccountAsset objects are identical
module/shared_model/builders/protobuf/common_objects/proto_account_builder_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
28ProtoAccountBuilderTestAllFieldsBuildfields for Account objectAccountBuilder is invokedAccount object is successfully constructed and has the same fields asprovided
53ProtoAccountBuilderTestSeveralObjectsFromOneBuilderfields for Account objectAccountBuilder is invoked twice with the same configurationTwo constructed Account objects are identical
module/shared_model/builders/protobuf/common_objects/proto_asset_builder_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
28ProtoAssetBuilderTestAllFieldsBuildfields for Asset objectAssetBuilder is invokedAsset object is successfully constructed and has the same fields asprovided
50ProtoAssetBuilderTestSeveralObjectsFromOneBuilderfields for Asset objectAssetBuilder is invoked twice with the same configurationTwo constructed Asset objects are identical
module/shared_model/builders/protobuf/common_objects/proto_peer_builder_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
27ProtoPeerBuilderTestAddressFieldBuildfields for Peer objectPeerBuilder is invokedPeer object is successfully constructed and has the same address
55ProtoPeerBuilderTestAllFieldsBuildfields for Peer objectPeerBuilder is invokedPeer object is successfully constructed and has the same fields
41ProtoPeerBuilderTestKeyFieldBuildfields for Peer objectPeerBuilder is invokedPeer object is successfully constructed and has the same key
71ProtoPeerBuilderTestSeveralObjectsFromOneBuilderfields for Peer objectPeerBuilder is invoked twice with the same configurationTwo constructed Peer objects are identical
module/shared_model/builders/protobuf/common_objects/proto_signature_builder_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
28ProtoSignatureBuilderTestAllFieldsBuildfields for Signature objectSignatureBuilder is invokedSignature object is successfully constructed and has the same fields asprovided
47ProtoSignatureBuilderTestSeveralObjectsFromOneBuilderfields for Signature objectSignatureBuilder is invoked twice with the same configurationTwo constructed Signature objects are identical
module/shared_model/builders/protobuf/transaction_responses/proto_transaction_response_builder.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
79ProtoTransactionStatusBuilderTestSeveralObjectsFromOneBuilderfields for transaction status objectTransactionStatusBuilder is invoked twice with the same configurationTwo constructed TransactionStatus objects are identical
50ProtoTransactionStatusBuilderTest 
TransactionResponsTypes
module/shared_model/builders/protobuf/transaction_responses/proto_transaction_response_factory_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
49ProtoTransactionStatusFactoryTestSeveralObjectsFromOneBuilderfields for transaction status objectprotoTransactionStatusFactory is invoked twice with the same configurationtwo constructed TransactionStatus objects are identical
21ProtoTransactionStatusFactoryTestTestStatusTypestatus and hashmodel object is built using these status and hash, but with committed statusbuilt object has expected status and hash
module/shared_model/builders/protobuf/transport_builder_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
421TransportBuilderTest 
BatchWrongOrderbatch of transaction with wrong orderTransportBuilder tries to build TransactionSequence objectbuilt an error
268TransportBuilderTest 
BlockCreationTestvalid proto object of blocktransport builder constructs model object from itoriginal and built objects are equal
316TransportBuilderTest 
DISABLED
EmptyProposalCreationTest
TODO 21/05/2018 andrei IR-1345 Enable when verified proposal is introducedempty proto object of proposaltransport builder constructs model object from iterror occurred due to empty transactions
396TransportBuilderTest 
DISABLED
TransactionInteraptedBatch
batch of transaction with transaction in the middleTransportBuilder tries to build TransactionSequence objectbuilt an error@note disabled because current algorithm of creating batches can process listof transaction where in the middle of the batch can appear single independenttransaction
284TransportBuilderTest 
InvalidBlockCreationTestinvalid proto object of blocktransport builder constructs model object from iterror is occured
253TransportBuilderTest 
InvalidQueryCreationTestinvalid proto object of querytransport builder constructs model object from iterror case is executed
222TransportBuilderTest 
InvalidTransactionCreationTestinvalid proto object of transactiontransport builder constructs model object from iterror case is executed
299TransportBuilderTest 
ProposalCreationTestvalid proto object of proposaltransport builder constructs model object from itoriginal and built objects are equal
237TransportBuilderTest 
QueryCreationTestvalid proto object of querytransport builder constructs model object from itoriginal and built objects are equal
203TransportBuilderTest 
TransactionCreationTestvalid proto object of transactiontransport builder constructs model object from itoriginal and built objects are equal
351TransportBuilderTest 
TransactionSequenceCorrectsequence of transaction with a right orderTransportBuilder tries to build TransactionSequence objectbuilt object contains TransactionSequence shared model object
332TransportBuilderTest 
TransactionSequenceEmptyempty range of transactionsTransportBuilder tries to build TransactionSequence objectbuilt object contains TransactionSequence shared model objectAND object will not created
module/shared_model/builders/transaction_responses/transaction_response_builder_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
87ProtoTransactionStatusBuilderTestSeveralObjectsFromOneBuilderfields for transaction status objectTransactionStatusBuilder is invoked twice with the same configurationTwo constructed TransactionStatus objects are identical
59TransactionResponseBuilderTest 
TransactionResponsTypes
module/shared_model/converters/json_proto_converter_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
60JsonProtoConverterTestInvalidJsonToProtoTxinvalid json stringjson is converted to shared model objectnone is returned
73JsonProtoConverterTestJsonToProtoBlockTestsample block shared model objectblock is converted to json and then converted back to shared model objectoriginal and obtained objects are equal
35JsonProtoConverterTestJsonToProtoTxTestsample transaction shared model objecttransaction is converted to json and then converted back to shared model objectoriginal and obtained objects are equal
module/shared_model/cryptography/blob_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
48BlobMock 
BlobIsStringarbitrary stringmaking a blob from itmake sure that the blob's blob stores the same data as string
39BlobMock 
HexConversionTestarbitrary string and known its hex representationconversion of this string to hex is doneconversion is done right
module/shared_model/cryptography/crypto_usage_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
96CryptoUsageTest 
RawSignAndVerifyTestInitialized keypiar with _concrete_ algorithmsign date without knowledge of cryptography algorithmcheck that siganture valid without clarification of algorithm
171CryptoUsageTest 
SameQueryHashAfterSignquery hashsign queryquery hash doesn't change
118CryptoUsageTest 
SignAndVerifyBlockproperly signed blockverify blockblock is verified
129CryptoUsageTest 
SignAndVerifyBlockWithWrongSignatureblock with inctorrect signverify blockblock is not verified
149CryptoUsageTest 
SignAndVerifyQueryproperly signed queryverify queryquery is verified
160CryptoUsageTest 
SignAndVerifyQuerykWithWrongSignaturequery with incorrect signverify queryquery is not verified
193CryptoUsageTest 
SignAndVerifyTransactionproperly signed transactionverify transactiontransaction is verified
204CryptoUsageTest 
SignAndVerifyTransactionkWithWrongSignaturetransaction with incorrect signverify transactiontransaction is not verified
109CryptoUsageTest 
UnsignedBlockunsigned blockverify blockblock is not verified
140CryptoUsageTest 
UnsignedQueryunsigned queryverify queryquery is not verified
184CryptoUsageTest 
UnsignedTransactionunsigned transactionverify transactiontransaction is not verified
module/shared_model/cryptography/security_signatures_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
52SecuritySignatureBlockAddSignatureBlock with given signatureInvoke ::addSignature with same public key but different signedExpect that second signature wasn't added
18SecuritySignatureSignatureOperatorEqualTwo signatures with same pub key but different signedInvoke operator==Expect true
39SecuritySignatureTransactionAddsignatureTransaction with given signatureInvoke ::addSignature with same public key but different signedExpect that second signature wasn't added
module/shared_model/interface_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
70TransactionFixture 
checkEqualsOperatorDifferentOrdertwo same transactionsadd N signatures to first one and same but in reverse order to secondchecks that transactions are the same
42TransactionFixture 
checkEqualsOperatorObvioustwo same transactionsnothing to dochecks that transactions are the same
53TransactionFixture 
checkEqualsOperatorSameOrdertwo same transactionsadd same signatures to themchecks that transactions are the same
module/shared_model/lazy_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
47LazyTestCheckLazinessInitialized valueCall get twiceAssert that transform invoked once
35LazyTestGetterTestInitialized valueCall get onceAssert that transform invoked
module/shared_model/reference_holder_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
55ReferenceHolderConstAccessrvalue AND corresponding const reference holdervalue is accessedreference holder dereference returns stored value
28ReferenceHolderlvaluelvalue AND corresponding reference holdervalue is modifiedreference holder dereference returns new value
42ReferenceHolderrvaluervalue AND corresponding reference holdervalue is modifiedreference holder dereference returns new value
module/shared_model/validators/block_validator_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
87BlockValidatorTest 
EmptyBlockblock validator @and empty blockblock is validatedresult is OK
100BlockValidatorTest 
InvalidBlockblock validator @and invalid blockblock is validatederror appears after validation
73BlockValidatorTest 
ValidBlockblock validator @and valid non-empty blockblock is validatedresult is OK
module/shared_model/validators/container_validator_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
84ContainerValidatorTest 
OldBlockan old block with an old transactionblock validator is applied to the given blockno errors are returned
115ContainerValidatorTest 
OldBlockNewTransactionan old block with a new transactionblock validator is applied to the given blockan error with "sent from future" is returned
70ContainerValidatorTest 
OldProposalan old proposal with an old transactionproposal validator is applied to the given proposalno errors are returned
98ContainerValidatorTest 
OldProposalNewTransactionan old proposal with a new transactionproposal validator is applied to the given proposalan error with "sent from future" is returned
module/shared_model/validators/field_validator_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
690FieldValidatorTest 
CommandFieldsValidationfield values from test casesfield validator is invoked on command's fieldsfield validator correctly rejects invalid values, and providesmeaningful message
754FieldValidatorTest 
QueryContainerFieldsValidationfield values from test casesfield validator is invoked on query container's fieldsfield validator correctly rejects invalid values, and providesmeaningful message
731FieldValidatorTest 
QueryFieldsValidationfield values from test casesfield validator is invoked on query's fieldsfield validator correctly rejects invalid values, and providesmeaningful message
713FieldValidatorTest 
TransactionFieldsValidationfield values from test casesfield validator is invoked on transaction's fieldsfield validator correctly rejects invalid values, and providesmeaningful message
module/shared_model/validators/protobuf/proto_query_validator_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
40ProtoQueryValidatorTest 
SetQuerywell-formed protobuf query objectvalidated is calledvalidation is passed
24ProtoQueryValidatorTest 
UnsetQueryProtobuf query object with unset queryvalidate is calledthere is an error returned
module/shared_model/validators/protobuf/proto_tx_validator_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
76ProtoTxValidatorTest 
CommandIsSetiroha::protocol::Transaction with defined commandit is validatedanswer with no errors is returned
98ProtoTxValidatorTest 
CommandNotSetiroha::protocol::Transaction with undefined commandit is validatedanswer with errors is returned
127ProtoTxValidatorTest 
CreateRoleInvalidiroha::protocol::Transaction containing create role transaction with undefined role permissionit is validatedanswer with errors is returned
113ProtoTxValidatorTest 
CreateRoleValidiroha::protocol::Transaction containing create role transaction with valid role permissionit is validatedanswer with no errors is returned
155ProtoTxValidatorTest 
GrantPermissionInvalidiroha::protocol::Transaction containing grant permission transaction with invalid grantable permissionit is validatedanswer with errors is returned
141ProtoTxValidatorTest 
GrantPermissionValidiroha::protocol::Transaction containing grant permission transaction with valid grantable permissionit is validatedanswer with no errors is returned
183ProtoTxValidatorTest 
RevokePermissionInvalidiroha::protocol::Transaction containing revoke permission transaction with invalid grantable permissionit is validatedanswer with errors is returned
169ProtoTxValidatorTest 
RevokePermissionValidiroha::protocol::Transaction containing revoke permission transaction with valid grantable permissionit is validatedanswer with no errors is returned
module/shared_model/validators/query_validator_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
62QueryValidatorTest 
StatelessInvalidTestProtobuf query objectQuery has no fields set, and each query type has no fields setAnswer contains error
22QueryValidatorTest 
StatelessValidTestProtobuf query objectEach query type created with valid fieldsAnswer has no errors
module/shared_model/validators/transaction_validator_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
151TransactionValidatorTest 
BatchValidTesttransaction made of commands with valid fieldscommands validation is invokedanswer has no errors
50TransactionValidatorTest 
EmptyTransactionTesttransaction without any commandscommands validator is invokedanswer has error about empty transaction
116TransactionValidatorTest 
StatelessInvalidTesttransaction made of commands with invalid fieldscommands validation is invokedanswer has errors and number of errors in answer is the same as thenumber of commands in tx
64TransactionValidatorTest 
StatelessValidTesttransaction made of commands with valid fieldscommands validation is invokedanswer has no errors
99TransactionValidatorTest 
UnsetCommandProtobuf transaction object with unset commandvalidate is calledthere is a error returned
module/test/framework/integration_framework/port_guard_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
79PortGuardTestAllPortsGetUsedAndNoOverlapsa number a port consumersthey simultaneously try to get all the ports from the same rangeall the ports from the range are distributed among them with nooverlaps
95PortGuardTestAllPortsGetUsedAndNoOverlapsAfterRestarta number a port consumers with allocated portssome of them are destroyed and some new are created, that try to get all the ports from the same rangeall the ports from the range are distributed among them with nooverlaps
module/vendor/rxcpp_subject_usage.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
37rxcppTestusage_subject_test
module/vendor/tbb_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
22TBBTestConcurrentQueueUsage
regression/query_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
69QueryTestFailedBlockQueryTestitf instancepass block query with invalid signatureassure that query with invalid signature is failed with statelesserror
40QueryTestFailedQueryTestitf instancepass query with invalid signatureassure that query with invalid signature is failed with statelesserror
regression/regression_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
179RegressionTestDestructionOfNonInitializedItfnon initialized ITF instancedone method is called inside destructorno exceptions are risen
168RegressionTestDoubleCallOfDoneITF instance with Irohadone method is called twiceno errors are caused as the result
36RegressionTestSequentialInitializationITF instance with Irohaexisting ITF instance was not gracefully shutdownfollowing ITF instantiation should not cause any errors
95RegressionTestStateRecoveryITF instanceinstance is shutdown without blocks eraseanother ITF instance can restore WSV from blockstore
system/irohad_test.cpp
back to tree
Line # Fixture (
) / Test Name
Test Case Name Caption Given When Then
304IrohadTest 
RestartWithOverwriteLedgerTest verifies that after restarting with --overwrite-ledger flag Iroha contain single genesis block in storage and Iroha can accept and serve transactionsan Iroha with some transactions commited ontop of the genesis blockthe Iroha is restarted with --overwrite-ledger flagthe Iroha started with single genesis block in storageAND the Iroha accepts and able to commit new transactions
336IrohadTest 
RestartWithoutResettingTest verifies that Iroha can accept and serve transactions after usual restartan Iroha with some transactions commited ontop of the genesis blockthe Iroha is restarted without --overwrite-ledger flagthe state is successfully restoredAND the Iroha accepts and able to commit new transactions
248IrohadTest 
RunIrohadpath to irohad executable and paths to files irohad is needed to be run (config, genesis block, keypair)run irohad with all parameters it needs to operate as a full nodeirohad should be started and running until timeout expired
275IrohadTest 
SendQueryTest verifies that a query can be sent to and served by running Iroharunning Irohaa client sends a query to Irohathe query is served and query response is received
258IrohadTest 
SendTxTest verifies that a transaction can be sent to running iroha and committedrunning Irohaa client sends a transaction to Irohathe transaction is committed