Skip to content

Feat/asyncapi add reply#2635

Open
stefan-vasilenko wants to merge 15 commits intoag2ai:mainfrom
stefan-vasilenko:feat/asyncapi-add-reply
Open

Feat/asyncapi add reply#2635
stefan-vasilenko wants to merge 15 commits intoag2ai:mainfrom
stefan-vasilenko:feat/asyncapi-add-reply

Conversation

@stefan-vasilenko
Copy link
Copy Markdown

@stefan-vasilenko stefan-vasilenko commented Nov 1, 2025

Description

Added reply generation to AsyncApi scheme v3.0.0

Fixes #1586

Type of change

Please delete options that are not relevant.

  • New feature (a non-breaking change that adds functionality)
  • This change requires a documentation update

Checklist

  • My code adheres to the style guidelines of this project (just lint shows no errors)
  • I have conducted a self-review of my own code
  • I have made the necessary changes to the documentation
  • My changes do not generate any new warnings
  • I have added tests to validate the effectiveness of my fix or the functionality of my new feature
  • Both new and existing unit tests pass successfully on my local environment by running just test-coverage
  • I have ensured that static analysis tests are passing by running just static-analysis
  • I have included code examples to illustrate the modifications

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Nov 1, 2025

CLA assistant check
All committers have signed the CLA.

@github-actions github-actions bot added Confluent Issues related to `faststream.confluent` module AioKafka Issues related to `faststream.kafka` module NATS Issues related to `faststream.nats` module and NATS broker features Redis Issues related to `faststream.redis` module and Redis features labels Nov 1, 2025
@stefan-vasilenko
Copy link
Copy Markdown
Author

@Lancetnik Hi!
I’ve added a reply to the schema generation — could you please check the implementation?

I also have a question: after my changes, a lot of tests started failing because they assert the exact payload output, like this:

        assert len(payload) == 1

        key, value = next(iter(payload.items()))

        assert key == "User"
        assert value == {
            "properties": IsDict({
                "id": {"title": "Id", "type": "integer"},
                "email": {"default": "", "title": "Email", "type": "string"},
            })
            | IsDict({
                "id": {"title": "Id", "type": "integer"},
                "name": {"default": "", "title": "Name", "type": "string"},
            }),
            "required": ["id"],
            "title": key,
            "type": "object",
        }

The failures are caused by the fact that I added a new payload to the output.

Do you think it makes sense to update all these tests, or is there a better way to handle this?

@Lancetnik
Copy link
Copy Markdown
Member

@stefan-vasilenko thank you! At first look everything looks fine. Let me check in details, what we can make with failing tests

@stefan-vasilenko
Copy link
Copy Markdown
Author

Sorry, for long inactive I was back to this feature and will complete it

@Lancetnik
Copy link
Copy Markdown
Member

@stefan-vasilenko sorry, it's my bad! Seems like the last thing we need to do - review. Can you just fix CI to let me investigate the feature?

@stefan-vasilenko
Copy link
Copy Markdown
Author

Of course, wait my commits!

@stefan-vasilenko
Copy link
Copy Markdown
Author

Hi! Can u please run tests, i thought i fix them

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AioKafka Issues related to `faststream.kafka` module Confluent Issues related to `faststream.confluent` module NATS Issues related to `faststream.nats` module and NATS broker features Redis Issues related to `faststream.redis` module and Redis features

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feature: document RPC responses in AsyncAPI

3 participants