Skip to content

Commit

Permalink
fix: Fixed core tests
Browse files Browse the repository at this point in the history
Fixed the failing tests after migrating to AsyncAPI v3
  • Loading branch information
ctasada committed Jan 13, 2024
1 parent ed0514e commit 63a022b
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -402,13 +402,15 @@ void scan_componentHasOnlyDeclaredMethods(Class<?> clazz) {
Map<String, ChannelObject> actualChannels = channelScanner.scanChannels();

// Then the returned collection contains the channel with the actual method, excluding type erased methods
var messagePayload = MessagePayload.of(MultiFormatSchema.builder()
.schema(SchemaReference.fromSchema(String.class.getSimpleName()))
.build());
MessageObject message = MessageObject.builder()
.messageId(String.class.getName())
.name(String.class.getName())
.title(String.class.getSimpleName())
.description(null)
// .payload(PayloadReference.fromModelName(String.class.getSimpleName())) FIXME
// .schemaFormat("application/vnd.oai.openapi+json;version=3.0.0") FIXME
.payload(messagePayload)
.headers(
MessageHeaders.of(MessageReference.fromSchema(AsyncHeaders.NOT_DOCUMENTED.getSchemaName())))
.bindings(EMPTY_MAP)
Expand All @@ -418,11 +420,10 @@ void scan_componentHasOnlyDeclaredMethods(Class<?> clazz) {
.description("test channel operation description")
.title("test-channel_publish")
.bindings(EMPTY_MAP)
// .message(message) FIXME
.build();

ChannelObject expectedChannel = ChannelObject.builder()
.bindings(null) /*.publish(operation) FIXME*/
.bindings(null)
.messages(Map.of(message.getMessageId(), message))
.build();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,10 @@
import io.github.stavshamir.springwolf.asyncapi.v3.bindings.amqp.AMQPMessageBinding;
import io.github.stavshamir.springwolf.asyncapi.v3.bindings.amqp.AMQPOperationBinding;
import io.github.stavshamir.springwolf.asyncapi.v3.model.channel.ChannelObject;
import io.github.stavshamir.springwolf.asyncapi.v3.model.channel.message.MessageHeaders;
import io.github.stavshamir.springwolf.asyncapi.v3.model.channel.message.MessageObject;
import io.github.stavshamir.springwolf.asyncapi.v3.model.channel.message.MessagePayload;
import io.github.stavshamir.springwolf.asyncapi.v3.model.channel.message.MessageReference;
import io.github.stavshamir.springwolf.asyncapi.v3.model.schema.MultiFormatSchema;
import io.github.stavshamir.springwolf.asyncapi.v3.model.schema.SchemaReference;
import io.github.stavshamir.springwolf.schemas.SchemasService;
Expand Down Expand Up @@ -91,8 +93,7 @@ void scan_componentHasTestListenerMethods() {
.name(String.class.getName())
.title(String.class.getSimpleName())
.payload(payload)
// FIXME
// .headers(MessageHeaders.of(MessageReference.fromSchema(AsyncHeaders.NOT_DOCUMENTED.getSchemaName())))
.headers(MessageHeaders.of(MessageReference.fromSchema(AsyncHeaders.NOT_DOCUMENTED.getSchemaName())))
.bindings(defaultMessageBinding)
.build();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -169,11 +169,11 @@ void scan_componentHasTestListenerMethods_multiplePayloads() {

ChannelObject expectedChannelItem2 = ChannelObject.builder()
.bindings(defaultChannelBinding)
.messages(Map.of(messageString.getMessageId(), messageSimpleFoo))
.messages(Map.of(messageString.getMessageId(), messageString))
.build();

assertThat(channels)
.containsExactly(
.containsExactlyInAnyOrder(
Map.entry(TestBindingFactory.CHANNEL, expectedChannelItem),
Map.entry(TestBindingFactory.CHANNEL, expectedChannelItem2));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,15 +123,18 @@ void scan_componentHasMultipleTestListenerMethods() {
.toList();

// then
MessagePayload payload = MessagePayload.of(MultiFormatSchema.builder()
MessagePayload stringPayload = MessagePayload.of(MultiFormatSchema.builder()
.schema(SchemaReference.fromSchema(String.class.getSimpleName()))
.build());
MessagePayload simpleFooPayload = MessagePayload.of(MultiFormatSchema.builder()
.schema(SchemaReference.fromSchema(SimpleFoo.class.getSimpleName()))
.build());

MessageObject stringMessage = MessageObject.builder()
.messageId(String.class.getName())
.name(String.class.getName())
.title(String.class.getSimpleName())
.payload(payload)
.payload(stringPayload)
.headers(MessageHeaders.of(
MessageReference.fromSchema(AsyncHeadersNotDocumented.NOT_DOCUMENTED.getSchemaName())))
.bindings(defaultMessageBinding)
Expand All @@ -141,19 +144,24 @@ void scan_componentHasMultipleTestListenerMethods() {
.messageId(SimpleFoo.class.getName())
.name(SimpleFoo.class.getName())
.title(SimpleFoo.class.getSimpleName())
.payload(payload)
.payload(simpleFooPayload)
.headers(MessageHeaders.of(
MessageReference.fromSchema(AsyncHeadersNotDocumented.NOT_DOCUMENTED.getSchemaName())))
.bindings(defaultMessageBinding)
.build();

ChannelObject expectedChannelItem = ChannelObject.builder()
ChannelObject methodChannel = ChannelObject.builder()
.bindings(defaultChannelBinding)
.messages(Map.of(stringMessage.getMessageId(), stringMessage))
.build();
ChannelObject anotherMethodChannel = ChannelObject.builder()
.bindings(defaultChannelBinding)
.messages(Map.of(
stringMessage.getMessageId(), stringMessage, simpleFooMessage.getMessageId(), simpleFooMessage))
.messages(Map.of(simpleFooMessage.getMessageId(), simpleFooMessage))
.build();

assertThat(channels).containsExactly(Map.entry(CHANNEL, expectedChannelItem));
assertThat(channels)
.containsExactlyInAnyOrderElementsOf(
List.of(Map.entry(CHANNEL, methodChannel), Map.entry(CHANNEL, anotherMethodChannel)));
}

private static class ClassWithMultipleTestListenerAnnotation {
Expand Down

0 comments on commit 63a022b

Please sign in to comment.