Exemple #1
0
async def test_bundle(server):
    address = Address(url=server.url)
    foo = server.route('/foo', 's')
    bar = server.route('/bar', 's')
    baz = server.route('/baz', 's')
    subs = foo.sub() | bar.sub() | baz.sub()
    task = create_task(subscribe(subs, 3))
    address.bundle([
        Message(foo, 'foo'),
        Message(bar, 'bar'),
        Message(baz, 'baz'),
    ])
    results = await task
    assert_results(results, {foo: [['foo']], bar: [['bar']], baz: [['baz']]})
Exemple #2
0
async def test_bundle_delayed(server):
    address = Address(url=server.url)
    foo = server.route('/foo', 's')
    task = create_task(subscribe(foo.sub(), 1))
    address.bundle([
        Message(foo, 'now'),
        Bundle([Message(foo, 'later')],
               timetag=now() + datetime.timedelta(seconds=0.5))
    ])
    address.delay(1, foo, 'later than later')
    results = list(await task)
    assert results == [['now']]
    assert server.events_pending
    assert 0 < server.next_event_delay < 1
    task = create_task(subscribe(foo.sub(), 1))
    results = list(await task)
    assert results == [['later']]
    assert server.events_pending
    assert 0 < server.next_event_delay < 1
    task = create_task(subscribe(foo.sub(), 1))
    results = list(await task)
    assert results == [['later than later']]
    assert not server.events_pending