From eaa74bc791b7c79596f128bce51bcffcf8807d78 Mon Sep 17 00:00:00 2001 From: YforC <2795020743@qq.com> Date: Tue, 9 Jun 2026 08:29:59 +0800 Subject: [PATCH] test: cover reply channel with null address --- .../rules/asyncapi-document-resolved.spec.ts | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/packages/parser/test/ruleset/rules/asyncapi-document-resolved.spec.ts b/packages/parser/test/ruleset/rules/asyncapi-document-resolved.spec.ts index b90062123..37acd9010 100644 --- a/packages/parser/test/ruleset/rules/asyncapi-document-resolved.spec.ts +++ b/packages/parser/test/ruleset/rules/asyncapi-document-resolved.spec.ts @@ -394,4 +394,60 @@ testRule('asyncapi-document-resolved', [ }, errors: [], }, + + { + name: 'valid case for 3.X.X (reply with address location can reference channel with null address)', + document: { + asyncapi: '3.0.0', + info: { + title: 'Signup service example (internal)', + version: '0.1.0', + }, + channels: { + userSignup: { + address: 'user/signup', + messages: { + UserSignup: { + payload: {} + } + } + }, + userSignupReply: { + address: null, + messages: { + UserSignupReply: { + payload: {} + } + } + } + }, + operations: { + sendUserSignup: { + action: 'send', + channel: { + $ref: '#/channels/userSignup' + }, + messages: [ + { + $ref: '#/channels/userSignup/messages/UserSignup' + } + ], + reply: { + address: { + location: '$message.header#/replyTo' + }, + channel: { + $ref: '#/channels/userSignupReply' + }, + messages: [ + { + $ref: '#/channels/userSignupReply/messages/UserSignupReply' + } + ] + } + } + }, + }, + errors: [], + }, ]);