예제 #1
0
파일: test_target.py 프로젝트: fnzv/raiden
def test_handle_secretreveal():
    """ The target node needs to inform the secret to the previous node to
    receive an updated balance proof.
    """
    amount = 3
    block_number = 1
    expire = block_number + factories.UNIT_REVEAL_TIMEOUT
    initiator = factories.HOP1
    our_address = factories.ADDR
    secret = factories.UNIT_SECRET

    state = make_target_state(
        our_address,
        amount,
        block_number,
        initiator,
        expire,
    )
    state_change = ReceiveSecretReveal(secret, initiator)

    iteration = target.handle_secretreveal(state, state_change)
    reveal = [e for e in iteration.events if isinstance(e, SendRevealSecret)]

    assert iteration.new_state.state == 'reveal_secret'
    assert reveal[0].identifier == state.from_transfer.identifier
    assert reveal[0].secret == secret
    assert reveal[0].receiver == state.from_route.node_address
    assert reveal[0].sender == our_address
예제 #2
0
def test_handle_secretreveal():
    """ The target node needs to inform the secret to the previous node to
    receive an updated balance proof.
    """
    amount = 3
    block_number = 1
    expiration = block_number + factories.UNIT_REVEAL_TIMEOUT
    initiator = factories.HOP1
    our_address = factories.ADDR
    secret = factories.UNIT_SECRET
    pseudo_random_generator = random.Random()

    channel_state, state = make_target_state(
        our_address,
        amount,
        block_number,
        initiator,
        expiration,
    )
    state_change = ReceiveSecretReveal(secret, initiator)

    iteration = target.handle_secretreveal(
        state,
        state_change,
        channel_state,
        pseudo_random_generator,
    )
    assert len(iteration.events) == 1

    reveal = iteration.events[0]
    assert isinstance(reveal, SendRevealSecret)

    assert iteration.new_state.state == 'reveal_secret'
    assert reveal.secret == secret
    assert reveal.recipient == state.route.node_address
예제 #3
0
def test_handle_secretreveal():
    """ The target node needs to inform the secret to the previous node to
    receive an updated balance proof.
    """
    amount = 3
    block_number = 1
    expiration = block_number + factories.UNIT_REVEAL_TIMEOUT
    initiator = factories.HOP1
    our_address = factories.ADDR
    secret = factories.UNIT_SECRET
    pseudo_random_generator = random.Random()

    channel_state, state = make_target_state(
        our_address,
        amount,
        block_number,
        initiator,
        expiration,
    )
    state_change = ReceiveSecretReveal(secret, initiator)

    iteration = target.handle_secretreveal(
        state,
        state_change,
        channel_state,
        pseudo_random_generator,
    )
    assert len(iteration.events) == 1

    reveal = iteration.events[0]
    assert isinstance(reveal, SendRevealSecret)

    assert iteration.new_state.state == 'reveal_secret'
    assert reveal.secret == secret
    assert reveal.recipient == state.route.node_address
def test_handle_secretreveal():
    """ The target node needs to inform the secret to the previous node to
    receive an updated balance proof.
    """
    amount = 3
    block_number = 1
    expire = block_number + factories.UNIT_REVEAL_TIMEOUT
    initiator = factories.HOP1
    our_address = factories.ADDR
    secret = factories.UNIT_SECRET

    state = make_target_state(
        our_address,
        amount,
        block_number,
        initiator,
        expire,
    )
    state_change = ReceiveSecretReveal(secret, initiator)

    iteration = target.handle_secretreveal(state, state_change)
    reveal = [
        e
        for e in iteration.events
        if isinstance(e, SendRevealSecret)
    ]

    assert iteration.new_state.state == 'reveal_secret'
    assert reveal[0].identifier == state.from_transfer.identifier
    assert reveal[0].secret == secret
    assert reveal[0].receiver == state.from_route.node_address
    assert reveal[0].sender == our_address