Skip to content

ListVisitor

faststream.redis.testing.ListVisitor #

Bases: Visitor

visit #

visit(
    *,
    sub: LogicSubscriber,
    channel: str | None = None,
    list: str | None = None,
    stream: str | None = None,
) -> str | None
Source code in faststream/redis/testing.py
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
@override
def visit(
    self,
    *,
    sub: "LogicSubscriber",
    channel: str | None = None,
    list: str | None = None,
    stream: str | None = None,
) -> str | None:
    if list is None or not isinstance(sub, _ListHandlerMixin):
        return None

    if list == sub.list_sub.name:
        return list

    return None

get_message #

get_message(
    channel: str, body: Any, sub: _ListHandlerMixin
) -> Any
Source code in faststream/redis/testing.py
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
@override
def get_message(  # type: ignore[override]
    self,
    channel: str,
    body: Any,
    sub: "_ListHandlerMixin",
) -> Any:
    if sub.list_sub.batch:
        return BatchListMessage(
            type="blist",
            channel=channel,
            data=body if isinstance(body, list) else [body],
        )

    return DefaultListMessage(
        type="list",
        channel=channel,
        data=body,
    )