FastStream coverage for 3c3701e6afc356d7844153237b51634d792081ea: 96%

coverage.py v7.3.2, created at 2023-12-05 09:45 +0000

Module statements missing excluded branches partial coverage
docs/docs_src/getting_started/asyncapi/asyncapi_customization/basic.py 5 0 3 0 0 100%
docs/docs_src/getting_started/asyncapi/asyncapi_customization/custom_broker.py 5 0 4 0 0 100%
docs/docs_src/getting_started/asyncapi/asyncapi_customization/custom_handler.py 6 0 5 0 0 100%
docs/docs_src/getting_started/asyncapi/asyncapi_customization/custom_info.py 6 0 4 0 0 100%
docs/docs_src/getting_started/asyncapi/asyncapi_customization/payload_info.py 6 0 5 0 0 100%
docs/docs_src/getting_started/asyncapi/serve.py 5 0 0 0 0 100%
docs/docs_src/getting_started/cli/kafka_context.py 9 0 3 0 0 100%
docs/docs_src/getting_started/cli/nats_context.py 9 0 3 0 0 100%
docs/docs_src/getting_started/cli/rabbit_context.py 9 0 3 0 0 100%
docs/docs_src/getting_started/cli/redis_context.py 9 0 3 0 0 100%
docs/docs_src/getting_started/config/settings_base_1.py 4 0 1 0 0 100%
docs/docs_src/getting_started/config/settings_base_2.py 4 0 1 0 0 100%
docs/docs_src/getting_started/config/settings_env.py 4 0 2 0 0 100%
docs/docs_src/getting_started/config/usage.py 8 0 5 0 0 100%
docs/docs_src/getting_started/context/kafka/annotated.py 5 0 5 0 0 100%
docs/docs_src/getting_started/context/kafka/base.py 4 0 3 0 0 100%
docs/docs_src/getting_started/context/kafka/cast.py 9 0 2 0 0 100%
docs/docs_src/getting_started/context/kafka/custom_global_context.py 8 0 2 0 0 100%
docs/docs_src/getting_started/context/kafka/custom_local_context.py 9 0 3 0 0 100%
docs/docs_src/getting_started/context/kafka/default_arguments.py 5 0 2 0 0 100%
docs/docs_src/getting_started/context/kafka/existed_context.py 8 0 5 0 0 100%
docs/docs_src/getting_started/context/kafka/fields_access.py 6 0 3 0 0 100%
docs/docs_src/getting_started/context/kafka/manual_local_context.py 10 0 3 0 0 100%
docs/docs_src/getting_started/context/nats/annotated.py 5 0 5 0 0 100%
docs/docs_src/getting_started/context/nats/base.py 4 0 3 0 0 100%
docs/docs_src/getting_started/context/nats/cast.py 9 0 2 0 0 100%
docs/docs_src/getting_started/context/nats/custom_global_context.py 8 0 2 0 0 100%
docs/docs_src/getting_started/context/nats/custom_local_context.py 9 0 3 0 0 100%
docs/docs_src/getting_started/context/nats/default_arguments.py 5 0 2 0 0 100%
docs/docs_src/getting_started/context/nats/existed_context.py 8 0 5 0 0 100%
docs/docs_src/getting_started/context/nats/fields_access.py 6 0 3 0 0 100%
docs/docs_src/getting_started/context/nats/manual_local_context.py 10 0 3 0 0 100%
docs/docs_src/getting_started/context/nested.py 6 0 3 0 0 100%
docs/docs_src/getting_started/context/rabbit/annotated.py 5 0 5 0 0 100%
docs/docs_src/getting_started/context/rabbit/base.py 4 0 3 0 0 100%
docs/docs_src/getting_started/context/rabbit/cast.py 9 0 2 0 0 100%
docs/docs_src/getting_started/context/rabbit/custom_global_context.py 8 0 2 0 0 100%
docs/docs_src/getting_started/context/rabbit/custom_local_context.py 9 0 3 0 0 100%
docs/docs_src/getting_started/context/rabbit/default_arguments.py 5 0 2 0 0 100%
docs/docs_src/getting_started/context/rabbit/existed_context.py 8 0 5 0 0 100%
docs/docs_src/getting_started/context/rabbit/fields_access.py 6 0 3 0 0 100%
docs/docs_src/getting_started/context/rabbit/manual_local_context.py 10 0 3 0 0 100%
docs/docs_src/getting_started/context/redis/annotated.py 5 0 5 0 0 100%
docs/docs_src/getting_started/context/redis/base.py 4 0 3 0 0 100%
docs/docs_src/getting_started/context/redis/cast.py 9 0 2 0 0 100%
docs/docs_src/getting_started/context/redis/custom_global_context.py 8 0 2 0 0 100%
docs/docs_src/getting_started/context/redis/custom_local_context.py 9 0 3 0 0 100%
docs/docs_src/getting_started/context/redis/default_arguments.py 5 0 2 0 0 100%
docs/docs_src/getting_started/context/redis/existed_context.py 8 0 5 0 0 100%
docs/docs_src/getting_started/context/redis/fields_access.py 6 0 3 0 0 100%
docs/docs_src/getting_started/context/redis/manual_local_context.py 10 0 3 0 0 100%
docs/docs_src/getting_started/dependencies/basic/async_.py 10 0 3 0 0 100%
docs/docs_src/getting_started/dependencies/basic/kafka/depends.py 7 0 2 0 0 100%
docs/docs_src/getting_started/dependencies/basic/kafka/nested_depends.py 9 0 2 0 0 100%
docs/docs_src/getting_started/dependencies/basic/nats/depends.py 7 0 2 0 0 100%
docs/docs_src/getting_started/dependencies/basic/nats/nested_depends.py 9 0 2 0 0 100%
docs/docs_src/getting_started/dependencies/basic/rabbit/depends.py 7 0 2 0 0 100%
docs/docs_src/getting_started/dependencies/basic/rabbit/nested_depends.py 9 0 2 0 0 100%
docs/docs_src/getting_started/dependencies/basic/redis/depends.py 7 7 2 0 0 0%
docs/docs_src/getting_started/dependencies/basic/redis/nested_depends.py 9 0 2 0 0 100%
docs/docs_src/getting_started/dependencies/basic/sync.py 7 0 1 0 0 100%
docs/docs_src/getting_started/dependencies/basic_kafka.py 10 0 2 0 0 100%
docs/docs_src/getting_started/dependencies/class_kafka.py 13 0 2 0 0 100%
docs/docs_src/getting_started/dependencies/global_broker_kafka.py 12 0 2 2 0 100%
docs/docs_src/getting_started/dependencies/global_kafka.py 12 0 2 2 0 100%
docs/docs_src/getting_started/dependencies/sub_dep_kafka.py 12 0 2 0 0 100%
docs/docs_src/getting_started/dependencies/yield_kafka.py 14 0 3 0 0 100%
docs/docs_src/getting_started/index/base_kafka.py 5 0 2 0 0 100%
docs/docs_src/getting_started/index/base_nats.py 5 0 2 0 0 100%
docs/docs_src/getting_started/index/base_rabbit.py 5 0 2 0 0 100%
docs/docs_src/getting_started/index/base_redis.py 5 0 2 0 0 100%
docs/docs_src/getting_started/lifespan/kafka/basic.py 9 0 3 0 0 100%
docs/docs_src/getting_started/lifespan/kafka/ml.py 16 0 2 0 0 100%
docs/docs_src/getting_started/lifespan/kafka/ml_context.py 14 0 3 0 0 100%
docs/docs_src/getting_started/lifespan/kafka/testing.py 7 0 4 0 0 100%
docs/docs_src/getting_started/lifespan/multiple.py 7 0 1 0 0 100%
docs/docs_src/getting_started/lifespan/nats/basic.py 9 0 3 0 0 100%
docs/docs_src/getting_started/lifespan/nats/ml.py 16 0 2 0 0 100%
docs/docs_src/getting_started/lifespan/nats/ml_context.py 14 0 3 0 0 100%
docs/docs_src/getting_started/lifespan/nats/testing.py 7 2 4 0 0 71%
docs/docs_src/getting_started/lifespan/rabbit/basic.py 9 0 3 0 0 100%
docs/docs_src/getting_started/lifespan/rabbit/ml.py 16 0 2 0 0 100%
docs/docs_src/getting_started/lifespan/rabbit/ml_context.py 14 0 3 0 0 100%
docs/docs_src/getting_started/lifespan/rabbit/testing.py 7 2 4 0 0 71%
docs/docs_src/getting_started/lifespan/redis/basic.py 9 0 3 0 0 100%
docs/docs_src/getting_started/lifespan/redis/ml.py 16 0 2 0 0 100%
docs/docs_src/getting_started/lifespan/redis/ml_context.py 14 0 3 0 0 100%
docs/docs_src/getting_started/lifespan/redis/testing.py 7 2 4 0 0 71%
docs/docs_src/getting_started/publishing/kafka/broker.py 11 0 2 0 0 100%
docs/docs_src/getting_started/publishing/kafka/broker_context.py 9 0 2 0 0 100%
docs/docs_src/getting_started/publishing/kafka/decorator.py 12 0 2 0 0 100%
docs/docs_src/getting_started/publishing/kafka/direct.py 9 0 2 0 0 100%
docs/docs_src/getting_started/publishing/kafka/direct_testing.py 5 0 3 0 0 100%
docs/docs_src/getting_started/publishing/kafka/object.py 10 0 2 0 0 100%
docs/docs_src/getting_started/publishing/kafka/object_testing.py 5 0 3 0 0 100%
docs/docs_src/getting_started/publishing/nats/broker.py 11 0 2 0 0 100%
docs/docs_src/getting_started/publishing/nats/broker_context.py 9 0 2 0 0 100%
docs/docs_src/getting_started/publishing/nats/decorator.py 12 0 2 0 0 100%
docs/docs_src/getting_started/publishing/nats/direct.py 9 0 2 0 0 100%
docs/docs_src/getting_started/publishing/nats/direct_testing.py 5 0 3 0 0 100%
docs/docs_src/getting_started/publishing/nats/object.py 10 0 2 0 0 100%
docs/docs_src/getting_started/publishing/nats/object_testing.py 5 0 3 0 0 100%
docs/docs_src/getting_started/publishing/rabbit/broker.py 11 0 2 0 0 100%
docs/docs_src/getting_started/publishing/rabbit/broker_context.py 9 0 2 0 0 100%
docs/docs_src/getting_started/publishing/rabbit/decorator.py 12 0 2 0 0 100%
docs/docs_src/getting_started/publishing/rabbit/direct.py 9 0 2 0 0 100%
docs/docs_src/getting_started/publishing/rabbit/direct_testing.py 5 0 3 0 0 100%
docs/docs_src/getting_started/publishing/rabbit/object.py 10 0 2 0 0 100%
docs/docs_src/getting_started/publishing/rabbit/object_testing.py 5 0 3 0 0 100%
docs/docs_src/getting_started/publishing/redis/broker.py 11 0 2 0 0 100%
docs/docs_src/getting_started/publishing/redis/broker_context.py 9 0 2 0 0 100%
docs/docs_src/getting_started/publishing/redis/decorator.py 12 0 2 0 0 100%
docs/docs_src/getting_started/publishing/redis/direct.py 9 0 2 0 0 100%
docs/docs_src/getting_started/publishing/redis/direct_testing.py 5 0 3 0 0 100%
docs/docs_src/getting_started/publishing/redis/object.py 10 0 2 0 0 100%
docs/docs_src/getting_started/publishing/redis/object_testing.py 5 0 3 0 0 100%
docs/docs_src/getting_started/routers/kafka/router.py 16 0 2 0 0 100%
docs/docs_src/getting_started/routers/kafka/router_delay.py 10 0 2 0 0 100%
docs/docs_src/getting_started/routers/nats/router.py 16 0 2 0 0 100%
docs/docs_src/getting_started/routers/nats/router_delay.py 10 0 2 0 0 100%
docs/docs_src/getting_started/routers/rabbit/router.py 16 0 2 0 0 100%
docs/docs_src/getting_started/routers/rabbit/router_delay.py 10 0 2 0 0 100%
docs/docs_src/getting_started/routers/redis/router.py 16 0 2 0 0 100%
docs/docs_src/getting_started/routers/redis/router_delay.py 10 0 2 0 0 100%
docs/docs_src/getting_started/serialization/avro.py 18 18 5 0 0 0%
docs/docs_src/getting_started/serialization/msgpack_ex.py 10 10 4 0 0 0%
docs/docs_src/getting_started/serialization/parser_kafka.py 11 0 5 0 0 100%
docs/docs_src/getting_started/serialization/parser_nats.py 11 0 5 0 0 100%
docs/docs_src/getting_started/serialization/parser_rabbit.py 11 0 5 0 0 100%
docs/docs_src/getting_started/serialization/parser_redis.py 11 0 5 0 0 100%
docs/docs_src/getting_started/serialization/protobuf.py 12 12 4 0 0 0%
docs/docs_src/getting_started/subscription/kafka/annotation.py 6 0 2 0 0 100%
docs/docs_src/getting_started/subscription/kafka/filter.py 13 0 2 2 0 100%
docs/docs_src/getting_started/subscription/kafka/pydantic_fields.py 5 0 4 0 0 100%
docs/docs_src/getting_started/subscription/kafka/pydantic_model.py 7 0 5 0 0 100%
docs/docs_src/getting_started/subscription/kafka/real_testing.py 14 0 4 0 0 100%
docs/docs_src/getting_started/subscription/kafka/testing.py 12 0 4 0 0 100%
docs/docs_src/getting_started/subscription/nats/annotation.py 6 0 2 0 0 100%
docs/docs_src/getting_started/subscription/nats/filter.py 13 0 2 2 0 100%
docs/docs_src/getting_started/subscription/nats/pydantic_fields.py 5 0 4 0 0 100%
docs/docs_src/getting_started/subscription/nats/pydantic_model.py 7 0 5 0 0 100%
docs/docs_src/getting_started/subscription/nats/real_testing.py 14 0 4 0 0 100%
docs/docs_src/getting_started/subscription/nats/testing.py 12 0 4 0 0 100%
docs/docs_src/getting_started/subscription/rabbit/annotation.py 6 0 2 0 0 100%
docs/docs_src/getting_started/subscription/rabbit/filter.py 13 0 2 2 0 100%
docs/docs_src/getting_started/subscription/rabbit/pydantic_fields.py 5 0 4 0 0 100%
docs/docs_src/getting_started/subscription/rabbit/pydantic_model.py 7 0 5 0 0 100%
docs/docs_src/getting_started/subscription/rabbit/real_testing.py 14 0 4 0 0 100%
docs/docs_src/getting_started/subscription/rabbit/testing.py 12 0 4 0 0 100%
docs/docs_src/getting_started/subscription/redis/annotation.py 6 6 2 0 0 0%
docs/docs_src/getting_started/subscription/redis/filter.py 13 0 2 2 0 100%
docs/docs_src/getting_started/subscription/redis/pydantic_fields.py 5 0 4 0 0 100%
docs/docs_src/getting_started/subscription/redis/pydantic_model.py 7 0 5 0 0 100%
docs/docs_src/getting_started/subscription/redis/real_testing.py 14 0 4 0 0 100%
docs/docs_src/getting_started/subscription/redis/testing.py 12 12 4 0 0 0%
docs/docs_src/index/dependencies.py 6 0 3 0 0 100%
docs/docs_src/index/kafka/basic.py 6 0 2 0 0 100%
docs/docs_src/index/kafka/pydantic.py 7 0 5 0 0 100%
docs/docs_src/index/kafka/test.py 9 0 4 0 0 100%
docs/docs_src/index/nats/basic.py 6 0 2 0 0 100%
docs/docs_src/index/nats/pydantic.py 7 0 5 0 0 100%
docs/docs_src/index/nats/test.py 9 0 4 0 0 100%
docs/docs_src/index/rabbit/basic.py 6 0 2 0 0 100%
docs/docs_src/index/rabbit/pydantic.py 7 0 5 0 0 100%
docs/docs_src/index/rabbit/test.py 9 0 4 0 0 100%
docs/docs_src/index/redis/basic.py 6 0 2 0 0 100%
docs/docs_src/index/redis/pydantic.py 7 0 5 0 0 100%
docs/docs_src/index/redis/test.py 9 0 4 0 0 100%
docs/docs_src/integrations/fastapi/kafka/base.py 14 0 3 0 0 100%
docs/docs_src/integrations/fastapi/kafka/depends.py 9 0 3 0 0 100%
docs/docs_src/integrations/fastapi/kafka/send.py 7 0 2 0 0 100%
docs/docs_src/integrations/fastapi/kafka/startup.py 9 0 2 0 0 100%
docs/docs_src/integrations/fastapi/kafka/test.py 8 0 3 0 0 100%
docs/docs_src/integrations/fastapi/nats/base.py 14 0 3 0 0 100%
docs/docs_src/integrations/fastapi/nats/depends.py 9 0 3 0 0 100%
docs/docs_src/integrations/fastapi/nats/send.py 7 0 2 0 0 100%
docs/docs_src/integrations/fastapi/nats/startup.py 9 0 2 0 0 100%
docs/docs_src/integrations/fastapi/nats/test.py 8 0 3 0 0 100%
docs/docs_src/integrations/fastapi/rabbit/base.py 14 0 3 0 0 100%
docs/docs_src/integrations/fastapi/rabbit/depends.py 9 0 3 0 0 100%
docs/docs_src/integrations/fastapi/rabbit/send.py 7 0 2 0 0 100%
docs/docs_src/integrations/fastapi/rabbit/startup.py 9 0 2 0 0 100%
docs/docs_src/integrations/fastapi/rabbit/test.py 8 0 3 0 0 100%
docs/docs_src/integrations/fastapi/redis/base.py 14 0 3 0 0 100%
docs/docs_src/integrations/fastapi/redis/depends.py 9 0 3 0 0 100%
docs/docs_src/integrations/fastapi/redis/send.py 7 0 2 0 0 100%
docs/docs_src/integrations/fastapi/redis/startup.py 9 0 2 0 0 100%
docs/docs_src/integrations/fastapi/redis/test.py 8 0 3 0 0 100%
docs/docs_src/integrations/http_frameworks_integrations/aiohttp.py 14 14 4 0 0 0%
docs/docs_src/integrations/http_frameworks_integrations/blacksheep.py 14 14 2 0 0 0%
docs/docs_src/integrations/http_frameworks_integrations/falcon.py 17 17 3 0 0 0%
docs/docs_src/integrations/http_frameworks_integrations/fastapi.py 13 1 3 0 0 92%
docs/docs_src/integrations/http_frameworks_integrations/litestar.py 8 8 2 0 0 0%
docs/docs_src/integrations/http_frameworks_integrations/quart.py 14 14 2 0 0 0%
docs/docs_src/integrations/http_frameworks_integrations/sanic.py 14 14 3 0 0 0%
docs/docs_src/integrations/http_frameworks_integrations/tornado.py 16 16 5 0 0 0%
docs/docs_src/kafka/ack/errors.py 10 0 3 0 0 100%
docs/docs_src/kafka/basic/basic.py 7 1 5 0 0 86%
docs/docs_src/kafka/basic_security/app.py 7 0 5 0 0 100%
docs/docs_src/kafka/batch_consuming_pydantic/app.py 5 0 6 0 0 100%
docs/docs_src/kafka/consumes_basics/app.py 5 0 5 0 0 100%
docs/docs_src/kafka/plaintext_security/app.py 6 0 6 0 0 100%
docs/docs_src/kafka/publish_batch/app.py 11 0 7 0 0 100%
docs/docs_src/kafka/publish_example/app.py 8 0 4 0 0 100%
docs/docs_src/kafka/publish_with_partition_key/app.py 9 0 6 0 0 100%
docs/docs_src/kafka/publisher_object/example.py 12 0 7 0 0 100%
docs/docs_src/kafka/raw_publish/example.py 11 0 7 0 0 100%
docs/docs_src/kafka/sasl_scram256_security/app.py 6 0 6 0 0 100%
docs/docs_src/kafka/sasl_scram512_security/app.py 6 0 6 0 0 100%
docs/docs_src/kafka/security_without_ssl/example.py 3 0 4 0 0 100%
docs/docs_src/nats/ack/errors.py 10 0 3 0 0 100%
docs/docs_src/nats/direct.py 13 13 5 0 0 0%
docs/docs_src/nats/js/key_value.py 16 0 7 0 0 100%
docs/docs_src/nats/js/main.py 9 9 3 0 0 0%
docs/docs_src/nats/js/object.py 16 0 8 0 0 100%
docs/docs_src/nats/js/pull_sub.py 4 0 3 0 0 100%
docs/docs_src/nats/pattern.py 13 13 5 0 0 0%
docs/docs_src/rabbit/ack/errors.py 10 0 3 0 0 100%
docs/docs_src/rabbit/declare.py 6 0 2 0 0 100%
docs/docs_src/rabbit/subscription/direct.py 17 0 5 0 0 100%
docs/docs_src/rabbit/subscription/fanout.py 17 0 5 0 0 100%
docs/docs_src/rabbit/subscription/header.py 22 0 6 0 0 100%
docs/docs_src/rabbit/subscription/index.py 8 0 2 0 0 100%
docs/docs_src/rabbit/subscription/stream.py 8 0 3 0 0 100%
docs/docs_src/rabbit/subscription/topic.py 17 0 5 0 0 100%
faststream/_compat.py 58 6 44 0 0 90%
faststream/app.py 102 2 20 18 0 98%
faststream/asyncapi/base.py 7 1 5 2 0 89%
faststream/asyncapi/generate.py 74 1 6 40 1 98%
faststream/asyncapi/message.py 51 0 11 28 0 100%
faststream/asyncapi/schema/bindings/amqp.py 26 0 3 0 0 100%
faststream/asyncapi/schema/bindings/kafka.py 12 0 2 0 0 100%
faststream/asyncapi/schema/bindings/main.py 30 0 8 6 0 100%
faststream/asyncapi/schema/bindings/nats.py 9 0 2 0 0 100%
faststream/asyncapi/schema/bindings/redis.py 11 0 2 0 0 100%
faststream/asyncapi/schema/bindings/sqs.py 8 0 2 0 0 100%
faststream/asyncapi/schema/channels.py 11 0 6 2 0 100%
faststream/asyncapi/schema/info.py 51 16 11 6 0 72%
faststream/asyncapi/schema/main.py 27 0 10 2 0 100%
faststream/asyncapi/schema/message.py 22 0 4 4 0 100%
faststream/asyncapi/schema/operations.py 13 0 6 2 0 100%
faststream/asyncapi/schema/security.py 30 0 5 6 0 100%
faststream/asyncapi/schema/servers.py 23 0 5 4 0 100%
faststream/asyncapi/schema/utils.py 24 0 5 4 0 100%
faststream/asyncapi/site.py 11 1 6 0 0 91%
faststream/asyncapi/utils.py 17 0 2 10 0 100%
faststream/broker/core/abc.py 99 0 50 28 0 100%
faststream/broker/core/asyncronous.py 46 1 49 12 0 98%
faststream/broker/core/mixins.py 11 0 9 0 0 100%
faststream/broker/fastapi/route.py 57 0 21 18 0 100%
faststream/broker/fastapi/router.py 105 0 38 18 0 100%
faststream/broker/handler.py 86 4 28 30 3 94%
faststream/broker/message.py 28 3 4 6 2 85%
faststream/broker/middlewares.py 46 3 18 4 1 92%
faststream/broker/parsers.py 39 0 16 16 0 100%
faststream/broker/publisher.py 33 0 19 8 0 100%
faststream/broker/push_back_watcher.py 59 0 35 14 0 100%
faststream/broker/router.py 38 0 29 6 0 100%
faststream/broker/schemas.py 27 2 5 8 1 91%
faststream/broker/security.py 1 1 3 0 0 0%
faststream/broker/test.py 116 3 31 30 0 98%
faststream/broker/types.py 25 0 5 0 0 100%
faststream/broker/utils.py 22 1 7 10 0 97%
faststream/broker/wrapper.py 59 0 13 16 0 100%
faststream/cli/docs/app.py 49 10 17 12 2 80%
faststream/cli/main.py 43 17 24 12 5 56%
faststream/cli/supervisors/basereload.py 34 0 15 6 0 100%
faststream/cli/supervisors/multiprocess.py 12 0 12 2 0 100%
faststream/cli/supervisors/utils.py 16 1 10 4 1 90%
faststream/cli/supervisors/watchfiles.py 17 0 13 4 0 100%
faststream/cli/utils/imports.py 49 9 12 16 4 80%
faststream/cli/utils/logs.py 18 0 7 8 0 100%
faststream/cli/utils/parser.py 30 1 4 19 1 96%
faststream/constants.py 4 0 1 0 0 100%
faststream/exceptions.py 8 0 0 0 0 100%
faststream/kafka/asyncapi.py 19 0 7 6 0 100%
faststream/kafka/broker.py 74 1 27 16 1 98%
faststream/kafka/fastapi.py 6 0 3 2 0 100%
faststream/kafka/handler.py 57 5 22 14 1 89%
faststream/kafka/message.py 9 0 3 2 0 100%
faststream/kafka/parser.py 17 0 11 8 0 100%
faststream/kafka/producer.py 23 0 6 10 0 100%
faststream/kafka/publisher.py 19 1 9 8 1 93%
faststream/kafka/router.py 17 0 4 0 0 100%
faststream/kafka/security.py 16 0 7 8 0 100%
faststream/kafka/shared/logging.py 23 1 8 8 1 94%
faststream/kafka/shared/publisher.py 8 0 5 2 0 100%
faststream/kafka/shared/router.py 8 0 7 6 0 100%
faststream/kafka/shared/schemas.py 16 0 7 0 0 100%
faststream/kafka/test.py 38 0 13 14 0 100%
faststream/log/formatter.py 24 0 8 8 1 97%
faststream/log/logging.py 6 0 7 0 0 100%
faststream/nats/asyncapi.py 16 0 6 4 0 100%
faststream/nats/broker.py 125 17 29 38 6 81%
faststream/nats/fastapi.py 7 0 4 2 0 100%
faststream/nats/handler.py 45 1 22 10 1 96%
faststream/nats/helpers.py 10 0 2 2 0 100%
faststream/nats/js_stream.py 6 0 5 0 0 100%
faststream/nats/message.py 18 3 4 10 2 75%
faststream/nats/parser.py 15 0 8 2 0 100%
faststream/nats/producer.py 63 3 15 26 5 91%
faststream/nats/publisher.py 16 1 9 4 1 90%
faststream/nats/pull_sub.py 5 0 2 0 0 100%
faststream/nats/router.py 17 0 4 0 0 100%
faststream/nats/shared/logging.py 18 0 7 0 0 100%
faststream/nats/shared/router.py 11 0 8 4 0 100%
faststream/nats/test.py 48 1 17 14 0 98%
faststream/rabbit/asyncapi.py 21 0 8 6 0 100%
faststream/rabbit/broker.py 101 1 35 22 0 99%
faststream/rabbit/fastapi.py 6 0 3 2 0 100%
faststream/rabbit/handler.py 31 0 17 6 0 100%
faststream/rabbit/helpers.py 23 0 5 6 0 100%
faststream/rabbit/message.py 19 0 3 6 0 100%
faststream/rabbit/parser.py 18 0 10 4 0 100%
faststream/rabbit/producer.py 48 0 19 8 0 100%
faststream/rabbit/publisher.py 12 0 11 2 0 100%
faststream/rabbit/router.py 15 0 6 0 0 100%
faststream/rabbit/security.py 10 0 5 4 0 100%
faststream/rabbit/shared/constants.py 10 0 1 2 0 100%
faststream/rabbit/shared/logging.py 19 0 8 4 0 100%
faststream/rabbit/shared/publisher.py 12 0 9 2 0 100%
faststream/rabbit/shared/router.py 15 0 10 4 0 100%
faststream/rabbit/shared/schemas.py 48 1 20 4 0 98%
faststream/rabbit/shared/types.py 1 0 1 0 0 100%
faststream/rabbit/shared/utils.py 5 0 7 2 0 100%
faststream/rabbit/test.py 65 0 24 22 0 100%
faststream/rabbit/types.py 2 0 5 0 0 100%
faststream/redis/asyncapi.py 36 0 6 20 2 96%
faststream/redis/broker.py 95 10 23 24 7 84%
faststream/redis/fastapi.py 7 0 4 2 0 100%
faststream/redis/handler.py 113 9 22 38 3 91%
faststream/redis/message.py 27 2 8 2 1 90%
faststream/redis/parser.py 55 0 10 16 2 97%
faststream/redis/producer.py 45 2 14 18 2 94%
faststream/redis/publisher.py 27 1 9 6 1 94%
faststream/redis/router.py 27 6 7 8 3 69%
faststream/redis/schemas.py 39 0 5 6 0 100%
faststream/redis/shared/logging.py 15 0 7 2 1 94%
faststream/redis/shared/router.py 21 0 9 8 1 97%
faststream/redis/test.py 50 1 13 18 1 97%
faststream/security.py 32 0 14 4 0 100%
faststream/types.py 9 0 8 0 0 100%
faststream/utils/ast.py 27 0 7 10 1 97%
faststream/utils/classes.py 9 0 1 2 0 100%
faststream/utils/context/builders.py 6 0 3 0 0 100%
faststream/utils/context/main.py 41 0 5 6 0 100%
faststream/utils/context/path.py 27 4 2 8 2 83%
faststream/utils/context/types.py 23 0 5 6 0 100%
faststream/utils/data.py 4 0 2 2 0 100%
faststream/utils/functions.py 25 0 11 4 0 100%
faststream/utils/no_cast.py 5 0 4 0 0 100%
tests/asyncapi/base/arguments.py 171 0 24 26 0 100%
tests/asyncapi/base/fastapi.py 54 0 10 0 0 100%
tests/asyncapi/base/naming.py 140 0 27 0 0 100%
tests/asyncapi/base/publisher.py 72 0 12 12 0 100%
tests/asyncapi/base/router.py 22 0 7 0 0 100%
tests/asyncapi/kafka/test_arguments.py 9 0 4 0 0 100%
tests/asyncapi/kafka/test_connection.py 9 0 4 0 0 100%
tests/asyncapi/kafka/test_fastapi.py 12 0 11 0 0 100%
tests/asyncapi/kafka/test_naming.py 8 0 5 0 0 100%
tests/asyncapi/kafka/test_publisher.py 9 0 4 0 0 100%
tests/asyncapi/kafka/test_router.py 24 0 7 0 0 100%
tests/asyncapi/kafka/test_security.py 45 0 15 0 0 100%
tests/asyncapi/nats/test_arguments.py 9 0 4 0 0 100%
tests/asyncapi/nats/test_connection.py 9 0 4 0 0 100%
tests/asyncapi/nats/test_fastapi.py 9 0 6 0 0 100%
tests/asyncapi/nats/test_naming.py 8 0 5 0 0 100%
tests/asyncapi/nats/test_publisher.py 9 0 4 0 0 100%
tests/asyncapi/nats/test_router.py 24 0 7 0 0 100%
tests/asyncapi/rabbit/test_arguments.py 16 0 5 0 0 100%
tests/asyncapi/rabbit/test_connection.py 11 0 4 0 0 100%
tests/asyncapi/rabbit/test_fastapi.py 12 0 11 0 0 100%
tests/asyncapi/rabbit/test_naming.py 22 0 8 0 0 100%
tests/asyncapi/rabbit/test_publisher.py 28 0 7 0 0 100%
tests/asyncapi/rabbit/test_router.py 24 0 7 0 0 100%
tests/asyncapi/rabbit/test_security.py 13 0 8 0 0 100%
tests/asyncapi/redis/test_arguments.py 37 0 8 0 0 100%
tests/asyncapi/redis/test_connection.py 6 0 4 0 0 100%
tests/asyncapi/redis/test_fastapi.py 9 0 6 0 0 100%
tests/asyncapi/redis/test_naming.py 22 0 8 0 0 100%
tests/asyncapi/redis/test_publisher.py 23 0 6 0 0 100%
tests/asyncapi/redis/test_router.py 24 0 7 0 0 100%
tests/asyncapi/test_app.py 15 0 4 0 0 100%
tests/brokers/base/connection.py 51 0 4 0 0 100%
tests/brokers/base/consume.py 113 0 7 10 0 100%
tests/brokers/base/fastapi.py 210 1 11 6 0 99%
tests/brokers/base/middlewares.py 146 0 6 8 0 100%
tests/brokers/base/parser.py 107 0 5 6 0 100%
tests/brokers/base/publish.py 159 0 13 2 0 100%
tests/brokers/base/router.py 232 4 10 4 0 98%
tests/brokers/base/rpc.py 52 0 6 0 0 100%
tests/brokers/base/testclient.py 45 0 7 0 0 100%
tests/brokers/conftest.py 3 0 2 0 0 100%
tests/brokers/kafka/conftest.py 26 0 4 2 0 100%
tests/brokers/kafka/test_consume.py 75 0 9 4 0 100%
tests/brokers/kafka/test_fastapi.py 7 0 4 2 0 100%
tests/brokers/kafka/test_middlewares.py 3 0 3 2 0 100%
tests/brokers/kafka/test_parser.py 3 0 3 2 0 100%
tests/brokers/kafka/test_publish.py 40 0 4 8 0 100%
tests/brokers/kafka/test_router.py 7 0 3 2 0 100%
tests/brokers/kafka/test_security.py 71 0 14 0 0 100%
tests/brokers/kafka/test_test_client.py 67 0 11 2 0 100%
tests/brokers/kafka/test_test_reentrancy.py 38 10 4 0 0 74%
tests/brokers/nats/conftest.py 29 0 4 2 0 100%
tests/brokers/nats/test_consume.py 76 0 9 2 0 100%
tests/brokers/nats/test_fastapi.py 16 0 4 2 0 100%
tests/brokers/nats/test_middlewares.py 3 0 3 2 0 100%
tests/brokers/nats/test_parser.py 3 0 3 2 0 100%
tests/brokers/nats/test_publish.py 2 0 3 0 0 100%
tests/brokers/nats/test_router.py 15 0 4 2 0 100%
tests/brokers/nats/test_rpc.py 11 0 3 2 0 100%
tests/brokers/nats/test_test_client.py 84 0 14 2 0 100%
tests/brokers/rabbit/conftest.py 33 0 5 2 0 100%
tests/brokers/rabbit/core/test_call_manual.py 43 0 2 0 0 100%
tests/brokers/rabbit/core/test_depends.py 32 0 5 0 0 100%
tests/brokers/rabbit/specific/test_declare.py 33 0 4 0 0 100%
tests/brokers/rabbit/specific/test_init.py 7 0 2 0 0 100%
tests/brokers/rabbit/specific/test_nested_exchange.py 13 0 3 0 0 100%
tests/brokers/rabbit/test_connect.py 20 0 6 2 0 100%
tests/brokers/rabbit/test_consume.py 136 0 10 2 0 100%
tests/brokers/rabbit/test_fastapi.py 16 0 5 2 0 100%
tests/brokers/rabbit/test_middlewares.py 3 0 3 2 0 100%
tests/brokers/rabbit/test_parser.py 3 0 3 2 0 100%
tests/brokers/rabbit/test_publish.py 19 0 7 2 0 100%
tests/brokers/rabbit/test_router.py 28 0 4 2 0 100%
tests/brokers/rabbit/test_rpc.py 2 0 3 0 0 100%
tests/brokers/rabbit/test_test_client.py 121 0 11 2 0 100%
tests/brokers/rabbit/test_test_reentrancy.py 38 10 4 0 0 74%
tests/brokers/redis/conftest.py 28 0 4 2 0 100%
tests/brokers/redis/test_connect.py 20 0 3 2 0 100%
tests/brokers/redis/test_consume.py 125 0 5 12 0 100%
tests/brokers/redis/test_fastapi.py 7 0 4 2 0 100%
tests/brokers/redis/test_middlewares.py 3 0 3 2 0 100%
tests/brokers/redis/test_parser.py 3 0 3 2 0 100%
tests/brokers/redis/test_publish.py 42 0 5 4 0 100%
tests/brokers/redis/test_router.py 25 0 4 2 0 100%
tests/brokers/redis/test_rpc.py 11 0 3 2 0 100%
tests/brokers/redis/test_schemas.py 6 0 2 0 0 100%
tests/brokers/redis/test_test_client.py 106 0 12 2 0 100%
tests/brokers/test_pushback.py 55 0 4 4 0 100%
tests/cli/conftest.py 12 0 4 0 0 100%
tests/cli/supervisors/test_base_reloader.py 14 0 4 0 0 100%
tests/cli/supervisors/test_multiprocess.py 11 0 5 2 0 100%
tests/cli/supervisors/test_watchfiles.py 25 3 8 2 0 89%
tests/cli/test_app.py 183 0 18 0 0 100%
tests/cli/test_asyncapi_docs.py 51 0 10 0 0 100%
tests/cli/test_version.py 7 0 2 0 0 100%
tests/cli/utils/test_imports.py 28 0 5 0 0 100%
tests/cli/utils/test_logs.py 11 0 8 0 0 100%
tests/cli/utils/test_parser.py 13 0 3 0 0 100%
tests/conftest.py 32 1 6 2 0 97%
tests/docs/getting_started/asyncapi/asyncapi_customization/test_basic.py 3 0 2 0 0 100%
tests/docs/getting_started/asyncapi/asyncapi_customization/test_broker.py 3 0 2 0 0 100%
tests/docs/getting_started/asyncapi/asyncapi_customization/test_handler.py 3 0 2 0 0 100%
tests/docs/getting_started/asyncapi/asyncapi_customization/test_info.py 3 0 2 0 0 100%
tests/docs/getting_started/asyncapi/asyncapi_customization/test_payload.py 3 0 2 0 0 100%
tests/docs/getting_started/cli/test_kafka_context.py 6 0 6 0 0 100%
tests/docs/getting_started/cli/test_nats_context.py 6 0 6 0 0 100%
tests/docs/getting_started/cli/test_rabbit_context.py 6 0 6 0 0 100%
tests/docs/getting_started/cli/test_redis_context.py 6 0 6 0 0 100%
tests/docs/getting_started/config/test_settings_base_1.py 3 0 2 0 0 100%
tests/docs/getting_started/config/test_settings_base_2.py 5 0 3 0 0 100%
tests/docs/getting_started/config/test_settings_env.py 5 0 3 0 0 100%
tests/docs/getting_started/config/test_usage.py 5 0 3 0 0 100%
tests/docs/getting_started/context/test_annotated.py 24 0 10 0 0 100%
tests/docs/getting_started/context/test_base.py 20 0 9 0 0 100%
tests/docs/getting_started/context/test_cast.py 28 0 9 0 0 100%
tests/docs/getting_started/context/test_custom_global.py 20 0 10 0 0 100%
tests/docs/getting_started/context/test_custom_local.py 20 0 9 0 0 100%
tests/docs/getting_started/context/test_default_arguments.py 20 0 9 0 0 100%
tests/docs/getting_started/context/test_existed_context.py 32 0 13 0 0 100%
tests/docs/getting_started/context/test_fields_access.py 20 0 9 0 0 100%
tests/docs/getting_started/context/test_manual_local_context.py 20 0 9 0 0 100%
tests/docs/getting_started/context/test_nested.py 5 0 3 0 0 100%
tests/docs/getting_started/dependencies/basic/test_base.py 1 0 2 0 0 100%
tests/docs/getting_started/dependencies/basic/test_depends.py 15 0 7 0 0 100%
tests/docs/getting_started/dependencies/basic/test_nested_depends.py 20 0 9 0 0 100%
tests/docs/getting_started/dependencies/test_basic.py 4 0 4 0 0 100%
tests/docs/getting_started/dependencies/test_class.py 4 0 4 0 0 100%
tests/docs/getting_started/dependencies/test_global.py 6 0 4 0 0 100%
tests/docs/getting_started/dependencies/test_global_broker.py 6 0 4 0 0 100%
tests/docs/getting_started/dependencies/test_sub_dep.py 6 0 4 0 0 100%
tests/docs/getting_started/dependencies/test_yield.py 4 0 4 0 0 100%
tests/docs/getting_started/index/test_basic.py 20 0 9 0 0 100%
tests/docs/getting_started/lifespan/test_basic.py 24 0 12 0 0 100%
tests/docs/getting_started/lifespan/test_ml.py 20 0 10 0 0 100%
tests/docs/getting_started/lifespan/test_ml_context.py 20 0 10 0 0 100%
tests/docs/getting_started/lifespan/test_multi.py 4 0 3 0 0 100%
tests/docs/getting_started/lifespan/test_testing.py 4 0 5 0 0 100%
tests/docs/getting_started/publishing/test_broker.py 20 0 10 0 0 100%
tests/docs/getting_started/publishing/test_broker_context.py 24 0 10 0 0 100%
tests/docs/getting_started/publishing/test_decorator.py 24 0 10 0 0 100%
tests/docs/getting_started/publishing/test_direct.py 1 0 4 0 0 100%
tests/docs/getting_started/publishing/test_object.py 1 0 4 0 0 100%
tests/docs/getting_started/routers/test_base.py 20 0 10 0 0 100%
tests/docs/getting_started/routers/test_delay.py 16 0 10 0 0 100%
tests/docs/getting_started/serialization/test_parser.py 16 0 10 0 0 100%
tests/docs/getting_started/subscription/test_filter.py 20 0 10 0 0 100%
tests/docs/getting_started/subscription/test_pydantic.py 20 0 9 0 0 100%
tests/docs/getting_started/subscription/test_real.py 8 0 9 0 0 100%
tests/docs/getting_started/subscription/test_testing.py 1 0 6 0 0 100%
tests/docs/index/test_basic.py 24 0 9 0 0 100%
tests/docs/index/test_dependencies.py 6 0 3 0 0 100%
tests/docs/index/test_pydantic.py 1 0 8 0 0 100%
tests/docs/integration/fastapi/test_base.py 32 0 10 0 0 100%
tests/docs/integration/fastapi/test_depends.py 32 0 14 0 0 100%
tests/docs/integration/fastapi/test_send.py 32 0 14 0 0 100%
tests/docs/integration/fastapi/test_startup.py 28 0 14 0 0 100%
tests/docs/integration/fastapi/test_test.py 1 0 4 0 0 100%
tests/docs/integration/http/test_fastapi.py 6 0 4 0 0 100%
tests/docs/kafka/ack/test_errors.py 8 0 6 0 0 100%
tests/docs/kafka/basic/test_cmd_run.py 13 0 6 0 0 100%
tests/docs/kafka/batch_consuming_pydantic/test_app.py 5 0 3 0 0 100%
tests/docs/kafka/consumes_basics/test_app.py 5 0 3 0 0 100%
tests/docs/kafka/publish_batch/test_app.py 12 0 3 0 0 100%
tests/docs/kafka/publish_batch/test_issues.py 11 0 4 0 0 100%
tests/docs/kafka/publish_example/test_app.py 6 0 3 0 0 100%
tests/docs/kafka/publish_with_partition_key/test_app.py 13 4 3 0 0 69%
tests/docs/kafka/publisher_object/test_publisher_object.py 1 0 1 0 0 100%
tests/docs/kafka/raw_publish/test_raw_publish.py 1 0 1 0 0 100%
tests/docs/nats/ack/test_errors.py 7 0 6 0 0 100%
tests/docs/nats/js/test_kv.py 6 0 4 0 0 100%
tests/docs/nats/js/test_object.py 6 0 4 0 0 100%
tests/docs/nats/js/test_pull_sub.py 6 0 3 0 0 100%
tests/docs/rabbit/ack/test_errors.py 7 0 6 0 0 100%
tests/docs/rabbit/subscription/test_direct.py 5 0 3 0 0 100%
tests/docs/rabbit/subscription/test_fanout.py 8 0 3 0 0 100%
tests/docs/rabbit/subscription/test_header.py 5 0 3 0 0 100%
tests/docs/rabbit/subscription/test_index.py 4 0 3 0 0 100%
tests/docs/rabbit/subscription/test_stream.py 6 0 3 0 0 100%
tests/docs/rabbit/subscription/test_topic.py 5 0 3 0 0 100%
tests/docs/rabbit/test_declare.py 6 0 3 0 0 100%
tests/examples/fastapi_integration/test_app.py 1 0 1 0 0 100%
tests/examples/kafka/test_batch_consume.py 5 0 3 0 0 100%
tests/examples/kafka/test_batch_publish_1.py 5 0 3 0 0 100%
tests/examples/kafka/test_batch_publish_2.py 5 0 3 0 0 100%
tests/examples/kafka/test_batch_publish_3.py 7 0 3 0 0 100%
tests/examples/kafka/test_example.py 1 0 1 0 0 100%
tests/examples/nats/test_e01_basic.py 4 0 4 0 0 100%
tests/examples/nats/test_e02_basic_rpc.py 4 0 4 0 0 100%
tests/examples/nats/test_e03_publisher.py 5 0 4 0 0 100%
tests/examples/nats/test_e04_js_basic.py 5 0 4 0 0 100%
tests/examples/nats/test_e05_basic_and_js.py 5 0 4 0 0 100%
tests/examples/nats/test_e06_key_value.py 6 0 4 0 0 100%
tests/examples/nats/test_e07_object_storage.py 6 0 4 0 0 100%
tests/examples/nats/test_e08_wildcards.py 6 0 4 0 0 100%
tests/examples/nats/test_e09_pull_sub.py 6 0 3 0 0 100%
tests/examples/router/test_basic_consume.py 5 0 3 0 0 100%
tests/examples/router/test_basic_publish.py 7 0 3 0 0 100%
tests/examples/router/test_delay_registration.py 6 0 3 0 0 100%
tests/examples/test_e01_basic_consume.py 5 0 3 0 0 100%
tests/examples/test_e02_1_basic_publisher.py 7 0 3 0 0 100%
tests/examples/test_e02_2_basic_publisher.py 7 0 3 0 0 100%
tests/examples/test_e02_3_basic_publisher.py 7 0 3 0 0 100%
tests/examples/test_e03_miltiple_pubsub.py 9 0 3 0 0 100%
tests/examples/test_e04_msg_filter.py 7 0 3 0 0 100%
tests/examples/test_e05_rpc_request.py 5 0 3 0 0 100%
tests/examples/test_e06_manual_ack.py 5 0 3 0 0 100%
tests/examples/test_e07_ack_immediately.py 5 0 3 0 0 100%
tests/examples/test_e08_testing.py 1 0 1 0 0 100%
tests/examples/test_e09_testing_mocks.py 1 0 1 0 0 100%
tests/examples/test_e10_middlewares.py 5 0 3 0 0 100%
tests/examples/test_e11_settings.py 5 0 3 0 0 100%
tests/log/test_formatter.py 5 0 4 0 0 100%
tests/marks.py 3 0 3 0 0 100%
tests/mocks.py 7 0 4 0 0 100%
tests/tools.py 7 0 1 0 0 100%
tests/utils/context/test_alias.py 37 0 4 0 0 100%
tests/utils/context/test_depends.py 38 0 4 0 0 100%
tests/utils/context/test_headers.py 10 0 3 0 0 100%
tests/utils/context/test_main.py 98 1 3 0 0 99%
tests/utils/context/test_path.py 30 0 5 0 0 100%
tests/utils/test_ast.py 50 0 5 0 0 100%
tests/utils/test_classes.py 6 0 1 0 0 100%
tests/utils/test_functions.py 10 0 2 0 0 100%
tests/utils/test_no_cast.py 5 0 2 0 0 100%
tests/utils/type_cast/test_base.py 24 0 3 0 0 100%
tests/utils/type_cast/test_model.py 14 0 4 0 0 100%
Total 11269 393 3329 1171 68 96%

No items found using the specified filter.