Ejemplo n.º 1
0
def test_creation_as_alive():
    peer = Peer(
        identity='id',
        lifetime=10,
        lastseen='2020-12-31T23:59:50.123456',  # less than 10 seconds before "now"
    )
    assert peer.lifetime == datetime.timedelta(seconds=10)
    assert peer.lastseen == datetime.datetime(2020, 12, 31, 23, 59, 50, 123456)
    assert peer.deadline == datetime.datetime(2021, 1, 1, 0, 0, 0, 123456)
    assert peer.is_dead is False
Ejemplo n.º 2
0
def test_creation_as_dead():
    peer = Peer(
        identity='id',
        lifetime=10,
        lastseen='2020-12-31T23:59:49.123456',  # 10 seconds before "now" sharp
    )
    assert peer.lifetime == datetime.timedelta(seconds=10)
    assert peer.lastseen == datetime.datetime(2020, 12, 31, 23, 59, 49, 123456)
    assert peer.deadline == datetime.datetime(2020, 12, 31, 23, 59, 59, 123456)
    assert peer.is_dead is True
Ejemplo n.º 3
0
async def test_cleaning_peers_purges_them(hostname, aresponses, resp_mocker,
                                          settings, lastseen, peering_resource,
                                          peering_namespace):

    settings.peering.name = 'name0'
    patch_mock = resp_mocker(return_value=aiohttp.web.json_response({}))
    url = peering_resource.get_url(name='name0', namespace=peering_namespace)
    aresponses.add(hostname, url, 'patch', patch_mock)

    peer = Peer(identity='id1', lastseen=lastseen)
    await clean(peers=[peer],
                resource=peering_resource,
                settings=settings,
                namespace=peering_namespace)

    assert patch_mock.called
    patch = await patch_mock.call_args_list[0][0][0].json()
    assert set(patch['status']) == {'id1'}
    assert patch['status']['id1'] is None
Ejemplo n.º 4
0
def test_defaults():
    peer = Peer(identity='id')
    assert peer.identity == 'id'
    assert peer.lifetime == datetime.timedelta(seconds=60)
    assert peer.lastseen == datetime.datetime(2020, 12, 31, 23, 59, 59, 123456)
Ejemplo n.º 5
0
def test_creation_with_lastseen_as_string():
    peer = Peer(identity='id', lastseen='2020-01-01T12:34:56.789123')
    assert peer.lastseen == datetime.datetime(2020, 1, 1, 12, 34, 56, 789123)
Ejemplo n.º 6
0
def test_creation_with_lastseen_unspecified():
    peer = Peer(identity='id')
    assert peer.lastseen == datetime.datetime(2020, 12, 31, 23, 59, 59, 123456)
Ejemplo n.º 7
0
def test_creation_with_lifetime_unspecified():
    peer = Peer(identity='id')
    assert peer.lifetime == datetime.timedelta(seconds=60)
Ejemplo n.º 8
0
def test_creation_with_lifetime_as_number():
    peer = Peer(identity='id', lifetime=123)
    assert peer.lifetime == datetime.timedelta(seconds=123)
Ejemplo n.º 9
0
def test_priority_unspecified():
    peer = Peer(identity='id')
    assert peer.priority == 0
Ejemplo n.º 10
0
def test_priority_specified():
    peer = Peer(identity='id', priority=123)
    assert peer.priority == 123
Ejemplo n.º 11
0
def test_repr():
    peer = Peer(identity='some-id')
    text = repr(peer)
    assert text == "<Peer some-id: priority=0, lifetime=60, lastseen='2020-12-31T23:59:59.123456'>"