Beispiel #1
0
def run():
    print('test node.reset():')
    node.reset()
    print('test node.info():')
    node.info()
    print('test sess.init():')
    sess.init()

    print('test Template():')
    c = Template("hello-test3")

    print('test c.path():')
    c.path()

    print('test c.build():')
    c.build()

    print('test c.deploy():')
    c.deploy()

    print('test c.push_action("hi", sess.alice):')
    c.push_action("hi", '{"user":"******"}', sess.alice)

    print('test c.push_action("hi", sess.alice):')
    c.push_action("hi", '{"user":"******"}', sess.carol)

    print('test c.delete():')
    c.delete()

    print('test node.stop():')
    node.stop()
    print("Test OK")
Beispiel #2
0
 def setUpClass(cls):
     with warnings.catch_warnings():
         warnings.simplefilter("ignore")
         node.reset()
     sess.init()
     cls.contract = ContractFromTemplate(
         "_e4b2ffc804529ce9c6fae258197648cc2", remove_existing=True)
Beispiel #3
0
def run():
    print('test node.reset():')
    node.reset()
    print('test node.info():')
    node.info()
    print('test sess.init():')
    sess.init()

    print('test Contract("eosio.token"):')
    c = Contract("eosio.token")
    print('test c.get_code():')
    c.get_code()
    print('test c.deploy():')
    c.deploy()
    print('test c.get_code():')
    c.get_code()

    print('test c.push_action("create"):')
    c.push_action("create", '{"issuer":"eosio", "maximum_supply":"1000000000.0000 EOS", "can_freeze":0, "can_recall":0, "can_whitelist":0}')
    
    print('test c.show_action("issue"):')
    c.show_action("issue", '{"to":"alice", "quantity":"100.0000 EOS", "memo":"memo"}', sess.eosio)

    print('test c.show_action("issue"):')
    c.show_action("issue", '{"to":"alice", "quantity":"100.0000 EOS", "memo":"memo"}', sess.eosio)
    
    print('test node.stop():')
    node.stop()
    print("Test OK")
Beispiel #4
0
 def setUpClass(cls):
     with warnings.catch_warnings():
         warnings.simplefilter("ignore")
         node.reset()
     sess.init()
     contract = Contract(CONTRACT_NAME)
     contract.deploy()
Beispiel #5
0
def run():
    node.reset()
    sess.init()

    ############################
    # Your unit-test goes here #
    ############################

    node.stop()
    print("Test OK")
Beispiel #6
0
def run():
    print("test node.reset():")
    node.reset()
    print("test sess.init():")
    sess.init()

    ############################
    # Your unit-test goes here #
    ############################
    
    print("test node.stop():")
    node.stop()    
    print("Test OK")
Beispiel #7
0
def run():
    print('test node.reset():')
    assert node.reset()

    print('test sess.init():')
    assert sess.init()

    print('test Contract():')
    c = Contract(CONTRACT_NAME)
    assert c.is_created()

    print('test c.deploy():')
    assert c.deploy()

    print('test c.get_code():')
    assert c.get_code()

    print('test c.push_action("hi", sess.alice):')
    assert c.push_action("hi", '{"user":"******"}', sess.alice)

    print('test c.push_action("hi", sess.carol):')
    assert c.push_action("hi", '{"user":"******"}', sess.carol)

    set_suppress_error_msg(True)
    print('test c.push_action("hi", sess.alice):')
    assert not c.push_action("hi", '{"user":"******"}', sess.alice)
    set_suppress_error_msg(False)

    print('test node.stop():')
    node.stop()

    print("Test OK")
    def setUp(self):
        # start node
        assert (not node.reset().error)

        # create wallet
        eosf.set_verbosity([])  # disable logs
        self.wallet = eosf.Wallet()

        # create eosio account
        self.eosio_acc = eosf.AccountMaster()
        self.wallet.import_key(self.eosio_acc)
        eosf.set_verbosity()  # enable logs

        # create token deployer account
        self.token_deployer_acc = eosf.account(self.eosio_acc, "tkn.deployer")
        self.wallet.import_key(self.token_deployer_acc)

        # deploy eosio.bios contract
        self.eosio_bios_contract = eosf.Contract(self.eosio_acc, "eosio.bios")
        assert (not self.eosio_bios_contract.error)
        deployment_bios = self.eosio_bios_contract.deploy()
        assert (not deployment_bios.error)

        # deploy custom eosio.token contract
        self.token_contract = eosf.Contract(self.token_deployer_acc,
                                            "eosiotoken/eosio.token",
                                            wast_file='eosio.token.wast',
                                            abi_file='eosio.token.abi')
        assert (not self.token_contract.error)
        deployment_token = self.token_contract.deploy()
        assert (not deployment_token.error)
        assert (not self.token_deployer_acc.code().error)
