diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/Simple.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/Simple.kt new file mode 100644 index 00000000..c5254350 --- /dev/null +++ b/asyncapi-core/src/test/kotlin/com/asyncapi/examples/v2/_6_0/Simple.kt @@ -0,0 +1,64 @@ +package com.asyncapi.examples.v2._6_0 + +import com.asyncapi.v2.Reference +import com.asyncapi.v2._6_0.model.channel.ChannelItem +import com.asyncapi.v2._6_0.model.channel.message.Message +import com.asyncapi.v2._6_0.model.channel.operation.Operation +import com.asyncapi.v2._6_0.model.component.Components +import com.asyncapi.v2._6_0.model.info.Info +import com.asyncapi.v2.schema.Schema + +class Simple: AbstractExampleValidationTest() { + + override fun specificationLocation(): String = "/examples/v2.6.0/simple.yml" + + override fun expectedInfo(): Info { + return Info.builder() + .title("Account Service") + .version("1.0.0") + .description("This service is in charge of processing user signups") + .build() + } + + override fun expectedServers(): Map? = null + + override fun expectedChannels(): Map { + return mapOf( + Pair("user/signedup", ChannelItem.builder() + .subscribe(Operation.builder() + .message(Reference("#/components/messages/UserSignedUp")) + .build() + ) + .build() + ), + ) + } + + override fun expectedComponents(): Components { + return Components.builder() + .messages(mapOf( + Pair("UserSignedUp", Message.builder() + .payload(Schema.builder() + .type("object") + .properties(mapOf( + Pair("displayName", Schema.builder() + .type("string") + .description("Name of the user") + .build() + ), + Pair("email", Schema.builder() + .type("string") + .format("email") + .description("Email of the user") + .build() + ) + )) + .build() + ) + .build() + ) + )) + .build() + } + +} \ No newline at end of file diff --git a/asyncapi-core/src/test/resources/examples/v2.6.0/simple.yml b/asyncapi-core/src/test/resources/examples/v2.6.0/simple.yml new file mode 100644 index 00000000..c70cefd7 --- /dev/null +++ b/asyncapi-core/src/test/resources/examples/v2.6.0/simple.yml @@ -0,0 +1,23 @@ +asyncapi: "2.6.0" +info: + title: Account Service + version: 1.0.0 + description: This service is in charge of processing user signups +channels: + user/signedup: + subscribe: + message: + $ref: '#/components/messages/UserSignedUp' +components: + messages: + UserSignedUp: + payload: + type: object + properties: + displayName: + type: string + description: Name of the user + email: + type: string + format: email + description: Email of the user \ No newline at end of file