def genesis_tx(): test_permissions = iroha.RolePermissionSet([iroha.Role_kRemoveMySignatory]) tx = iroha.ModelTransactionBuilder() \ .createdTime(commons.now()) \ .creatorAccountId(admin['id']) \ .addPeer('0.0.0.0:50541', admin['key'].publicKey()) \ .createRole('admin_role', commons.all_permissions()) \ .createRole('test_role', test_permissions) \ .createDomain('test', 'test_role') \ .createAccount('admin', 'test', admin['key'].publicKey()) \ .createAccount('alice', 'test', alice['key'].publicKey()) \ .createAccount('bob', 'test', bob['key'].publicKey()) \ .appendRole(admin['id'], 'admin_role') \ .build() return iroha.ModelProtoTransaction(tx) \ .signAndAddSignature(admin['key']).finish()
def genesis_tx(): test_permissions = iroha.RolePermissionSet([iroha.Role_kGetMyAccAstTxs]) tx = iroha.ModelTransactionBuilder() \ .createdTime(commons.now()) \ .creatorAccountId(admin['id']) \ .addPeer('0.0.0.0:50541', admin['key'].publicKey()) \ .createRole('admin_role', commons.all_permissions()) \ .createRole('test_role', test_permissions) \ .createDomain('test', 'test_role') \ .createAccount('admin', 'test', admin['key'].publicKey()) \ .createAccount('alice', 'test', alice['key'].publicKey()) \ .createAsset('coin', 'test', 2) \ .addAssetQuantity('coin#test', '500.69') \ .transferAsset(admin['id'], alice['id'], 'coin#test', 'top up', '10.00') \ .build() return iroha.ModelProtoTransaction(tx) \ .signAndAddSignature(admin['key']).finish()
def genesis_tx(): test_permissions = iroha.RolePermissionSet([ iroha.Role_kGetMyTxs, iroha.Role_kAddAssetQty, iroha.Role_kCreateAsset ]) tx = iroha.ModelTransactionBuilder() \ .createdTime(commons.now()) \ .creatorAccountId(admin['id']) \ .addPeer('0.0.0.0:50541', admin['key'].publicKey()) \ .createRole('admin_role', commons.all_permissions()) \ .createRole('test_role', test_permissions) \ .createDomain('first', 'admin_role') \ .createDomain('second', 'test_role') \ .createAccount('admin', 'first', admin['key'].publicKey()) \ .createAccount('alice', 'second', alice['key'].publicKey()) \ .build() return iroha.ModelProtoTransaction(tx) \ .signAndAddSignature(admin['key']).finish()
def all_permissions(): return iroha.RolePermissionSet([ iroha.Role_kAppendRole, iroha.Role_kCreateRole, iroha.Role_kDetachRole, iroha.Role_kAddAssetQty, iroha.Role_kSubtractAssetQty, iroha.Role_kAddPeer, iroha.Role_kAddSignatory, iroha.Role_kRemoveSignatory, iroha.Role_kSetQuorum, iroha.Role_kCreateAccount, iroha.Role_kSetDetail, iroha.Role_kCreateAsset, iroha.Role_kTransfer, iroha.Role_kReceive, iroha.Role_kCreateDomain, iroha.Role_kReadAssets, iroha.Role_kGetRoles, iroha.Role_kGetMyAccount, iroha.Role_kGetAllAccounts, iroha.Role_kGetDomainAccounts, iroha.Role_kGetMySignatories, iroha.Role_kGetAllSignatories, iroha.Role_kGetDomainSignatories, iroha.Role_kGetMyAccAst, iroha.Role_kGetAllAccAst, iroha.Role_kGetDomainAccAst, iroha.Role_kGetMyAccDetail, iroha.Role_kGetAllAccDetail, iroha.Role_kGetDomainAccDetail, iroha.Role_kGetMyAccTxs, iroha.Role_kGetAllAccTxs, iroha.Role_kGetDomainAccTxs, iroha.Role_kGetMyAccAstTxs, iroha.Role_kGetAllAccAstTxs, iroha.Role_kGetDomainAccAstTxs, iroha.Role_kGetMyTxs, iroha.Role_kGetAllTxs, iroha.Role_kSetMyQuorum, iroha.Role_kAddMySignatory, iroha.Role_kRemoveMySignatory, iroha.Role_kTransferMyAssets, iroha.Role_kSetMyAccountDetail, iroha.Role_kGetBlocks ])
def test_create_role_with_empty_permissions(self): tx = self.builder.createRole("user", iroha.RolePermissionSet([])).build() self.assertTrue(self.check_proto_tx(self.proto(tx)))
def test_create_role_with_invalid_name(self): for name in INVALID_NAMES_1: with self.assertRaises(ValueError): self.base().createRole(name, iroha.RolePermissionSet([iroha.Role_kReceive, iroha.Role_kGetRoles])).build()
def test_create_role(self): for name in VALID_NAMES_1: tx = self.builder.createRole(name, iroha.RolePermissionSet([iroha.Role_kReceive, iroha.Role_kGetRoles])).build() self.assertTrue(self.check_proto_tx(self.proto(tx)))
def test_create_role_with_empty_permissions(self): with self.assertRaises(ValueError): self.base().createRole("user", iroha.RolePermissionSet([])).build()