Beispiel #9
0
    def setUpClass(cls):
        testnet = node.reset()
        assert (not testnet.error)

        wallet = eosf.Wallet()
        assert (not wallet.error)

        account_master = eosf.AccountMaster()
        wallet.import_key(account_master)
        assert (not account_master.error)

        global account_deploy
        account_deploy = eosf.account(account_master)
        wallet.import_key(account_deploy)
        assert (not account_deploy.error)

        global account_alice
        account_alice = eosf.account(account_master)
        wallet.import_key(account_alice)
        assert (not account_alice.error)

        global account_carol
        account_carol = eosf.account(account_master)
        wallet.import_key(account_carol)
        assert (not account_carol.error)

        contract_eosio_bios = eosf.Contract(account_master,
                                            "eosio.bios").deploy()
        assert (not contract_eosio_bios.error)
Beispiel #10
0
def run():
    print('test node.reset():')
    node.reset()
    print('test node.info():')
    node.info()
    print('test sess.init():')
    sess.init()

    print('test Contract("eosio.token"):')
    c = Contract("eosio.token")
    print('test c.get_code():')
    c.get_code()
    print('test c.deploy():')
    c.deploy()
    print('test c.get_code():')
    c.get_code()

    print('test c.push_action("create"):')
    c.push_action("create", '{"issuer":"eosio", "maximum_supply":"1000000000.0000 EOS", "can_freeze":0, "can_recall":0, "can_whitelist":0}')
    print('test c.push_action("issue"):')
    c.push_action("issue", '{"to":"alice", "quantity":"100.0000 EOS", "memo":"memo"}', sess.eosio)

    print('test c.push_action("transfer", sess.alice):')
    c.push_action("transfer", '{"from":"alice", "to":"carol", "quantity":"25.0000 EOS", "memo":"memo"}', sess.alice)
    print('test c.push_action("transfer", sess.carol):')
    c.push_action("transfer", '{"from":"carol", "to":"bob", "quantity":"13.0000 EOS", "memo":"memo"}', sess.carol)
    print('test c.push_action("transfer" sess.bob):')
    c.push_action("transfer", '{"from":"bob", "to":"alice", "quantity":"2.0000 EOS", "memo":"memo"}', sess.bob)

    print('testc.get_table("accounts", sess.alice):')
    t1=c.get_table("accounts", sess.alice)
    print('test c.get_table("accounts", sess.bob):')
    t2=c.get_table("accounts", sess.bob)
    print('test t3=c.get_table("accounts", sess.carol):')
    t3=c.get_table("accounts", sess.carol)

    print('assert t1.json["rows"][0]["balance"] == "77.0000 EOS":')
    assert t1.json["rows"][0]["balance"] == '77.0000 EOS'
    print('assert t2.json["rows"][0]["balance"] == "11.0000 EOS":')
    assert t2.json["rows"][0]["balance"] == '11.0000 EOS'
    print('assert t3.json["rows"][0]["balance"] == "12.0000 EOS":')
    assert t3.json["rows"][0]["balance"] == '12.0000 EOS'

    print('test node.stop():')
    node.stop()
    print("Test OK")
