def__init__(self,broker:Broker,with_real:bool=False,connect_only:Optional[bool]=None,)->None:self.with_real=with_realself.broker=brokerifconnect_onlyisNone:try:connect_only=is_contains_context_name(self.__class__.__name__,TestApp.__name__,)exceptException:# pragma: no coverwarnings.warn(("\nError `{e!r}` occurred at `{self.__class__.__name__}` AST parsing.""\n`connect_only` is set to `False` by default."),category=RuntimeWarning,stacklevel=1,)connect_only=Falseself.connect_only=connect_onlyself._fake_subscribers:List[SubscriberProto[Any]]=[]
@staticmethoddefcreate_publisher_fake_subscriber(broker:RedisBroker,publisher:"AsyncAPIPublisher",)->Tuple["LogicSubscriber",bool]:sub:Optional[LogicSubscriber]=Nonenamed_property=publisher.subscriber_property(name_only=True)visitors=(ChannelVisitor(),ListVisitor(),StreamVisitor())forhandlerinbroker._subscribers.values():# pragma: no branchforvisitorinvisitors:ifvisitor.visit(**named_property,sub=handler):sub=handlerbreakifsubisNone:is_real=Falsesub=broker.subscriber(**publisher.subscriber_property(name_only=False))else:is_real=Truereturnsub,is_real