def test_transport_registry_get_event_transports(redis_default_config):
    registry = TransportRegistry().load_config(redis_default_config)

    # See comment in test_transport_registry_get_rpc_transports
    registry.set_event_transport("redis1", RedisEventTransport,
                                 RedisEventTransport.Config(batch_size=99),
                                 Config.default())
    registry.set_event_transport("redis2", RedisEventTransport,
                                 RedisEventTransport.Config(batch_size=99),
                                 Config.default())
    registry.set_event_transport("debug1", DebugEventTransport,
                                 DebugEventTransport.Config(),
                                 Config.default())
    registry.set_event_transport("debug2", DebugEventTransport,
                                 DebugEventTransport.Config(),
                                 Config.default())

    transports = registry.get_event_transports(
        ["default", "foo", "bar", "redis1", "redis2", "debug1", "debug2"])

    default_transport = registry.get_event_transport("default")
    redis_transport = registry.get_event_transport("redis1")
    debug_transport = registry.get_event_transport("debug1")

    assert set(transports[default_transport]) == {"default", "foo", "bar"}
    assert set(transports[debug_transport]) == {"debug1", "debug2"}
    assert set(transports[redis_transport]) == {"redis1", "redis2"}
Exemple #2
0
def test_equal(dummy_pool):
    """Test the __eq__ method"""
    assert dummy_pool == TransportPool(
        transport_class=DebugEventTransport,
        transport_config=DebugEventTransport.Config(),
        config=Config.default(),
    )
Exemple #3
0
def dummy_bus(loop, redis_server_url):
    # fmt: off
    dummy_bus = lightbus.creation.create(
        config=RootConfig(
            apis={
                'default':
                ApiConfig(
                    rpc_transport=RpcTransportSelector(
                        debug=DebugRpcTransport.Config()),
                    result_transport=ResultTransportSelector(
                        debug=DebugResultTransport.Config()),
                    event_transport=EventTransportSelector(
                        debug=DebugEventTransport.Config()),
                )
            },
            bus=BusConfig(
                schema=SchemaConfig(transport=SchemaTransportSelector(
                    redis=RedisSchemaTransport.Config(
                        url=redis_server_url)), ))),
        plugins=[],
    )
    # fmt: on
    yield dummy_bus
    try:
        dummy_bus.client.close()
    except BusAlreadyClosed:
        pass
Exemple #4
0
async def dummy_pool():
    pool = TransportPool(
        transport_class=DebugEventTransport,
        transport_config=DebugEventTransport.Config(),
        config=Config.default(),
    )
    yield pool
    await pool.close()
Exemple #5
0
def test_hash_equal(dummy_pool):
    """Test the __hash__ method"""
    assert hash(dummy_pool) == hash(
        TransportPool(
            transport_class=DebugEventTransport,
            transport_config=DebugEventTransport.Config(),
            config=Config.default(),
        ))
def test_get_all_transports(redis_default_config):
    registry = TransportRegistry().load_config(redis_default_config)

    # Is equal to the default transport, so will not be included
    # in the get_all_transports() return value
    registry.set_event_transport("another", RedisEventTransport,
                                 RedisEventTransport.Config(),
                                 Config.default())
    registry.set_event_transport("foo", DebugEventTransport,
                                 DebugEventTransport.Config(),
                                 Config.default())

    # redis rpc + redis result + redis event + foo debug transport (above) = 4
    assert len(registry.get_all_transports()) == 4