Beispiel #11
0
def run():
    print('test node.reset():')
    node.reset()

    print('test node.info():')
    node.info()

    print('test sess.init():')
    sess.init()

    print('test Template():')
    c = Template("_e4b2ffc804529ce9c6fae258197648cc2", remove_existing=True)

    print('test c.path():')
    c.path()

    print('test c.build():')
    c.build()

    print('test c.deploy():')
    c.deploy()

    print('test c.push_action("hi", sess.alice):')
    c.push_action("hi", '{"user":"******"}', sess.alice)

    print('assert c.get_console() == "Hello, alice":')
    assert c.get_console() == "Hello, alice"

    print('test c.push_action("hi", sess.alice):')
    c.push_action("hi", '{"user":"******"}', sess.carol)

    print('assert c.get_console() == "Hello, carol":')
    assert c.get_console() == "Hello, carol"

    print('test c.delete():')
    c.delete()

    print('test node.stop():')
    node.stop()

    print("Test OK")
    def setUpClass(cls):
        CONTRACT_NAME = "/Users/markmathis/Projects/EOS/lottery/src/contracts/Lottery"
        testnet = node.reset()
        assert (not testnet.error)

        wallet = eosf.Wallet()
        assert (not wallet.error)

        account_master = eosf.AccountMaster()
        wallet.import_key(account_master)
        assert (not account_master.error)

        global account_admin
        account_admin = eosf.account(account_master)
        wallet.import_key(account_admin)
        assert (not account_admin.error)

        global account_parent
        account_parent = eosf.account(account_master)
        wallet.import_key(account_parent)
        assert (not account_parent.error)

        global account_deploy
        account_deploy = eosf.account(account_master, name="lotteryxcode")
        wallet.import_key(account_deploy)
        assert (not account_deploy.error)

        global contract
        cprint(""" Create a reference to the new contract """, 'magenta')
        contract = eosf.ContractBuilder(CONTRACT_NAME)

        cprint(""" Not Building the contract abi/wast due to jankyness """,
               'magenta')

        # cprint(""" Build the contract abi """, 'magenta')
        # assert(not contract.build_abi().error)

        # cprint(""" Build the contract wast """, 'magenta')
        # assert(not contract.build_wast().error)

        cprint(""" Associate the contract with an account """, 'magenta')
        contract = eosf.Contract(account_deploy, CONTRACT_NAME)

        cprint(""" Deploy the contract """, 'magenta')
        assert (not contract.deploy().error)

        cprint(""" Confirm `account_deploy` contains code """, 'magenta')
        assert (not account_deploy.code().error)
Beispiel #13
0
def run():
    print('test node.reset():')
    assert node.reset()

    print('test sess.init():')
    assert sess.init()

    print('test ContractFromTemplate():')
    c = ContractFromTemplate("_e4b2ffc804529ce9c6fae258197648cc2",
                             remove_existing=True)
    assert c.is_created()

    print('test c.build():')
    assert c.build()

    print('test c.deploy():')
    assert c.deploy()

    print('test c.get_code():')
    assert c.get_code()

    print('test c.push_action("hi", sess.alice):')
    assert c.push_action("hi", '{"user":"******"}', sess.alice)

    print('test c.push_action("hi", sess.carol):')
    assert c.push_action("hi", '{"user":"******"}', sess.carol)

    set_suppress_error_msg(True)
    print('test c.push_action("hi", sess.alice):')
    assert not c.push_action("hi", '{"user":"******"}', sess.alice)
    set_suppress_error_msg(False)

    print('test c.delete():')
    c.delete()

    print('test node.stop():')
    node.stop()

    print("Test OK")
