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()
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()
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()
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()
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()
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()
def tearDown(self) -> None: super(ResourceTest, self).tearDown() pymq.shutdown() self.redis_resource.tearDown() self.db_resource.tearDown()
def tearDown(self) -> None: pymq.shutdown() self.redis_resource.tearDown() self.db_resource.tearDown()
def tearDown(self) -> None: self.rds.delete(RedisClusterController.worker_key, ExperimentController.queue_key) pymq.shutdown() self.redis_resource.tearDown()