Exemple #1
0
def test_register_normal_1(TokenList, users, otc_exchange, personal_info):
    admin = users['admin']
    issuer = users['issuer']

    # TokenListコントラクト作成
    tokenlist_contract = admin.deploy(TokenList)

    # Token新規発行
    share_token, deploy_args = \
        utils.issue_share_token(users, otc_exchange.address, personal_info.address)
    token_address = share_token.address

    # TokenListに追加
    tokenlist_contract.register.transact(token_address, token_template,
                                         {'from': issuer})

    # Owner Address が正しいことを確認
    owner_address = tokenlist_contract.getOwnerAddress(token_address)
    assert owner_address == issuer

    # 登録後のリストの長さが正しいことを確認
    list_length = tokenlist_contract.getListLength()
    assert list_length == 1

    # 登録情報の内容が正しいことを確認(アドレス検索)
    token_by_address = tokenlist_contract.getTokenByAddress(token_address)
    assert token_by_address[0] == to_checksum_address(token_address)
    assert token_by_address[1] == token_template
    assert token_by_address[2] == to_checksum_address(issuer.address)

    # 登録情報の内容が正しいことを確認(リスト番号指定)
    token_by_num = tokenlist_contract.getTokenByNum(0)
    assert token_by_num[0] == to_checksum_address(token_address)
    assert token_by_num[1] == token_template
    assert token_by_num[2] == to_checksum_address(issuer.address)
Exemple #2
0
def test_register_error_4(TokenList, users, share_exchange, personal_info):
    admin = users['admin']
    issuer = users['issuer']

    # TokenListコントラクト作成
    tokenlist_contract = admin.deploy(TokenList)

    # Token新規発行
    share_token, deploy_args = \
        utils.issue_share_token(users, share_exchange.address, personal_info.address)
    token_address = share_token.address

    # 新規登録(account_1) -> Success
    tokenlist_contract.register.transact(token_address, token_template,
                                         {'from': issuer})

    # 新規登録(account_2) -> Failure
    tokenlist_contract.register.transact(token_address, token_template,
                                         {'from': admin})

    # 登録後のリストの長さが正しいことを確認
    list_length = tokenlist_contract.getListLength()
    assert list_length == 1

    # 登録情報の内容が正しいことを確認(アドレス検索)
    token_by_address = tokenlist_contract.getTokenByAddress(token_address)
    assert token_by_address[0] == to_checksum_address(token_address)
    assert token_by_address[1] == token_template
    assert token_by_address[2] == to_checksum_address(issuer.address)

    # 登録情報の内容が正しいことを確認(リスト番号指定)
    token_by_num = tokenlist_contract.getTokenByNum(0)
    assert token_by_num[0] == to_checksum_address(token_address)
    assert token_by_num[1] == token_template
    assert token_by_num[2] == to_checksum_address(issuer.address)
Exemple #3
0
def test_register_error_2(TokenList, users, share_exchange, personal_info):
    admin = users['admin']
    issuer = users['issuer']

    # TokenListコントラクト作成
    tokenlist_contract = admin.deploy(TokenList)

    # Token新規発行
    share_token, deploy_args = \
        utils.issue_share_token(users, share_exchange.address, personal_info.address)
    token_address = share_token.address

    # 新規登録 -> Failure
    with pytest.raises(ValueError):
        tokenlist_contract.register. \
            transact(token_address, '0xb6286fAFd0451320ad6A8143089b216C2152c025', {'from': issuer})
Exemple #4
0
def test_changeOwner_error_3(TokenList, users, share_exchange, personal_info):
    admin = users['admin']
    issuer = users['issuer']
    new_owner_address = users['issuer']

    # TokenListコントラクト作成
    tokenlist_contract = admin.deploy(TokenList)

    # Token新規発行
    share_token, deploy_args = \
        utils.issue_share_token(users, share_exchange.address, personal_info.address)
    token_address = share_token.address

    # オーナー変更 -> Failure
    tokenlist_contract.changeOwner.transact(token_address, new_owner_address,
                                            {'from': issuer})

    owner_address = tokenlist_contract.getOwnerAddress(token_address)
    assert owner_address == '0x0000000000000000000000000000000000000000'
Exemple #5
0
def test_changeOwner_error_2(TokenList, users, share_exchange, personal_info):
    admin = users['admin']
    issuer = users['issuer']

    # TokenListコントラクト作成
    tokenlist_contract = admin.deploy(TokenList)

    # Token新規発行
    share_token, deploy_args = \
        utils.issue_share_token(users, share_exchange.address, personal_info.address)
    token_address = share_token.address

    new_owner_address = 'some_address'

    # 新規登録 -> Failure
    with pytest.raises(ValueError):
        tokenlist_contract.changeOwner.transact(token_address,
                                                new_owner_address,
                                                {'from': issuer})
Exemple #6
0
def test_changeOwner_error_4(TokenList, users, share_exchange, personal_info):
    admin = users['admin']
    issuer = users['issuer']
    new_owner_address = users['issuer']

    # TokenListコントラクト作成
    tokenlist_contract = admin.deploy(TokenList)

    # Token新規発行
    share_token, deploy_args = \
        utils.issue_share_token(users, share_exchange.address, personal_info.address)
    token_address = share_token.address

    # 新規登録 -> Success
    tokenlist_contract.register.transact(token_address, token_template,
                                         {'from': issuer})

    # オーナー変更 -> Failure
    tokenlist_contract.changeOwner.transact(token_address, new_owner_address,
                                            {'from': admin})

    owner_address = tokenlist_contract.getOwnerAddress(token_address)
    assert owner_address == to_checksum_address(issuer.address)