def test_transfer(): apps = create_network(num_nodes=2, num_assets=1, channels_per_node=1) a0, a1 = apps messages = setup_messages_cb(a0.transport) # channels am0 = a0.raiden.assetmanagers.values()[0] am1 = a1.raiden.assetmanagers.values()[0] assert am0.asset_address == am1.asset_address c0 = am0.channels[a1.raiden.address] c1 = am1.channels[a0.raiden.address] b0 = c0.balance b1 = c1.balance amount = 10 target = a1.raiden.address assert target in am0.channels a0.raiden.api.transfer(am0.asset_address, amount, target=target) gevent.sleep(1) assert len(messages) == 2 # Transfer, Ack mt = deserialize(messages[0]) assert isinstance(mt, Transfer) assert mt.balance == b1 + amount ma = deserialize(messages[1]) assert isinstance(ma, Ack) assert ma.echo == mt.hash assert b1 + amount == c1.balance assert b0 - amount == c0.balance assert c0.locked.root == c1.partner.locked.root == c1.locked.root == ''