Beispiel #14
0
def test():
    testnet = node.reset(is_verbose=False)
    assert(not testnet.error)
    cprint(
        "Started a local testnet: {}".format(not testnet.error), 
        'magenta')

    wallet = eosf.Wallet()
    assert(not wallet.error)
    cprint(
        "The wallet is unlocked: {}".format(not wallet.error), 
        'magenta')

    account_master = eosf.AccountMaster(is_verbose=False)
    assert(not account_master.error)
    cprint(
        "The account_master is in the wallet: {}" \
            .format(not account_master.error), 
        'magenta')
    wallet.import_key(account_master)

    contract_eosio_bios = eosf.Contract(
        account_master, "eosio.bios", is_verbose=False).deploy()
    assert(not contract_eosio_bios.error)
    cprint(
        "The contract_eosio_bios is deployed: {}" \
            .format(not contract_eosio_bios.error), 
         'magenta') 

    cprint("account_deploy = eosf.account(account_master)", 'magenta')
    account_deploy = eosf.account(account_master)
    wallet.import_key(account_deploy)

    cprint("""contract = eosf.Contract(account_deploy, sys.path[0] + "/../")""", 'magenta')
    contract = eosf.Contract(account_deploy, sys.path[0] + "/../")

    cprint("contract.deploy()", 'magenta')
    assert(not contract.deploy(is_verbose=0).error)

    cprint("contract.code()", 'magenta')
    code = contract.code()
    print("code hash: {}".format(code.code_hash))

    cprint("account_alice = eosf.account(account_master)", 'magenta')
    account_alice = eosf.account(account_master)
    assert(not account_alice.error)
    wallet.import_key(account_alice)

    cprint("account_carol = eosf.account(account_master)", 'magenta')
    account_carol = eosf.account(account_master)
    assert(not account_carol.error)
    wallet.import_key(account_carol) 

    cprint(
        """contract.push_action("hi", '{"user":"******"}', account_alice)""", 'magenta')
    assert(not contract.push_action(
        "hi", '{"user":"******"}', account_alice, output=True).error)

    cprint(
        """contract.push_action("hi", '{"user":"******"}', account_carol)""", 'magenta')
    assert(not contract.push_action(
        "hi", '{"user":"******"}', account_carol, output=True).error)

    testnet = node.stop()
    assert(not testnet.error)
    cprint(
        "Closed the local testnet: {}".format(not testnet.error), 'magenta')
Beispiel #15
0
def run():
    print('test node.reset():')
    node.reset()
    print('test sess.init():')
    sess.init()

    print('test c = Contract("tic.tac.toe"):')
    c = Contract("tic.tac.toe")
    print('test c.deploy():')
    c.deploy()

    print('test c.push_action("create", sess.bob :')
    c.push_action("create", '{"challenger":"alice", "host":"bob"}', sess.bob)

    print('test t=c.get_table("games", sess.bob):')
    t = c.get_table("games", sess.bob)

    assert t.json["rows"][0]["board"][0] == '0'
    assert t.json["rows"][0]["board"][1] == '0'
    assert t.json["rows"][0]["board"][2] == '0'
    assert t.json["rows"][0]["board"][3] == '0'
    assert t.json["rows"][0]["board"][4] == '0'
    assert t.json["rows"][0]["board"][5] == '0'
    assert t.json["rows"][0]["board"][6] == '0'
    assert t.json["rows"][0]["board"][7] == '0'
    assert t.json["rows"][0]["board"][8] == '0'

    print('test c.push_action("move", sess.bob:')
    c.push_action(
        "move",
        '{"challenger":"alice", "host":"bob", "by":"bob", "mvt":{"row":0, "column":0} }',
        sess.bob)
    print('test c.push_action("move", sess.alice:')
    c.push_action(
        "move",
        '{"challenger":"alice", "host":"bob", "by":"alice", "mvt":{"row":1, "column":1} }',
        sess.alice)

    t = c.get_table("games", sess.bob)

    assert t.json["rows"][0]["board"][0] == '1'
    assert t.json["rows"][0]["board"][1] == '0'
    assert t.json["rows"][0]["board"][2] == '0'
    assert t.json["rows"][0]["board"][3] == '0'
    assert t.json["rows"][0]["board"][4] == '2'
    assert t.json["rows"][0]["board"][5] == '0'
    assert t.json["rows"][0]["board"][6] == '0'
    assert t.json["rows"][0]["board"][7] == '0'
    assert t.json["rows"][0]["board"][8] == '0'

    print('test c.push_action("restart", sess.bob:')
    c.push_action("restart",
                  '{"challenger":"alice", "host":"bob", "by":"bob"}', sess.bob)

    print('test t=c.get_table("games", sess.bob):')
    t = c.get_table("games", sess.bob)

    assert t.json["rows"][0]["board"][0] == '0'
    assert t.json["rows"][0]["board"][1] == '0'
    assert t.json["rows"][0]["board"][2] == '0'
    assert t.json["rows"][0]["board"][3] == '0'
    assert t.json["rows"][0]["board"][4] == '0'
    assert t.json["rows"][0]["board"][5] == '0'
    assert t.json["rows"][0]["board"][6] == '0'
    assert t.json["rows"][0]["board"][7] == '0'
    assert t.json["rows"][0]["board"][8] == '0'

    print('test c.push_action("close", sess.bob:')
    c.push_action("close", '{"challenger":"alice", "host":"bob"}', sess.bob)

    print('test node.stop():')
    node.stop()
    print("Test OK")
