Ejemplo n.º 1
0
def init_ipc(_ipc_cleanup):
    from pymq.provider.ipc import IpcConfig, IpcEventBus

    config = IpcConfig()

    _bus_container = []
    _invalid = False

    def _init() -> IpcEventBus:
        if _bus_container:
            raise ValueError("already called")
        if _invalid:
            raise ValueError("expired init function")

        bus = pymq.init(config)
        _bus_container.append(bus)
        return bus

    yield _init

    _invalid = True

    if _bus_container:
        pymq.shutdown()
        _bus_container[0].close()
Ejemplo n.º 2
0
def init_redis(redislite):
    from pymq.provider.redis import RedisConfig, RedisEventBus

    config = RedisConfig(redislite)

    _bus_container = []
    _invalid = False

    def _init() -> RedisEventBus:
        if _bus_container:
            raise ValueError("already called")
        if _invalid:
            raise ValueError("expired init function")

        bus = pymq.init(config)
        _bus_container.append(bus)
        return bus

    yield _init

    _invalid = True

    if _bus_container:
        pymq.shutdown()
        _bus_container[0].close()

    redislite.flushall()
Ejemplo n.º 3
0
def init_simple():
    from pymq.provider.simple import SimpleEventBus

    config = SimpleEventBus

    _bus_container = []
    _invalid = False

    def _init() -> SimpleEventBus:
        if _bus_container:
            raise ValueError("already called")
        if _invalid:
            raise ValueError("expired init function")

        bus = pymq.init(config)
        _bus_container.append(bus)
        return bus

    yield _init

    _invalid = True

    if _bus_container:
        pymq.shutdown()
        _bus_container[0].close()
Ejemplo n.º 4
0
    def test_late_expose(self):
        def remote_fn():
            pass

        pymq.expose(remote_fn, channel="late_channel")

        bus: MockedEventBus = pymq.init(MockedEventBus)

        try:
            assert (remote_fn, "late_channel") in bus.exposed_methods
        finally:
            pymq.shutdown()
Ejemplo n.º 5
0
    def test_lazy_topic_subscribe(self):
        topic = pymq.topic("my_topic")

        def callback():
            pass

        assert topic.subscribe(callback) is None

        bus: MockedEventBus = pymq.init(MockedEventBus)

        try:
            assert (callback, "my_topic", False) in bus.subscribers
        finally:
            pymq.shutdown()
Ejemplo n.º 6
0
    def test_lazy_topic_publish(self):
        topic = pymq.topic("my_topic")

        assert "my_topic" == topic.name
        assert not topic.is_pattern
        assert topic.publish("does_nothing") is None

        bus: MockedEventBus = pymq.init(MockedEventBus)

        try:
            topic.publish("some_event")

            assert 1 == len(
                bus.published_events), "expected one event to be published"
            assert ("some_event", "my_topic") in bus.published_events
        finally:
            pymq.shutdown()
Ejemplo n.º 7
0
 def tearDown(self) -> None:
     super(ResourceTest, self).tearDown()
     pymq.shutdown()
     self.redis_resource.tearDown()
     self.db_resource.tearDown()
Ejemplo n.º 8
0
 def tearDown(self) -> None:
     pymq.shutdown()
     self.redis_resource.tearDown()
     self.db_resource.tearDown()
Ejemplo n.º 9
0
 def tearDown(self) -> None:
     self.rds.delete(RedisClusterController.worker_key,
                     ExperimentController.queue_key)
     pymq.shutdown()
     self.redis_resource.tearDown()