def t(request, a): if not hasattr(request.cls, 'transport_class'): setattr(request.cls, 'transport_class', transports.Transport) if not hasattr(request.cls, 'worker_class'): setattr(request.cls, 'worker_class', transports.Worker) yield transports.Transport(adapter=a, worker_class=request.cls.worker_class)
def test__init__transport_and_adapter(self): restore = conf.debug try: conf.debug = False adapter = adapters.StdoutAdapter() adapter_kwarg = adapters.StdoutAdapter() transport = transports.Transport(adapter) emitter = Emitter(adapter=adapter_kwarg, transport=transport) assert emitter.transport == transport assert emitter.transport.adapter == adapter finally: conf.debug = restore
def test__init__transport_and_adapter_debug(self): restore = conf.debug try: conf.debug = True adapter = adapters.StdoutAdapter() adapter_kwarg = adapters.StdoutAdapter() transport = transports.Transport(adapter) expect_msg = '`adapter` argument is discarded when `transport`.' expect_msg += ' Disable debug mode to remove this assertion.' with pytest.raises(AssertionError) as excinfo: Emitter(adapter=adapter_kwarg, transport=transport) assert expect_msg == str(excinfo.value) finally: conf.debug = restore
def test_callbacks(self): events = [] def cb(message): events.append(message) adapter = adapters.ListAdapter() transport = transports.Transport(adapter) emitter = Emitter(transport=transport, callbacks=[cb]) event_sent = tevent() emitter(event_sent) assert len(events) == 1 event = events.pop() assert isinstance(event, Event) assert event_sent == event
def event_from_callback(cls, event, **kwargs): events = [] def cb(message): events.append(message) adapter = adapters.ListAdapter() transport = transports.Transport( adapter, worker_class=transports.Worker) emitter = Emitter(transport=transport, callbacks=[cb], **kwargs) emitter.emit(event) assert len(events) == 1 event = events.pop() assert isinstance(event, Event) return event
def test__init__transport(self): adapter = adapters.StdoutAdapter() transport = transports.Transport(adapter) emitter = Emitter(transport=transport) assert emitter.transport == transport assert emitter.transport.adapter == adapter
def transport(self): return transports.Transport(adapter=self.adapter_class(), worker_class=self.worker_class)