Beispiel #16
0
# python3 script.py

#Run without exit:
# comment out node.stop()
# python3 -i script.py


#create user
#load hello.world and yourcontractname contract
#deploy
###############################################
import node
import sess
import eosf

node.reset()
sess.init()

john = eosf.account(sess.eosio, name="john")
sess.wallet.import_key(john)

#change hello.world to yourcontractname
contract = eosf.Contract(john, "hello.world")
contract.build()
contract.code()
contract.deploy()
contract.code()

contract.push_action("hi", '["world"]')

#contract = eosf.Contract(john, "yourcontractname")
Beispiel #17
0
def test():

    testnet = node.reset()
    assert(not testnet.error)

    wallet = eosf.Wallet()
    assert(not wallet.error)

    account_master = eosf.AccountMaster()
    assert(not account_master.error)
    wallet.import_key(account_master)

    account_alice = eosf.account(account_master)
    assert(not account_alice.error)
    wallet.import_key(account_alice)

    account_carol = eosf.account(account_master)
    assert(not account_carol.error)
    wallet.import_key(account_carol)

    account_deploy = eosf.account(account_master, name="tic.tac.toe")
    assert(not account_deploy.error)
    wallet.import_key(account_deploy)

    contract_eosio_bios = eosf.Contract(
        account_master, "eosio.bios").deploy()
    assert(not contract_eosio_bios.error)

    contract = eosf.Contract(account_deploy, "tic_tac_toe")
    assert(not contract.error)

    deployment = contract.deploy()
    assert(not deployment.error)

    cprint("""
Action contract.push_action("create")
    """, 'magenta')
    action = contract.push_action(
        "create", 
        '{"challenger":"' 
        + str(account_alice) +'", "host":"' 
        + str(account_carol) + '"}', account_carol)
    print(action)
    assert(not action.error)
    
    t = contract.table("games", account_carol)
    assert(not t.error)

    assert(t.json["rows"][0]["board"][0] == 0)
    assert(t.json["rows"][0]["board"][1] == 0)
    assert(t.json["rows"][0]["board"][2] == 0)
    assert(t.json["rows"][0]["board"][3] == 0)
    assert(t.json["rows"][0]["board"][4] == 0)
    assert(t.json["rows"][0]["board"][5] == 0)
    assert(t.json["rows"][0]["board"][6] == 0)
    assert(t.json["rows"][0]["board"][7] == 0)
    assert(t.json["rows"][0]["board"][8] == 0)

    cprint("""
Action contract.push_action("move")
    """, 'magenta')
    action = contract.push_action(
        "move", 
        '{"challenger":"' 
        + str(account_alice) + '", "host":"' 
        + str(account_carol) + '", "by":"' 
        + str(account_carol) + '", "mvt":{"row":0, "column":0} }', account_carol)
    print(action)
    assert(not action.error)

    cprint("""
Action contract.push_action("move")
    """, 'magenta')
    action = contract.push_action(
        "move", 
        '{"challenger":"' 
        + str(account_alice) + '", "host":"' 
        + str(account_carol) + '", "by":"' 
        + str(account_alice) + '", "mvt":{"row":1, "column":1} }', account_alice)
    print(action)
    assert(not action.error)

    t = contract.table("games", account_carol)
    assert(not t.error)

    assert(t.json["rows"][0]["board"][0] == 1)
    assert(t.json["rows"][0]["board"][1] == 0)
    assert(t.json["rows"][0]["board"][2] == 0)
    assert(t.json["rows"][0]["board"][3] == 0)
    assert(t.json["rows"][0]["board"][4] == 2)
    assert(t.json["rows"][0]["board"][5] == 0)
    assert(t.json["rows"][0]["board"][6] == 0)
    assert(t.json["rows"][0]["board"][7] == 0)
    assert(t.json["rows"][0]["board"][8] == 0)

    cprint("""
Action contract.push_action("restart")
    """, 'magenta')
    action = contract.push_action(
            "restart", 
            '{"challenger":"' 
            + str(account_alice) + '", "host":"' 
            + str(account_carol) + '", "by":"' + str(account_carol) + '"}', account_carol)
    print(action)
    assert(not action.error)

    t = contract.table("games", account_carol)
    assert(not t.error)

    assert(t.json["rows"][0]["board"][0] == 0)
    assert(t.json["rows"][0]["board"][1] == 0)
    assert(t.json["rows"][0]["board"][2] == 0)
    assert(t.json["rows"][0]["board"][3] == 0)
    assert(t.json["rows"][0]["board"][4] == 0)
    assert(t.json["rows"][0]["board"][5] == 0)
    assert(t.json["rows"][0]["board"][6] == 0)
    assert(t.json["rows"][0]["board"][7] == 0)
    assert(t.json["rows"][0]["board"][8] == 0)

    cprint("""
Action contract.push_action("close")
    """, 'magenta')
    action = contract.push_action(
            "close", 
            '{"challenger":"' 
            + str(account_alice) + '", "host":"' + str(account_carol) + '"}', account_carol)
    print(action)
    assert(not action.error)

    node.stop()

    cprint("OK OK OK OK OK OK OK OK 0K 0K 0K 0K", 'green')
