Example #1
0
def test_nac_add_property_fail():
    state = tester.state()
    nc.registry.register(SampleNAC)
    sender = tester.k0
    try:
        nc.tester_call_method(state, sender, SampleNAC.add_property)
    except tester.TransactionFailed:
        pass
    else:
        assert False, 'properties must not be createable'
    nc.registry.unregister(SampleNAC)
def test_nac_add_property_fail():
    state = tester.state()
    nc.registry.register(SampleNAC)
    sender = tester.k0
    try:
        nc.tester_call_method(state, sender, SampleNAC.add_property)
    except tester.TransactionFailed:
        pass
    else:
        assert False, 'properties must not be createable'
    nc.registry.unregister(SampleNAC)
Example #3
0
def test_nac_suicide():
    state = tester.state()
    nc.registry.register(SampleNAC)
    sender = tester.k0
    state._send(sender, SampleNAC.address, value=100)
    assert state.block.get_balance(SampleNAC.address) == 100
    assert None is nc.tester_call_method(state, sender, SampleNAC.test_suicide)
    assert state.block.get_balance(SampleNAC.address) == 0
    nc.registry.unregister(SampleNAC)
def test_nac_suicide():
    state = tester.state()
    nc.registry.register(SampleNAC)
    sender = tester.k0
    state._send(sender, SampleNAC.address, value=100)
    assert state.block.get_balance(SampleNAC.address) == 100
    assert None is nc.tester_call_method(state, sender, SampleNAC.test_suicide)
    assert state.block.get_balance(SampleNAC.address) == 0
    nc.registry.unregister(SampleNAC)
Example #5
0
def test_nac_tester():
    assert issubclass(SampleNAC.afunc.im_class, SampleNAC)
    state = tester.state()
    nc.registry.register(SampleNAC)
    sender = tester.k0

    assert 12 == nc.tester_call_method(state, sender, SampleNAC.afunc, 3, 4)
    print
    # FIXME fails
    # assert 30 == nc.tester_call_method(state, sender, SampleNAC.dfunc, [5, 6])
    assert ['\0' * 20] * 3 == nc.tester_call_method(state, sender, SampleNAC.gfunc)
    assert 30 == nc.tester_call_method(state, sender, SampleNAC.efunc, [5, 6])
    assert 26 == nc.tester_call_method(state, sender, SampleNAC.bfunc, 13)

    # FIXME THIS IS STILL BROKEN
    #assert [1, 2] == nc.tester_call_method(state, sender, SampleNAC.ffunc)
    #assert [1, 2] == nc.tester_call_method(state, sender, SampleNAC.ffunc2)

    assert 4, 4 == nc.tester_call_method(state, sender, SampleNAC.cfunc, 4)
    assert [4] == nc.tester_call_method(state, sender, SampleNAC.ccfunc, 4)

    assert 42 == nc.tester_call_method(state, sender, SampleNAC.noargs_func)
    assert None is nc.tester_call_method(state, sender, SampleNAC.void_func, 3)
    assert None is nc.tester_call_method(state, sender, SampleNAC.special_vars)
    # values out of range must fail
    try:
        nc.tester_call_method(state, sender, SampleNAC.bfunc, -1)
    except abi.ValueOutOfBounds:
        pass
    else:
        assert False, 'must fail'
    try:
        nc.tester_call_method(state, sender, SampleNAC.afunc, 2**15, 2)
    except tester.TransactionFailed:
        pass
    else:
        assert False, 'must fail'
    try:
        nc.tester_call_method(state, sender, SampleNAC.afunc, [1], 2)
    except abi.EncodingError:
        pass
    else:
        assert False, 'must fail'
    nc.registry.unregister(SampleNAC)
def test_nac_tester():
    assert issubclass(SampleNAC.afunc.im_class, SampleNAC)
    state = tester.state()
    nc.registry.register(SampleNAC)
    sender = tester.k0

    assert 12 == nc.tester_call_method(state, sender, SampleNAC.afunc, 3, 4)
    print
    # FIXME fails
    # assert 30 == nc.tester_call_method(state, sender, SampleNAC.dfunc, [5, 6])
    assert ['\0' * 20] * 3 == nc.tester_call_method(state, sender,
                                                    SampleNAC.gfunc)
    assert 30 == nc.tester_call_method(state, sender, SampleNAC.efunc, [5, 6])
    assert 26 == nc.tester_call_method(state, sender, SampleNAC.bfunc, 13)

    # FIXME THIS IS STILL BROKEN
    # assert [1, 2] == nc.tester_call_method(state, sender, SampleNAC.ffunc)
    # assert [1, 2] == nc.tester_call_method(state, sender, SampleNAC.ffunc2)

    assert 4, 4 == nc.tester_call_method(state, sender, SampleNAC.cfunc, 4)
    assert [4] == nc.tester_call_method(state, sender, SampleNAC.ccfunc, 4)

    assert 42 == nc.tester_call_method(state, sender, SampleNAC.noargs_func)
    assert None is nc.tester_call_method(state, sender, SampleNAC.void_func, 3)
    assert None is nc.tester_call_method(state, sender, SampleNAC.special_vars)
    # values out of range must fail
    with pytest.raises(abi.EncodingError):
        nc.tester_call_method(state, sender, SampleNAC.bfunc, -1)

    with pytest.raises(tester.TransactionFailed):
        nc.tester_call_method(state, sender, SampleNAC.afunc, 2**15, 2)

    with pytest.raises(abi.EncodingError):
        nc.tester_call_method(state, sender, SampleNAC.afunc, [1], 2)
    nc.registry.unregister(SampleNAC)