def test_nested_receipts():
    v = [
        UInt.defer(value=1),
        [
            UInt.defer(value=2),
            UInt.defer(value=3),
        ],
        {
            'key_a': UInt.defer(value=4),
            'key_b': [
                UInt.defer(value=5),
                UInt.defer(value=6),
            ],
            'key_c': {
                'key_d':
                UInt.defer(value=7),
                'key_e':
                UInt.defer(value=8),
                'key_f':
                Address.defer(
                    key='SomeContract',
                    value='0xd3cda913deb6f67967b99d67acdfa1712c293601',
                ),
            },
        },
    ]

    value_setters = generate_registrar_value_setters(v)

    assert len(value_setters) == 9

    expected_keys = {
        '0',
        '1/0',
        '1/1',
        '2/key_a',
        '2/key_b/0',
        '2/key_b/1',
        '2/key_c/key_d',
        '2/key_c/key_e',
        'SomeContract',
    }

    actual_keys = {s.key for s in value_setters}
    assert actual_keys == expected_keys
Ejemplo n.º 2
0
def test_nested_receipts():
    v = [
        UInt.defer(value=1),
        [
            UInt.defer(value=2),
            UInt.defer(value=3),
        ],
        {
            'key_a': UInt.defer(value=4),
            'key_b': [
                UInt.defer(value=5),
                UInt.defer(value=6),
            ],
            'key_c': {
                'key_d': UInt.defer(value=7),
                'key_e': UInt.defer(value=8),
                'key_f': Address.defer(
                    key='SomeContract',
                    value='0xd3cda913deb6f67967b99d67acdfa1712c293601',
                ),
            },
        },
    ]

    value_setters = generate_registrar_value_setters(v)

    assert len(value_setters) == 9

    expected_keys = {
        '0',
        '1/0',
        '1/1',
        '2/key_a',
        '2/key_b/0',
        '2/key_b/1',
        '2/key_c/key_d',
        '2/key_c/key_e',
        'SomeContract',
    }

    actual_keys = {s.key for s in value_setters}
    assert actual_keys == expected_keys
from populus.migrations.deferred import DeferredValue, Address
from populus.migrations.writer import serialize_deconstructable


class Deferred(DeferredValue):
    a = None
    b = None
    c = None


@pytest.mark.parametrize(
    "value,expected_imports,expected_value",
    (
        (
            Address.defer(key="abcd"),
            {"populus.migrations.deferred"},
            """populus.migrations.deferred.Address.defer(
    key='abcd',
)\n""",
        ),
        (
            Deferred.defer(c=4),
            {__name__},
            """{module_part}.Deferred.defer(
    c=4,
)\n""".format(
                module_part=__name__
            ),
        ),
    ),
Ejemplo n.º 4
0
)
from populus.migrations.writer import (
    serialize_deconstructable, )


class Deferred(DeferredValue):
    a = None
    b = None
    c = None


@pytest.mark.parametrize(
    'value,expected_imports,expected_value',
    (
        (
            Address.defer(key='abcd'),
            {'populus.migrations.deferred'},
            """populus.migrations.deferred.Address.defer(
    key='abcd',
)\n""",
        ),
        (
            Deferred.defer(c=4),
            {__name__},
            """{module_part}.Deferred.defer(
    c=4,
)\n""".format(module_part=__name__),
        ),
    ),
)
def test_serialization_of_deferred_values(value, expected_imports,