Beispiel #18
0
def reset(is_verbose=1):
    return node.reset(is_verbose)
Beispiel #19
0
def test():

    testnet = node.reset()
    assert (not testnet.error)

    wallet = eosf.Wallet()
    assert (not wallet.error)

    account_master = eosf.AccountMaster()
    assert (not account_master.error)
    wallet.import_key(account_master)

    account_alice = eosf.account(account_master)
    assert (not account_alice.error)
    wallet.import_key(account_alice)

    account_bob = eosf.account(account_master)
    assert (not account_bob.error)
    wallet.import_key(account_bob)

    account_carol = eosf.account(account_master)
    assert (not account_carol.error)
    wallet.import_key(account_carol)

    account_deploy = eosf.account(account_master)
    assert (not account_deploy.error)
    wallet.import_key(account_deploy)

    contract_eosio_bios = eosf.Contract(account_master, "eosio.bios").deploy()
    assert (not contract_eosio_bios.error)

    contract = eosf.Contract(account_deploy, "eosio.token")
    assert (not contract.error)

    deployment = contract.deploy()
    assert (not deployment.error)

    cprint("""
Action contract.push_action("create")
    """, 'magenta')
    assert (not contract.push_action(
        "create", '{"issuer":"' + str(account_master) +
        '", "maximum_supply":"1000000000.0000 EOS",\
            "can_freeze":0, "can_recall":0, "can_whitelist":0}').error)

    cprint("""
Action contract.push_action("issue")
    """, 'magenta')
    assert (not contract.push_action(
        "issue", '{"to":"' + str(account_alice) +
        '", "quantity":"100.0000 EOS", "memo":"memo"}', account_master).error)

    cprint("""
Action contract.push_action("transfer", account_alice)
    """, 'magenta')
    assert (not contract.push_action(
        "transfer", '{"from":"' + str(account_alice) + '", "to":"' +
        str(account_carol) + '", "quantity":"25.0000 EOS", "memo":"memo"}',
        account_alice).error)

    cprint("""
Action contract.push_action("transfer", account_carol)
    """, 'magenta')
    assert (not contract.push_action(
        "transfer", '{"from":"' + str(account_carol) + '", "to":"' +
        str(account_bob) + '", "quantity":"13.0000 EOS", "memo":"memo"}',
        account_carol).error)

    cprint("""
Action contract.push_action("transfer" account_bob)
    """, 'magenta')
    assert (not contract.push_action(
        "transfer", '{"from":"' + str(account_bob) + '", "to":"' +
        str(account_alice) + '", "quantity":"2.0000 EOS", "memo":"memo"}',
        account_bob).error)

    cprint("""
Assign t1 = contract.table("accounts", account_alice)
    """, 'magenta')
    t1 = contract.table("accounts", account_alice)

    cprint("""
Assign t2 = contract.table("accounts", account_bob)
    """, 'magenta')
    t2 = contract.table("accounts", account_bob)

    cprint("""
Assign t3 = contract.table("accounts", account_carol)
    """, 'magenta')
    t3 = contract.table("accounts", account_carol)

    cprint("""
Assert t1.json["rows"][0]["balance"] == '77.0000 EOS'
    """, 'magenta')
    assert (t1.json["rows"][0]["balance"] == '77.0000 EOS')

    cprint("""
Assert t2.json["rows"][0]["balance"] == '11.0000 EOS'
    """, 'magenta')
    assert (t2.json["rows"][0]["balance"] == '11.0000 EOS')

    cprint("""
Assert t3.json["rows"][0]["balance"] == '12.0000 EOS'
    """, 'magenta')
    assert (t3.json["rows"][0]["balance"] == '12.0000 EOS')

    node.stop()

    cprint("OK OK OK OK OK OK OK OK 0K 0K 0K 0K", 'green')
Beispiel #20
0
def test():
    testnet = node.reset()
    assert (not testnet.error)

    wallet = eosf.Wallet()
    assert (not wallet.error)

    account_master = eosf.AccountMaster()
    assert (not account_master.error)
    wallet.import_key(account_master)

    account_deploy = eosf.account(account_master)
    wallet.import_key(account_deploy)
    assert (not account_deploy.error)

    account_alice = eosf.account(account_master)
    assert (not account_alice.error)
    wallet.import_key(account_alice)

    account_carol = eosf.account(account_master)
    assert (not account_carol.error)
    wallet.import_key(account_carol)

    contract_eosio_bios = eosf.Contract(account_master, "eosio.bios").deploy()
    assert (not contract_eosio_bios.error)

    cprint("""
Create a reference to the new contract
    """, 'magenta')
    contract = eosf.ContractBuilderFromTemplate(CONTRACT_NAME,
                                                remove_existing=True)

    cprint("""
Build the contract abi
    """, 'magenta')
    assert (not contract.build_abi().error)

    cprint("""
Associate the contract with an account
    """, 'magenta')
    contract = eosf.Contract(account_deploy, CONTRACT_NAME)

    cprint("""
Build the contract wast
    """, 'magenta')
    assert (not contract.build_wast().error)

    cprint("""
Deploy the contract
    """, 'magenta')
    assert (not contract.deploy().error)

    cprint("""
Confirm `account_deploy` contains code
    """, 'magenta')
    assert (not account_deploy.code().error)

    cprint(
        """
Action contract.push_action("hi", '{"user":"******"}', account_alice)
    """, 'magenta')
    action = contract.push_action("hi",
                                  '{"user":"******"}',
                                  account_alice)
    assert (not action.error)

    cprint(
        """
Action contract.push_action("hi", '{"user":"******"}', account_carol)
    """, 'magenta')
    action = contract.push_action("hi",
                                  '{"user":"******"}',
                                  account_carol)
    assert (not action.error)

    cprint(
        """
Action contract.push_action("hi", '{"user":"******"}', account_alice)
WARNING: This action should fail due to authority mismatch!
    """, 'magenta')
    action = contract.push_action("hi",
                                  '{"user":"******"}',
                                  account_alice)
    assert (action.error)

    contract.delete()
    node.stop()

    cprint("OK OK OK OK OK OK OK OK 0K 0K 0K 0K", 'green')