diff --git a/asyncapi-core/src/main/java/com/asyncapi/bindings/ChannelBindingsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/bindings/ChannelBindingsDeserializer.java
index 4f9f317f..fc3070e7 100644
--- a/asyncapi-core/src/main/java/com/asyncapi/bindings/ChannelBindingsDeserializer.java
+++ b/asyncapi-core/src/main/java/com/asyncapi/bindings/ChannelBindingsDeserializer.java
@@ -2,7 +2,7 @@
import com.asyncapi.bindings.amqp.AMQPChannelBinding;
import com.asyncapi.bindings.amqp1.v0._1_0.channel.AMQP1ChannelBinding;
-import com.asyncapi.bindings.anypointmq.v0._0_1.channel.AnypointMQChannelBinding;
+import com.asyncapi.bindings.anypointmq.AnypointMQChannelBinding;
import com.asyncapi.bindings.googlepubsub.v0._1_0.channel.GooglePubSubChannelBinding;
import com.asyncapi.bindings.http.v0._1_0.channel.HTTPChannelBinding;
import com.asyncapi.bindings.ibmmq.v0._1_0.channel.IBMMQChannelBinding;
diff --git a/asyncapi-core/src/main/java/com/asyncapi/bindings/MessageBindingsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/bindings/MessageBindingsDeserializer.java
index 4c5e9b4d..8d66b76b 100644
--- a/asyncapi-core/src/main/java/com/asyncapi/bindings/MessageBindingsDeserializer.java
+++ b/asyncapi-core/src/main/java/com/asyncapi/bindings/MessageBindingsDeserializer.java
@@ -2,7 +2,7 @@
import com.asyncapi.bindings.amqp.AMQPMessageBinding;
import com.asyncapi.bindings.amqp1.v0._1_0.message.AMQP1MessageBinding;
-import com.asyncapi.bindings.anypointmq.v0._0_1.message.AnypointMQMessageBinding;
+import com.asyncapi.bindings.anypointmq.AnypointMQMessageBinding;
import com.asyncapi.bindings.googlepubsub.v0._1_0.message.GooglePubSubMessageBinding;
import com.asyncapi.bindings.http.v0._1_0.message.HTTPMessageBinding;
import com.asyncapi.bindings.ibmmq.v0._1_0.message.IBMMQMessageBinding;
diff --git a/asyncapi-core/src/main/java/com/asyncapi/bindings/OperationBindingsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/bindings/OperationBindingsDeserializer.java
index 931fcb31..056fab2c 100644
--- a/asyncapi-core/src/main/java/com/asyncapi/bindings/OperationBindingsDeserializer.java
+++ b/asyncapi-core/src/main/java/com/asyncapi/bindings/OperationBindingsDeserializer.java
@@ -2,7 +2,7 @@
import com.asyncapi.bindings.amqp.AMQPOperationBinding;
import com.asyncapi.bindings.amqp1.v0._1_0.operation.AMQP1OperationBinding;
-import com.asyncapi.bindings.anypointmq.v0._0_1.operation.AnypointMQOperationBinding;
+import com.asyncapi.bindings.anypointmq.AnypointMQOperationBinding;
import com.asyncapi.bindings.googlepubsub.v0._1_0.operation.GooglePubSubOperationBinding;
import com.asyncapi.bindings.http.v0._1_0.operation.HTTPOperationBinding;
import com.asyncapi.bindings.ibmmq.v0._1_0.operation.IBMMQOperationBinding;
diff --git a/asyncapi-core/src/main/java/com/asyncapi/bindings/ServerBindingsDeserializer.java b/asyncapi-core/src/main/java/com/asyncapi/bindings/ServerBindingsDeserializer.java
index ef39d492..dcb8f755 100644
--- a/asyncapi-core/src/main/java/com/asyncapi/bindings/ServerBindingsDeserializer.java
+++ b/asyncapi-core/src/main/java/com/asyncapi/bindings/ServerBindingsDeserializer.java
@@ -2,7 +2,7 @@
import com.asyncapi.bindings.amqp.AMQPServerBinding;
import com.asyncapi.bindings.amqp1.v0._1_0.server.AMQP1ServerBinding;
-import com.asyncapi.bindings.anypointmq.v0._0_1.server.AnypointMQServerBinding;
+import com.asyncapi.bindings.anypointmq.AnypointMQServerBinding;
import com.asyncapi.bindings.googlepubsub.v0._1_0.server.GooglePubSubServerBinding;
import com.asyncapi.bindings.http.v0._1_0.server.HTTPServerBinding;
import com.asyncapi.bindings.ibmmq.v0._1_0.server.IBMMQServerBinding;
diff --git a/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/AnypointMQChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/AnypointMQChannelBinding.java
new file mode 100644
index 00000000..060b1b93
--- /dev/null
+++ b/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/AnypointMQChannelBinding.java
@@ -0,0 +1,29 @@
+package com.asyncapi.bindings.anypointmq;
+
+import com.asyncapi.bindings.ChannelBinding;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import lombok.EqualsAndHashCode;
+
+/**
+ * Describes Anypoint MQ channel binding.
+ *
+ * @version 0.0.1
+ * @see Anypoint MQ channel binding
+ * @author Pavel Bodiachevskii
+ */
+@JsonTypeInfo(
+ use = JsonTypeInfo.Id.NAME,
+ include = JsonTypeInfo.As.EXISTING_PROPERTY,
+ defaultImpl = com.asyncapi.bindings.anypointmq.v0._0_1.channel.AnypointMQChannelBinding.class,
+ property = "bindingVersion",
+ visible = true
+)
+@JsonSubTypes({
+ @JsonSubTypes.Type(value = com.asyncapi.bindings.anypointmq.v0._0_1.channel.AnypointMQChannelBinding.class, names = {
+ "0.0.1",
+ "latest"
+ }),
+})
+@EqualsAndHashCode(callSuper = true)
+public class AnypointMQChannelBinding extends ChannelBinding {}
\ No newline at end of file
diff --git a/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/AnypointMQMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/AnypointMQMessageBinding.java
new file mode 100644
index 00000000..c928ae26
--- /dev/null
+++ b/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/AnypointMQMessageBinding.java
@@ -0,0 +1,30 @@
+package com.asyncapi.bindings.anypointmq;
+
+import com.asyncapi.bindings.MessageBinding;
+import com.fasterxml.jackson.annotation.JsonClassDescription;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import lombok.*;
+
+/**
+ * Describes Anypoint MQ message binding.
+ *
+ * @version 0.0.1
+ * @see Anypoint MQ message binding
+ * @author Pavel Bodiachevskii
+ */
+@JsonTypeInfo(
+ use = JsonTypeInfo.Id.NAME,
+ include = JsonTypeInfo.As.EXISTING_PROPERTY,
+ defaultImpl = com.asyncapi.bindings.anypointmq.v0._0_1.message.AnypointMQMessageBinding.class,
+ property = "bindingVersion",
+ visible = true
+)
+@JsonSubTypes({
+ @JsonSubTypes.Type(value = com.asyncapi.bindings.anypointmq.v0._0_1.message.AnypointMQMessageBinding.class, names = {
+ "0.0.1",
+ "latest"
+ }),
+})
+@EqualsAndHashCode(callSuper = true)
+public class AnypointMQMessageBinding extends MessageBinding {}
\ No newline at end of file
diff --git a/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/AnypointMQOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/AnypointMQOperationBinding.java
new file mode 100644
index 00000000..4b6b7adb
--- /dev/null
+++ b/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/AnypointMQOperationBinding.java
@@ -0,0 +1,31 @@
+package com.asyncapi.bindings.anypointmq;
+
+import com.asyncapi.bindings.OperationBinding;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+/**
+ * Describes Anypoint MQ operation binding.
+ *
+ * @version 0.0.1
+ * @see Anypoint MQ operation binding
+ * @author Pavel Bodiachevskii
+ */
+@JsonTypeInfo(
+ use = JsonTypeInfo.Id.NAME,
+ include = JsonTypeInfo.As.EXISTING_PROPERTY,
+ defaultImpl = com.asyncapi.bindings.anypointmq.v0._0_1.operation.AnypointMQOperationBinding.class,
+ property = "bindingVersion",
+ visible = true
+)
+@JsonSubTypes({
+ @JsonSubTypes.Type(value = com.asyncapi.bindings.anypointmq.v0._0_1.operation.AnypointMQOperationBinding.class, names = {
+ "0.0.1",
+ "latest"
+ }),
+})
+@EqualsAndHashCode(callSuper = true)
+public class AnypointMQOperationBinding extends OperationBinding {}
\ No newline at end of file
diff --git a/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/AnypointMQServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/AnypointMQServerBinding.java
new file mode 100644
index 00000000..85943a0d
--- /dev/null
+++ b/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/AnypointMQServerBinding.java
@@ -0,0 +1,31 @@
+package com.asyncapi.bindings.anypointmq;
+
+import com.asyncapi.bindings.ServerBinding;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+/**
+ * Describes Anypoint MQ server binding.
+ *
+ * @version 0.0.1
+ * @see Anypoint MQ server binding
+ * @author Pavel Bodiachevskii
+ */
+@JsonTypeInfo(
+ use = JsonTypeInfo.Id.NAME,
+ include = JsonTypeInfo.As.EXISTING_PROPERTY,
+ defaultImpl = com.asyncapi.bindings.anypointmq.v0._0_1.server.AnypointMQServerBinding.class,
+ property = "bindingVersion",
+ visible = true
+)
+@JsonSubTypes({
+ @JsonSubTypes.Type(value = com.asyncapi.bindings.anypointmq.v0._0_1.server.AnypointMQServerBinding.class, names = {
+ "0.0.1",
+ "latest"
+ }),
+})
+@EqualsAndHashCode(callSuper = true)
+public class AnypointMQServerBinding extends ServerBinding {}
\ No newline at end of file
diff --git a/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/v0/_0_1/channel/AnypointMQChannelBinding.java b/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/v0/_0_1/channel/AnypointMQChannelBinding.java
index eb682d22..bb63f1b4 100644
--- a/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/v0/_0_1/channel/AnypointMQChannelBinding.java
+++ b/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/v0/_0_1/channel/AnypointMQChannelBinding.java
@@ -1,6 +1,5 @@
package com.asyncapi.bindings.anypointmq.v0._0_1.channel;
-import com.asyncapi.bindings.ChannelBinding;
import com.fasterxml.jackson.annotation.JsonClassDescription;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
@@ -20,7 +19,7 @@
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@JsonClassDescription("Describes Anypoint MQ channel binding.")
-public class AnypointMQChannelBinding extends ChannelBinding {
+public class AnypointMQChannelBinding extends com.asyncapi.bindings.anypointmq.AnypointMQChannelBinding {
/**
* OPTIONAL, defaults to the channel name.
@@ -46,13 +45,14 @@ public class AnypointMQChannelBinding extends ChannelBinding {
@JsonPropertyDescription("The type of destination, which MUST be either exchange or queue or fifo-queue. SHOULD be specified to document the messaging model (publish/subscribe, point-to-point, strict message ordering) supported by this channel.")
private AnypointMQChannelDestinationType destinationType = AnypointMQChannelDestinationType.QUEUE;
- /**
- * The version of this binding.
- */
- @Nullable
- @Builder.Default
- @JsonProperty(value = "bindingVersion")
- @JsonPropertyDescription("The version of this binding.")
- private String bindingVersion = "0.0.1";
+ @Override
+ public String getBindingVersion() {
+ return "0.0.1";
+ }
+
+ @Override
+ public void setBindingVersion(@Nullable String bindingVersion) {
+ super.setBindingVersion("0.0.1");
+ }
}
diff --git a/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/v0/_0_1/message/AnypointMQMessageBinding.java b/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/v0/_0_1/message/AnypointMQMessageBinding.java
index fa9a3808..fed9ac8e 100644
--- a/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/v0/_0_1/message/AnypointMQMessageBinding.java
+++ b/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/v0/_0_1/message/AnypointMQMessageBinding.java
@@ -1,6 +1,5 @@
package com.asyncapi.bindings.anypointmq.v0._0_1.message;
-import com.asyncapi.bindings.MessageBinding;
import com.asyncapi.v3.schema.AsyncAPISchema;
import com.fasterxml.jackson.annotation.JsonClassDescription;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -21,7 +20,7 @@
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@JsonClassDescription("Describes Anypoint MQ message binding.")
-public class AnypointMQMessageBinding extends MessageBinding {
+public class AnypointMQMessageBinding extends com.asyncapi.bindings.anypointmq.AnypointMQMessageBinding {
/**
* A Schema object containing the definitions for Anypoint MQ-specific headers (so-called protocol headers).
@@ -33,13 +32,14 @@ public class AnypointMQMessageBinding extends MessageBinding {
@JsonPropertyDescription("A Schema object containing the definitions for Anypoint MQ-specific headers (so-called protocol headers). This schema MUST be of type object and have a properties key. Examples of Anypoint MQ protocol headers are messageId and messageGroupId.")
private AsyncAPISchema headers;
- /**
- * The version of this binding.
- */
- @Nullable
- @Builder.Default
- @JsonProperty(value = "bindingVersion")
- @JsonPropertyDescription("The version of this binding.")
- private String bindingVersion = "0.0.1";
+ @Override
+ public String getBindingVersion() {
+ return "0.0.1";
+ }
+
+ @Override
+ public void setBindingVersion(@Nullable String bindingVersion) {
+ super.setBindingVersion("0.0.1");
+ }
}
diff --git a/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/v0/_0_1/operation/AnypointMQOperationBinding.java b/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/v0/_0_1/operation/AnypointMQOperationBinding.java
index b7b71bd1..dc539f96 100644
--- a/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/v0/_0_1/operation/AnypointMQOperationBinding.java
+++ b/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/v0/_0_1/operation/AnypointMQOperationBinding.java
@@ -1,9 +1,9 @@
package com.asyncapi.bindings.anypointmq.v0._0_1.operation;
-import com.asyncapi.bindings.OperationBinding;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
+import org.jetbrains.annotations.Nullable;
/**
* This class MUST NOT contain any properties. Its name is reserved for future use.
@@ -17,5 +17,16 @@
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
-public class AnypointMQOperationBinding extends OperationBinding {
+public class AnypointMQOperationBinding extends com.asyncapi.bindings.anypointmq.AnypointMQOperationBinding {
+
+ @Override
+ public String getBindingVersion() {
+ return "0.0.1";
+ }
+
+ @Override
+ public void setBindingVersion(@Nullable String bindingVersion) {
+ super.setBindingVersion("0.0.1");
+ }
+
}
diff --git a/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/v0/_0_1/server/AnypointMQServerBinding.java b/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/v0/_0_1/server/AnypointMQServerBinding.java
index bf661903..e31ec742 100644
--- a/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/v0/_0_1/server/AnypointMQServerBinding.java
+++ b/asyncapi-core/src/main/java/com/asyncapi/bindings/anypointmq/v0/_0_1/server/AnypointMQServerBinding.java
@@ -1,9 +1,9 @@
package com.asyncapi.bindings.anypointmq.v0._0_1.server;
-import com.asyncapi.bindings.ServerBinding;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
+import org.jetbrains.annotations.Nullable;
/**
* This class MUST NOT contain any properties. Its name is reserved for future use.
@@ -17,5 +17,16 @@
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
-public class AnypointMQServerBinding extends ServerBinding {
+public class AnypointMQServerBinding extends com.asyncapi.bindings.anypointmq.AnypointMQServerBinding {
+
+ @Override
+ public String getBindingVersion() {
+ return "0.0.1";
+ }
+
+ @Override
+ public void setBindingVersion(@Nullable String bindingVersion) {
+ super.setBindingVersion("0.0.1");
+ }
+
}
diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/bindings/anypointmq/AnypointMQ.java b/asyncapi-core/src/test/kotlin/com/asyncapi/bindings/anypointmq/AnypointMQ.java
new file mode 100644
index 00000000..02a2953f
--- /dev/null
+++ b/asyncapi-core/src/test/kotlin/com/asyncapi/bindings/anypointmq/AnypointMQ.java
@@ -0,0 +1,11 @@
+package com.asyncapi.bindings.anypointmq;
+
+import org.junit.platform.suite.api.SelectPackages;
+import org.junit.platform.suite.api.Suite;
+import org.junit.platform.suite.api.SuiteDisplayName;
+
+@Suite
+@SuiteDisplayName("Anypoint MQ")
+@SelectPackages("com.asyncapi.bindings.anypointmq")
+public class AnypointMQ {
+}
diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/bindings/anypointmq/AnypointMQLatestTest.java b/asyncapi-core/src/test/kotlin/com/asyncapi/bindings/anypointmq/AnypointMQLatestTest.java
new file mode 100644
index 00000000..b6ef2776
--- /dev/null
+++ b/asyncapi-core/src/test/kotlin/com/asyncapi/bindings/anypointmq/AnypointMQLatestTest.java
@@ -0,0 +1,54 @@
+package com.asyncapi.bindings.anypointmq;
+
+import com.asyncapi.bindings.BindingTest;
+import com.asyncapi.bindings.anypointmq.v0._0_1.channel.AnypointMQChannelBinding;
+import com.asyncapi.bindings.anypointmq.v0._0_1.message.AnypointMQMessageBinding;
+import com.asyncapi.bindings.anypointmq.v0._0_1.operation.AnypointMQOperationBinding;
+import com.asyncapi.bindings.anypointmq.v0._0_1.server.AnypointMQServerBinding;
+import org.junit.jupiter.api.DisplayName;
+import org.junit.jupiter.api.Nested;
+
+@DisplayName("latest")
+public class AnypointMQLatestTest {
+
+ @Nested
+ @DisplayName("channel")
+ class ChannelTest extends BindingTest {{
+ super.binding = AnypointMQV0_0_1Test.channelBinding();
+ super.bindingTypeClass = AnypointMQChannelBinding.class;
+ super.pathToBindingJson = "/bindings/anypointmq/latest/channel/binding.json";
+ super.pathToExtendedBindingJson = "/bindings/anypointmq/latest/channel/binding - extended.json";
+ super.pathToWronglyExtendedBindingJson = "/bindings/anypointmq/latest/channel/binding - wrongly extended.json";
+ }}
+
+ @Nested
+ @DisplayName("message")
+ class Message extends BindingTest {{
+ super.binding = AnypointMQV0_0_1Test.messageBinding();
+ super.bindingTypeClass = AnypointMQMessageBinding.class;
+ super.pathToBindingJson = "/bindings/anypointmq/latest/message/binding.json";
+ super.pathToExtendedBindingJson = "/bindings/anypointmq/latest/message/binding - extended.json";
+ super.pathToWronglyExtendedBindingJson = "/bindings/anypointmq/latest/message/binding - wrongly extended.json";
+ }}
+
+ @Nested
+ @DisplayName("operation")
+ class Operation extends BindingTest {{
+ super.binding = AnypointMQV0_0_1Test.operationBinding();
+ super.bindingTypeClass = AnypointMQOperationBinding.class;
+ super.pathToBindingJson = "/bindings/anypointmq/latest/operation/binding.json";
+ super.pathToExtendedBindingJson = "/bindings/anypointmq/latest/operation/binding - extended.json";
+ super.pathToWronglyExtendedBindingJson = "/bindings/anypointmq/latest/operation/binding - wrongly extended.json";
+ }}
+
+ @Nested
+ @DisplayName("server")
+ class Server extends BindingTest {{
+ super.binding = AnypointMQV0_0_1Test.serverBinding();
+ super.bindingTypeClass = AnypointMQServerBinding.class;
+ super.pathToBindingJson = "/bindings/anypointmq/latest/server/binding.json";
+ super.pathToExtendedBindingJson = "/bindings/anypointmq/latest/server/binding - extended.json";
+ super.pathToWronglyExtendedBindingJson = "/bindings/anypointmq/latest/server/binding - wrongly extended.json";
+ }}
+
+}
diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/bindings/anypointmq/AnypointMQUnknownVersionTest.java b/asyncapi-core/src/test/kotlin/com/asyncapi/bindings/anypointmq/AnypointMQUnknownVersionTest.java
new file mode 100644
index 00000000..2b2d22cc
--- /dev/null
+++ b/asyncapi-core/src/test/kotlin/com/asyncapi/bindings/anypointmq/AnypointMQUnknownVersionTest.java
@@ -0,0 +1,54 @@
+package com.asyncapi.bindings.anypointmq;
+
+import com.asyncapi.bindings.BindingTest;
+import com.asyncapi.bindings.anypointmq.v0._0_1.channel.AnypointMQChannelBinding;
+import com.asyncapi.bindings.anypointmq.v0._0_1.message.AnypointMQMessageBinding;
+import com.asyncapi.bindings.anypointmq.v0._0_1.operation.AnypointMQOperationBinding;
+import com.asyncapi.bindings.anypointmq.v0._0_1.server.AnypointMQServerBinding;
+import org.junit.jupiter.api.DisplayName;
+import org.junit.jupiter.api.Nested;
+
+@DisplayName("unknown version")
+public class AnypointMQUnknownVersionTest {
+
+ @Nested
+ @DisplayName("channel")
+ class ChannelTest extends BindingTest {{
+ super.binding = AnypointMQV0_0_1Test.channelBinding();
+ super.bindingTypeClass = AnypointMQChannelBinding.class;
+ super.pathToBindingJson = "/bindings/anypointmq/unknown version/channel/binding.json";
+ super.pathToExtendedBindingJson = "/bindings/anypointmq/unknown version/channel/binding - extended.json";
+ super.pathToWronglyExtendedBindingJson = "/bindings/anypointmq/unknown version/channel/binding - wrongly extended.json";
+ }}
+
+ @Nested
+ @DisplayName("message")
+ class Message extends BindingTest {{
+ super.binding = AnypointMQV0_0_1Test.messageBinding();
+ super.bindingTypeClass = AnypointMQMessageBinding.class;
+ super.pathToBindingJson = "/bindings/anypointmq/unknown version/message/binding.json";
+ super.pathToExtendedBindingJson = "/bindings/anypointmq/unknown version/message/binding - extended.json";
+ super.pathToWronglyExtendedBindingJson = "/bindings/anypointmq/unknown version/message/binding - wrongly extended.json";
+ }}
+
+ @Nested
+ @DisplayName("operation")
+ class Operation extends BindingTest {{
+ super.binding = AnypointMQV0_0_1Test.operationBinding();
+ super.bindingTypeClass = AnypointMQOperationBinding.class;
+ super.pathToBindingJson = "/bindings/anypointmq/unknown version/operation/binding.json";
+ super.pathToExtendedBindingJson = "/bindings/anypointmq/unknown version/operation/binding - extended.json";
+ super.pathToWronglyExtendedBindingJson = "/bindings/anypointmq/unknown version/operation/binding - wrongly extended.json";
+ }}
+
+ @Nested
+ @DisplayName("server")
+ class Server extends BindingTest {{
+ super.binding = AnypointMQV0_0_1Test.serverBinding();
+ super.bindingTypeClass = AnypointMQServerBinding.class;
+ super.pathToBindingJson = "/bindings/anypointmq/unknown version/server/binding.json";
+ super.pathToExtendedBindingJson = "/bindings/anypointmq/unknown version/server/binding - extended.json";
+ super.pathToWronglyExtendedBindingJson = "/bindings/anypointmq/unknown version/server/binding - wrongly extended.json";
+ }}
+
+}
diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/bindings/anypointmq/AnypointMQV0_0_1Test.java b/asyncapi-core/src/test/kotlin/com/asyncapi/bindings/anypointmq/AnypointMQV0_0_1Test.java
new file mode 100644
index 00000000..1cfd533f
--- /dev/null
+++ b/asyncapi-core/src/test/kotlin/com/asyncapi/bindings/anypointmq/AnypointMQV0_0_1Test.java
@@ -0,0 +1,89 @@
+package com.asyncapi.bindings.anypointmq;
+
+import com.asyncapi.bindings.BindingTest;
+import com.asyncapi.bindings.anypointmq.v0._0_1.channel.AnypointMQChannelBinding;
+import com.asyncapi.bindings.anypointmq.v0._0_1.channel.AnypointMQChannelDestinationType;
+import com.asyncapi.bindings.anypointmq.v0._0_1.message.AnypointMQMessageBinding;
+import com.asyncapi.bindings.anypointmq.v0._0_1.operation.AnypointMQOperationBinding;
+import com.asyncapi.bindings.anypointmq.v0._0_1.server.AnypointMQServerBinding;
+import com.asyncapi.v3.schema.AsyncAPISchema;
+import com.asyncapi.v3.schema.Type;
+import org.junit.jupiter.api.DisplayName;
+import org.junit.jupiter.api.Nested;
+
+import java.util.Map;
+
+@DisplayName("0.1.0")
+public class AnypointMQV0_0_1Test {
+
+ public static AnypointMQChannelBinding channelBinding () {
+ return AnypointMQChannelBinding.builder()
+ .destination("user-signup-exchg")
+ .destinationType(AnypointMQChannelDestinationType.EXCHANGE)
+ .build();
+ }
+
+ public static AnypointMQMessageBinding messageBinding () {
+ return AnypointMQMessageBinding.builder()
+ .headers(AsyncAPISchema.builder()
+ .type(Type.OBJECT)
+ .properties(Map.ofEntries(Map.entry(
+ "correlationId",
+ AsyncAPISchema.builder()
+ .type(Type.STRING)
+ .description("Correlation ID set by application")
+ .build()
+ )))
+ .build())
+ .build();
+ }
+
+ public static AnypointMQOperationBinding operationBinding () {
+ return new AnypointMQOperationBinding();
+ }
+
+ public static AnypointMQServerBinding serverBinding () {
+ return new AnypointMQServerBinding();
+ }
+
+ @Nested
+ @DisplayName("channel")
+ class ChannelTest extends BindingTest {{
+ super.binding = channelBinding();
+ super.bindingTypeClass = AnypointMQChannelBinding.class;
+ super.pathToBindingJson = "/bindings/anypointmq/0.0.1/channel/binding.json";
+ super.pathToExtendedBindingJson = "/bindings/anypointmq/0.0.1/channel/binding - extended.json";
+ super.pathToWronglyExtendedBindingJson = "/bindings/anypointmq/0.0.1/channel/binding - wrongly extended.json";
+ }}
+
+ @Nested
+ @DisplayName("message")
+ class Message extends BindingTest {{
+ super.binding = messageBinding();
+ super.bindingTypeClass = AnypointMQMessageBinding.class;
+ super.pathToBindingJson = "/bindings/anypointmq/0.0.1/message/binding.json";
+ super.pathToExtendedBindingJson = "/bindings/anypointmq/0.0.1/message/binding - extended.json";
+ super.pathToWronglyExtendedBindingJson = "/bindings/anypointmq/0.0.1/message/binding - wrongly extended.json";
+ }}
+
+ @Nested
+ @DisplayName("operation")
+ class Operation extends BindingTest {{
+ super.binding = operationBinding();
+ super.bindingTypeClass = AnypointMQOperationBinding.class;
+ super.pathToBindingJson = "/bindings/anypointmq/0.0.1/operation/binding.json";
+ super.pathToExtendedBindingJson = "/bindings/anypointmq/0.0.1/operation/binding - extended.json";
+ super.pathToWronglyExtendedBindingJson = "/bindings/anypointmq/0.0.1/operation/binding - wrongly extended.json";
+ }}
+
+ @Nested
+ @DisplayName("server")
+ class Server extends BindingTest {{
+ super.binding = serverBinding();
+ super.bindingTypeClass = AnypointMQServerBinding.class;
+ super.pathToBindingJson = "/bindings/anypointmq/0.0.1/server/binding.json";
+ super.pathToExtendedBindingJson = "/bindings/anypointmq/0.0.1/server/binding - extended.json";
+ super.pathToWronglyExtendedBindingJson = "/bindings/anypointmq/0.0.1/server/binding - wrongly extended.json";
+ }}
+
+}
diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/bindings/anypointmq/AnypointMQWithoutVersionTest.java b/asyncapi-core/src/test/kotlin/com/asyncapi/bindings/anypointmq/AnypointMQWithoutVersionTest.java
new file mode 100644
index 00000000..ef1f3703
--- /dev/null
+++ b/asyncapi-core/src/test/kotlin/com/asyncapi/bindings/anypointmq/AnypointMQWithoutVersionTest.java
@@ -0,0 +1,54 @@
+package com.asyncapi.bindings.anypointmq;
+
+import com.asyncapi.bindings.BindingTest;
+import com.asyncapi.bindings.anypointmq.v0._0_1.channel.AnypointMQChannelBinding;
+import com.asyncapi.bindings.anypointmq.v0._0_1.message.AnypointMQMessageBinding;
+import com.asyncapi.bindings.anypointmq.v0._0_1.operation.AnypointMQOperationBinding;
+import com.asyncapi.bindings.anypointmq.v0._0_1.server.AnypointMQServerBinding;
+import org.junit.jupiter.api.DisplayName;
+import org.junit.jupiter.api.Nested;
+
+@DisplayName("without version")
+public class AnypointMQWithoutVersionTest {
+
+ @Nested
+ @DisplayName("channel")
+ class ChannelTest extends BindingTest {{
+ super.binding = AnypointMQV0_0_1Test.channelBinding();
+ super.bindingTypeClass = AnypointMQChannelBinding.class;
+ super.pathToBindingJson = "/bindings/anypointmq/without version/channel/binding.json";
+ super.pathToExtendedBindingJson = "/bindings/anypointmq/without version/channel/binding - extended.json";
+ super.pathToWronglyExtendedBindingJson = "/bindings/anypointmq/without version/channel/binding - wrongly extended.json";
+ }}
+
+ @Nested
+ @DisplayName("message")
+ class Message extends BindingTest {{
+ super.binding = AnypointMQV0_0_1Test.messageBinding();
+ super.bindingTypeClass = AnypointMQMessageBinding.class;
+ super.pathToBindingJson = "/bindings/anypointmq/without version/message/binding.json";
+ super.pathToExtendedBindingJson = "/bindings/anypointmq/without version/message/binding - extended.json";
+ super.pathToWronglyExtendedBindingJson = "/bindings/anypointmq/without version/message/binding - wrongly extended.json";
+ }}
+
+ @Nested
+ @DisplayName("operation")
+ class Operation extends BindingTest {{
+ super.binding = AnypointMQV0_0_1Test.operationBinding();
+ super.bindingTypeClass = AnypointMQOperationBinding.class;
+ super.pathToBindingJson = "/bindings/anypointmq/without version/operation/binding.json";
+ super.pathToExtendedBindingJson = "/bindings/anypointmq/without version/operation/binding - extended.json";
+ super.pathToWronglyExtendedBindingJson = "/bindings/anypointmq/without version/operation/binding - wrongly extended.json";
+ }}
+
+ @Nested
+ @DisplayName("server")
+ class Server extends BindingTest {{
+ super.binding = AnypointMQV0_0_1Test.serverBinding();
+ super.bindingTypeClass = AnypointMQServerBinding.class;
+ super.pathToBindingJson = "/bindings/anypointmq/without version/server/binding.json";
+ super.pathToExtendedBindingJson = "/bindings/anypointmq/without version/server/binding - extended.json";
+ super.pathToWronglyExtendedBindingJson = "/bindings/anypointmq/without version/server/binding - wrongly extended.json";
+ }}
+
+}
diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/bindings/anypointmq/v0/_0_1/channel/AnypointMQChannelBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/bindings/anypointmq/v0/_0_1/channel/AnypointMQChannelBindingTest.kt
deleted file mode 100644
index e1f53a75..00000000
--- a/asyncapi-core/src/test/kotlin/com/asyncapi/bindings/anypointmq/v0/_0_1/channel/AnypointMQChannelBindingTest.kt
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.asyncapi.bindings.anypointmq.v0._0_1.channel
-
-import com.asyncapi.v3.SerDeTest
-
-/**
- * @version 3.0.0
- * @author Pavel Bodiachevskii
- */
-class AnypointMQChannelBindingTest: SerDeTest() {
-
- override fun objectClass() = AnypointMQChannelBinding::class.java
-
- override fun baseObjectJson() = "/bindings/anypointmq/channel/anypointMQChannelBinding.json"
-
- override fun extendedObjectJson() = "/bindings/anypointmq/channel/anypointMQChannelBinding - extended.json"
-
- override fun wronglyExtendedObjectJson() = "/bindings/anypointmq/channel/anypointMQChannelBinding - wrongly extended.json"
-
- override fun build(): AnypointMQChannelBinding {
- return AnypointMQChannelBinding.builder()
- .destination("user-signup-exchg")
- .destinationType(AnypointMQChannelDestinationType.EXCHANGE)
- .build()
- }
-
-}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/bindings/anypointmq/v0/_0_1/message/AnypointMQMessageBindingTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/bindings/anypointmq/v0/_0_1/message/AnypointMQMessageBindingTest.kt
deleted file mode 100644
index 476f316c..00000000
--- a/asyncapi-core/src/test/kotlin/com/asyncapi/bindings/anypointmq/v0/_0_1/message/AnypointMQMessageBindingTest.kt
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.asyncapi.bindings.anypointmq.v0._0_1.message
-
-import com.asyncapi.v3.SerDeTest
-import com.asyncapi.v3.schema.AsyncAPISchema
-import com.asyncapi.v3.schema.Type
-
-class AnypointMQMessageBindingTest: SerDeTest() {
-
- override fun objectClass() = AnypointMQMessageBinding::class.java
-
- override fun baseObjectJson() = "/bindings/anypointmq/message/anypointMQMessageBinding.json"
-
- override fun extendedObjectJson() = "/bindings/anypointmq/message/anypointMQMessageBinding - extended.json"
-
- override fun wronglyExtendedObjectJson() = "/bindings/anypointmq/message/anypointMQMessageBinding - wrongly extended.json"
-
- override fun build(): AnypointMQMessageBinding {
- return AnypointMQMessageBinding.builder()
- .headers(AsyncAPISchema.builder()
- .type(Type.OBJECT)
- .properties(mapOf(
- Pair(
- "correlationId",
- AsyncAPISchema.builder()
- .type(Type.STRING)
- .description("Correlation ID set by application")
- .build()
- )
- ))
- .build())
- .build()
- }
-
-}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/ChannelItemTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/ChannelItemTest.kt
index 74bcd332..c7798aa1 100644
--- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/ChannelItemTest.kt
+++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/ChannelItemTest.kt
@@ -7,7 +7,7 @@ import com.asyncapi.v2.schema.Schema
import com.asyncapi.bindings.ChannelBinding
import com.asyncapi.bindings.amqp.AMQPV0_2_0Test
import com.asyncapi.bindings.amqp1.v0._1_0.channel.AMQP1ChannelBinding
-import com.asyncapi.bindings.anypointmq.v0._0_1.channel.AnypointMQChannelBindingTest
+import com.asyncapi.bindings.anypointmq.AnypointMQV0_0_1Test
import com.asyncapi.bindings.googlepubsub.v0._1_0.channel.GooglePubSubChannelBindingTest
import com.asyncapi.bindings.http.v0._1_0.channel.HTTPChannelBinding
import com.asyncapi.bindings.ibmmq.v0._1_0.channel.IBMMQChannelBindingTest
@@ -57,7 +57,7 @@ class ChannelItemTest: SerDeTest() {
return mapOf(
Pair("amqp", AMQPV0_2_0Test.channelBinding()),
Pair("amqp1", AMQP1ChannelBinding()),
- Pair("anypointmq", AnypointMQChannelBindingTest().build()),
+ Pair("anypointmq", AnypointMQV0_0_1Test.channelBinding()),
Pair("googlepubsub", GooglePubSubChannelBindingTest().build()),
Pair("http", HTTPChannelBinding()),
Pair("ibmmq", IBMMQChannelBindingTest().build()),
diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/MessageTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/MessageTest.kt
index 1bc03805..5174c8ef 100644
--- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/MessageTest.kt
+++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/MessageTest.kt
@@ -8,7 +8,7 @@ import com.asyncapi.v2.schema.Schema
import com.asyncapi.bindings.MessageBinding
import com.asyncapi.bindings.amqp.AMQPV0_2_0Test
import com.asyncapi.bindings.amqp1.v0._1_0.message.AMQP1MessageBinding
-import com.asyncapi.bindings.anypointmq.v0._0_1.message.AnypointMQMessageBindingTest
+import com.asyncapi.bindings.anypointmq.AnypointMQV0_0_1Test
import com.asyncapi.bindings.googlepubsub.v0._1_0.message.GooglePubSubMessageBindingTest
import com.asyncapi.bindings.http.v0._1_0.message.HTTPMessageBindingTest
import com.asyncapi.bindings.ibmmq.v0._1_0.message.IBMMQMessageBindingTest
@@ -116,7 +116,7 @@ class MessageTest: SerDeTest() {
return mapOf(
Pair("amqp", AMQPV0_2_0Test.messageBinding()),
Pair("amqp1", AMQP1MessageBinding()),
- Pair("anypointmq", AnypointMQMessageBindingTest().build()),
+ Pair("anypointmq", AnypointMQV0_0_1Test.messageBinding()),
Pair("googlepubsub", GooglePubSubMessageBindingTest().build()),
Pair("http", HTTPMessageBindingTest().build()),
Pair("ibmmq", IBMMQMessageBindingTest().build()),
diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/MessageTraitTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/MessageTraitTest.kt
index a6b382cf..77279d9d 100644
--- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/MessageTraitTest.kt
+++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_0_0/model/channel/message/MessageTraitTest.kt
@@ -6,7 +6,7 @@ import com.asyncapi.v2._0_0.model.Tag
import com.asyncapi.v2.schema.Schema
import com.asyncapi.bindings.amqp.AMQPV0_2_0Test
import com.asyncapi.bindings.amqp1.v0._1_0.message.AMQP1MessageBinding
-import com.asyncapi.bindings.anypointmq.v0._0_1.message.AnypointMQMessageBindingTest
+import com.asyncapi.bindings.anypointmq.AnypointMQV0_0_1Test
import com.asyncapi.bindings.googlepubsub.v0._1_0.message.GooglePubSubMessageBindingTest
import com.asyncapi.bindings.http.v0._1_0.message.HTTPMessageBindingTest
import com.asyncapi.bindings.ibmmq.v0._1_0.message.IBMMQMessageBindingTest
@@ -75,7 +75,7 @@ class MessageTraitTest: SerDeTest() {
.bindings(mapOf(
Pair("amqp", AMQPV0_2_0Test.messageBinding()),
Pair("amqp1", AMQP1MessageBinding()),
- Pair("anypointmq", AnypointMQMessageBindingTest().build()),
+ Pair("anypointmq", AnypointMQV0_0_1Test.messageBinding()),
Pair("googlepubsub", GooglePubSubMessageBindingTest().build()),
Pair("http", HTTPMessageBindingTest().build()),
Pair("ibmmq", IBMMQMessageBindingTest().build()),
diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/ChannelItemTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/ChannelItemTest.kt
index 9ad25aad..2c6d2ffd 100644
--- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/ChannelItemTest.kt
+++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/ChannelItemTest.kt
@@ -6,7 +6,7 @@ import com.asyncapi.v2._6_0.model.channel.operation.OperationWithMessageTest
import com.asyncapi.v2._6_0.model.channel.operation.OperationWithOneOfMessageTest
import com.asyncapi.v2.schema.Schema
import com.asyncapi.bindings.amqp.AMQPV0_2_0Test
-import com.asyncapi.bindings.anypointmq.v0._0_1.channel.AnypointMQChannelBindingTest
+import com.asyncapi.bindings.anypointmq.AnypointMQV0_0_1Test
import com.asyncapi.bindings.googlepubsub.v0._1_0.channel.GooglePubSubChannelBindingTest
import com.asyncapi.bindings.ibmmq.v0._1_0.channel.IBMMQChannelBindingTest
import com.asyncapi.bindings.kafka.v0._4_0.channel.KafkaChannelBindingTest
@@ -46,7 +46,7 @@ class ChannelItemTest: SerDeTest() {
return mapOf(
Pair("amqp", AMQPV0_2_0Test.channelBinding()),
Pair("amqp1", Reference("#/components/channelBindings/amqp1")),
- Pair("anypointmq", AnypointMQChannelBindingTest().build()),
+ Pair("anypointmq", AnypointMQV0_0_1Test.channelBinding()),
Pair("googlepubsub", GooglePubSubChannelBindingTest().build()),
Pair("http", Reference("#/components/channelBindings/http")),
Pair("ibmmq", IBMMQChannelBindingTest().build()),
diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTest.kt
index b36c738c..ef15c8f1 100644
--- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTest.kt
+++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTest.kt
@@ -6,7 +6,7 @@ import com.asyncapi.v2._6_0.model.ExternalDocumentation
import com.asyncapi.v2._6_0.model.Tag
import com.asyncapi.v2.schema.Schema
import com.asyncapi.bindings.amqp.AMQPV0_2_0Test
-import com.asyncapi.bindings.anypointmq.v0._0_1.message.AnypointMQMessageBindingTest
+import com.asyncapi.bindings.anypointmq.AnypointMQV0_0_1Test
import com.asyncapi.bindings.googlepubsub.v0._1_0.message.GooglePubSubMessageBindingTest
import com.asyncapi.bindings.http.v0._1_0.message.HTTPMessageBindingTest
import com.asyncapi.bindings.ibmmq.v0._1_0.message.IBMMQMessageBindingTest
@@ -90,7 +90,7 @@ class MessageTest: SerDeTest() {
return mapOf(
Pair("amqp", AMQPV0_2_0Test.messageBinding()),
Pair("amqp1", Reference("#/components/messageBindings/amqp1")),
- Pair("anypointmq", AnypointMQMessageBindingTest().build()),
+ Pair("anypointmq", AnypointMQV0_0_1Test.messageBinding()),
Pair("googlepubsub", GooglePubSubMessageBindingTest().build()),
Pair("http", HTTPMessageBindingTest().build()),
Pair("ibmmq", IBMMQMessageBindingTest().build()),
diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTraitTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTraitTest.kt
index 4a570ef7..8d6576bd 100644
--- a/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTraitTest.kt
+++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v2/_6_0/model/channel/message/MessageTraitTest.kt
@@ -6,7 +6,7 @@ import com.asyncapi.v2._6_0.model.ExternalDocumentation
import com.asyncapi.v2._6_0.model.Tag
import com.asyncapi.v2.schema.Schema
import com.asyncapi.bindings.amqp.AMQPV0_2_0Test
-import com.asyncapi.bindings.anypointmq.v0._0_1.message.AnypointMQMessageBindingTest
+import com.asyncapi.bindings.anypointmq.AnypointMQV0_0_1Test
import com.asyncapi.bindings.googlepubsub.v0._1_0.message.GooglePubSubMessageBindingTest
import com.asyncapi.bindings.http.v0._1_0.message.HTTPMessageBindingTest
import com.asyncapi.bindings.ibmmq.v0._1_0.message.IBMMQMessageBindingTest
@@ -62,7 +62,7 @@ class MessageTraitTest: SerDeTest() {
.bindings(mapOf(
Pair("amqp", AMQPV0_2_0Test.messageBinding()),
Pair("amqp1", Reference("#/components/messageBindings/amqp1")),
- Pair("anypointmq", AnypointMQMessageBindingTest().build()),
+ Pair("anypointmq", AnypointMQV0_0_1Test.messageBinding()),
Pair("googlepubsub", GooglePubSubMessageBindingTest().build()),
Pair("http", HTTPMessageBindingTest().build()),
Pair("ibmmq", IBMMQMessageBindingTest().build()),
diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/ChannelTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/ChannelTest.kt
index 69714add..836a9e2a 100644
--- a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/ChannelTest.kt
+++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/ChannelTest.kt
@@ -9,7 +9,7 @@ import com.asyncapi.v3._0_0.model.channel.message.MessageTestWithMultiFormatSche
import com.asyncapi.v3._0_0.model.channel.message.MessageTestWithReference
import com.asyncapi.v3._0_0.model.channel.message.MessageTestWithSchema
import com.asyncapi.bindings.amqp.AMQPV0_2_0Test
-import com.asyncapi.bindings.anypointmq.v0._0_1.channel.AnypointMQChannelBindingTest
+import com.asyncapi.bindings.anypointmq.AnypointMQV0_0_1Test
import com.asyncapi.bindings.googlepubsub.v0._1_0.channel.GooglePubSubChannelBindingTest
import com.asyncapi.bindings.ibmmq.v0._1_0.channel.IBMMQChannelBindingTest
import com.asyncapi.bindings.kafka.v0._4_0.channel.KafkaChannelBindingTest
@@ -66,7 +66,7 @@ class ChannelTest: SerDeTest() {
return mapOf(
Pair("amqp", AMQPV0_2_0Test.channelBinding()),
Pair("amqp1", Reference("#/components/channelBindings/amqp1")),
- Pair("anypointmq", AnypointMQChannelBindingTest().build()),
+ Pair("anypointmq", AnypointMQV0_0_1Test.channelBinding()),
Pair("googlepubsub", GooglePubSubChannelBindingTest().build()),
Pair("http", Reference("#/components/channelBindings/http")),
Pair("ibmmq", IBMMQChannelBindingTest().build()),
@@ -139,7 +139,7 @@ class ChannelTestWithReference: SerDeTest() {
return mapOf(
Pair("amqp", AMQPV0_2_0Test.channelBinding()),
Pair("amqp1", Reference("#/components/channelBindings/amqp1")),
- Pair("anypointmq", AnypointMQChannelBindingTest().build()),
+ Pair("anypointmq", AnypointMQV0_0_1Test.channelBinding()),
Pair("googlepubsub", GooglePubSubChannelBindingTest().build()),
Pair("http", Reference("#/components/channelBindings/http")),
Pair("ibmmq", IBMMQChannelBindingTest().build()),
diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTest.kt
index 74d57c49..7c1bf465 100644
--- a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTest.kt
+++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTest.kt
@@ -5,7 +5,7 @@ import com.asyncapi.v3.SerDeTest
import com.asyncapi.v3._0_0.model.ExternalDocumentation
import com.asyncapi.v3._0_0.model.Tag
import com.asyncapi.bindings.amqp.AMQPV0_2_0Test
-import com.asyncapi.bindings.anypointmq.v0._0_1.message.AnypointMQMessageBindingTest
+import com.asyncapi.bindings.anypointmq.AnypointMQV0_0_1Test
import com.asyncapi.bindings.googlepubsub.v0._1_0.message.GooglePubSubMessageBindingTest
import com.asyncapi.bindings.http.v0._1_0.message.HTTPMessageBindingTest
import com.asyncapi.bindings.ibmmq.v0._1_0.message.IBMMQMessageBindingTest
@@ -86,7 +86,7 @@ class MessageTestWithSchema: SerDeTest() {
return mapOf(
Pair("amqp", AMQPV0_2_0Test.messageBinding()),
Pair("amqp1", Reference("#/components/messageBindings/amqp1")),
- Pair("anypointmq", AnypointMQMessageBindingTest().build()),
+ Pair("anypointmq", AnypointMQV0_0_1Test.messageBinding()),
Pair("googlepubsub", GooglePubSubMessageBindingTest().build()),
Pair("http", HTTPMessageBindingTest().build()),
Pair("ibmmq", IBMMQMessageBindingTest().build()),
@@ -139,7 +139,7 @@ class MessageTestWithReference: SerDeTest() {
.bindings(mapOf(
Pair("amqp", AMQPV0_2_0Test.messageBinding()),
Pair("amqp1", Reference("#/components/messageBindings/amqp1")),
- Pair("anypointmq", AnypointMQMessageBindingTest().build()),
+ Pair("anypointmq", AnypointMQV0_0_1Test.messageBinding()),
Pair("googlepubsub", GooglePubSubMessageBindingTest().build()),
Pair("http", HTTPMessageBindingTest().build()),
Pair("ibmmq", IBMMQMessageBindingTest().build()),
@@ -229,7 +229,7 @@ class MessageTestWithMultiFormatSchema: SerDeTest() {
.bindings(mapOf(
Pair("amqp", AMQPV0_2_0Test.messageBinding()),
Pair("amqp1", Reference("#/components/messageBindings/amqp1")),
- Pair("anypointmq", AnypointMQMessageBindingTest().build()),
+ Pair("anypointmq", AnypointMQV0_0_1Test.messageBinding()),
Pair("googlepubsub", GooglePubSubMessageBindingTest().build()),
Pair("http", HTTPMessageBindingTest().build()),
Pair("ibmmq", IBMMQMessageBindingTest().build()),
diff --git a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTraitTest.kt b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTraitTest.kt
index 7afb32c1..83c572b7 100644
--- a/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTraitTest.kt
+++ b/asyncapi-core/src/test/kotlin/com/asyncapi/v3/_0_0/model/channel/message/MessageTraitTest.kt
@@ -6,7 +6,7 @@ import com.asyncapi.v3._0_0.model.ExternalDocumentation
import com.asyncapi.v3._0_0.model.Tag
import com.asyncapi.v3.schema.AsyncAPISchema
import com.asyncapi.bindings.amqp.AMQPV0_2_0Test
-import com.asyncapi.bindings.anypointmq.v0._0_1.message.AnypointMQMessageBindingTest
+import com.asyncapi.bindings.anypointmq.AnypointMQV0_0_1Test
import com.asyncapi.bindings.googlepubsub.v0._1_0.message.GooglePubSubMessageBindingTest
import com.asyncapi.bindings.http.v0._1_0.message.HTTPMessageBindingTest
import com.asyncapi.bindings.ibmmq.v0._1_0.message.IBMMQMessageBindingTest
@@ -61,7 +61,7 @@ class MessageTraitTestWithSchema: SerDeTest() {
.bindings(mapOf(
Pair("amqp", AMQPV0_2_0Test.messageBinding()),
Pair("amqp1", Reference("#/components/messageBindings/amqp1")),
- Pair("anypointmq", AnypointMQMessageBindingTest().build()),
+ Pair("anypointmq", AnypointMQV0_0_1Test.messageBinding()),
Pair("googlepubsub", GooglePubSubMessageBindingTest().build()),
Pair("http", HTTPMessageBindingTest().build()),
Pair("ibmmq", IBMMQMessageBindingTest().build()),
@@ -116,7 +116,7 @@ class MessageTraitTestWithReference: SerDeTest() {
.bindings(mapOf(
Pair("amqp", AMQPV0_2_0Test.messageBinding()),
Pair("amqp1", Reference("#/components/messageBindings/amqp1")),
- Pair("anypointmq", AnypointMQMessageBindingTest().build()),
+ Pair("anypointmq", AnypointMQV0_0_1Test.messageBinding()),
Pair("googlepubsub", GooglePubSubMessageBindingTest().build()),
Pair("http", HTTPMessageBindingTest().build()),
Pair("ibmmq", IBMMQMessageBindingTest().build()),
@@ -188,7 +188,7 @@ class MessageTraitTestWithMultiFormatSchema: SerDeTest() {
.bindings(mapOf(
Pair("amqp", AMQPV0_2_0Test.messageBinding()),
Pair("amqp1", Reference("#/components/messageBindings/amqp1")),
- Pair("anypointmq", AnypointMQMessageBindingTest().build()),
+ Pair("anypointmq", AnypointMQV0_0_1Test.messageBinding()),
Pair("googlepubsub", GooglePubSubMessageBindingTest().build()),
Pair("http", HTTPMessageBindingTest().build()),
Pair("ibmmq", IBMMQMessageBindingTest().build()),
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/channel/anypointMQChannelBinding - extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/channel/binding - extended.json
similarity index 100%
rename from asyncapi-core/src/test/resources/bindings/anypointmq/channel/anypointMQChannelBinding - extended.json
rename to asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/channel/binding - extended.json
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/channel/anypointMQChannelBinding - wrongly extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/channel/binding - wrongly extended.json
similarity index 100%
rename from asyncapi-core/src/test/resources/bindings/anypointmq/channel/anypointMQChannelBinding - wrongly extended.json
rename to asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/channel/binding - wrongly extended.json
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/channel/anypointMQChannelBinding.json b/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/channel/binding.json
similarity index 100%
rename from asyncapi-core/src/test/resources/bindings/anypointmq/channel/anypointMQChannelBinding.json
rename to asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/channel/binding.json
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/message/anypointMQMessageBinding - extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/message/binding - extended.json
similarity index 100%
rename from asyncapi-core/src/test/resources/bindings/anypointmq/message/anypointMQMessageBinding - extended.json
rename to asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/message/binding - extended.json
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/message/anypointMQMessageBinding - wrongly extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/message/binding - wrongly extended.json
similarity index 100%
rename from asyncapi-core/src/test/resources/bindings/anypointmq/message/anypointMQMessageBinding - wrongly extended.json
rename to asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/message/binding - wrongly extended.json
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/message/anypointMQMessageBinding.json b/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/message/binding.json
similarity index 100%
rename from asyncapi-core/src/test/resources/bindings/anypointmq/message/anypointMQMessageBinding.json
rename to asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/message/binding.json
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/operation/binding - extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/operation/binding - extended.json
new file mode 100644
index 00000000..de3a5262
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/operation/binding - extended.json
@@ -0,0 +1,8 @@
+{
+ "bindingVersion" : "0.0.1",
+ "x-number" : 0,
+ "x-string" : "",
+ "x-object" : {
+ "property" : { }
+ }
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/operation/binding - wrongly extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/operation/binding - wrongly extended.json
new file mode 100644
index 00000000..e060a0ea
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/operation/binding - wrongly extended.json
@@ -0,0 +1,9 @@
+{
+ "bindingVersion": "0.0.1",
+ "x-number": 0,
+ "x-string": "",
+ "x-object": {
+ "property": {}
+ },
+ "ext-number": 1
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/operation/binding.json b/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/operation/binding.json
new file mode 100644
index 00000000..be81020d
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/operation/binding.json
@@ -0,0 +1,3 @@
+{
+ "bindingVersion": "0.0.1"
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/server/binding - extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/server/binding - extended.json
new file mode 100644
index 00000000..de3a5262
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/server/binding - extended.json
@@ -0,0 +1,8 @@
+{
+ "bindingVersion" : "0.0.1",
+ "x-number" : 0,
+ "x-string" : "",
+ "x-object" : {
+ "property" : { }
+ }
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/server/binding - wrongly extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/server/binding - wrongly extended.json
new file mode 100644
index 00000000..e060a0ea
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/server/binding - wrongly extended.json
@@ -0,0 +1,9 @@
+{
+ "bindingVersion": "0.0.1",
+ "x-number": 0,
+ "x-string": "",
+ "x-object": {
+ "property": {}
+ },
+ "ext-number": 1
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/server/binding.json b/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/server/binding.json
new file mode 100644
index 00000000..be81020d
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/0.0.1/server/binding.json
@@ -0,0 +1,3 @@
+{
+ "bindingVersion": "0.0.1"
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/latest/channel/binding - extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/latest/channel/binding - extended.json
new file mode 100644
index 00000000..41b3abd8
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/latest/channel/binding - extended.json
@@ -0,0 +1,10 @@
+{
+ "bindingVersion" : "0.0.1",
+ "destination" : "user-signup-exchg",
+ "destinationType" : "exchange",
+ "x-number" : 0,
+ "x-string" : "",
+ "x-object" : {
+ "property" : { }
+ }
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/latest/channel/binding - wrongly extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/latest/channel/binding - wrongly extended.json
new file mode 100644
index 00000000..da7576ee
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/latest/channel/binding - wrongly extended.json
@@ -0,0 +1,11 @@
+{
+ "destination": "user-signup-exchg",
+ "destinationType": "exchange",
+ "bindingVersion": "latest",
+ "x-number": 0,
+ "x-string": "",
+ "x-object": {
+ "property": {}
+ },
+ "ext-number": 1
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/latest/channel/binding.json b/asyncapi-core/src/test/resources/bindings/anypointmq/latest/channel/binding.json
new file mode 100644
index 00000000..e51a884e
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/latest/channel/binding.json
@@ -0,0 +1,5 @@
+{
+ "destination": "user-signup-exchg",
+ "destinationType": "exchange",
+ "bindingVersion": "latest"
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/latest/message/binding - extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/latest/message/binding - extended.json
new file mode 100644
index 00000000..8ea89356
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/latest/message/binding - extended.json
@@ -0,0 +1,17 @@
+{
+ "bindingVersion" : "0.0.1",
+ "headers" : {
+ "type" : "object",
+ "properties" : {
+ "correlationId" : {
+ "type" : "string",
+ "description" : "Correlation ID set by application"
+ }
+ }
+ },
+ "x-number" : 0,
+ "x-string" : "",
+ "x-object" : {
+ "property" : { }
+ }
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/latest/message/binding - wrongly extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/latest/message/binding - wrongly extended.json
new file mode 100644
index 00000000..017374e0
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/latest/message/binding - wrongly extended.json
@@ -0,0 +1,18 @@
+{
+ "headers": {
+ "type": "object",
+ "properties": {
+ "correlationId": {
+ "description": "Correlation ID set by application",
+ "type": "string"
+ }
+ }
+ },
+ "bindingVersion": "latest",
+ "x-number": 0,
+ "x-string": "",
+ "x-object": {
+ "property": {}
+ },
+ "ext-number": 1
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/latest/message/binding.json b/asyncapi-core/src/test/resources/bindings/anypointmq/latest/message/binding.json
new file mode 100644
index 00000000..22ec5c25
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/latest/message/binding.json
@@ -0,0 +1,12 @@
+{
+ "headers": {
+ "type": "object",
+ "properties": {
+ "correlationId": {
+ "description": "Correlation ID set by application",
+ "type": "string"
+ }
+ }
+ },
+ "bindingVersion": "latest"
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/latest/operation/binding - extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/latest/operation/binding - extended.json
new file mode 100644
index 00000000..de3a5262
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/latest/operation/binding - extended.json
@@ -0,0 +1,8 @@
+{
+ "bindingVersion" : "0.0.1",
+ "x-number" : 0,
+ "x-string" : "",
+ "x-object" : {
+ "property" : { }
+ }
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/websockets/latest/message/webSocketsMessageBinding - wrongly extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/latest/operation/binding - wrongly extended.json
similarity index 100%
rename from asyncapi-core/src/test/resources/bindings/websockets/latest/message/webSocketsMessageBinding - wrongly extended.json
rename to asyncapi-core/src/test/resources/bindings/anypointmq/latest/operation/binding - wrongly extended.json
diff --git a/asyncapi-core/src/test/resources/bindings/websockets/latest/message/webSocketsMessageBinding.json b/asyncapi-core/src/test/resources/bindings/anypointmq/latest/operation/binding.json
similarity index 100%
rename from asyncapi-core/src/test/resources/bindings/websockets/latest/message/webSocketsMessageBinding.json
rename to asyncapi-core/src/test/resources/bindings/anypointmq/latest/operation/binding.json
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/latest/server/binding - extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/latest/server/binding - extended.json
new file mode 100644
index 00000000..de3a5262
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/latest/server/binding - extended.json
@@ -0,0 +1,8 @@
+{
+ "bindingVersion" : "0.0.1",
+ "x-number" : 0,
+ "x-string" : "",
+ "x-object" : {
+ "property" : { }
+ }
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/websockets/latest/operation/webSocketsOperationBinding - wrongly extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/latest/server/binding - wrongly extended.json
similarity index 100%
rename from asyncapi-core/src/test/resources/bindings/websockets/latest/operation/webSocketsOperationBinding - wrongly extended.json
rename to asyncapi-core/src/test/resources/bindings/anypointmq/latest/server/binding - wrongly extended.json
diff --git a/asyncapi-core/src/test/resources/bindings/websockets/latest/operation/webSocketsOperationBinding.json b/asyncapi-core/src/test/resources/bindings/anypointmq/latest/server/binding.json
similarity index 100%
rename from asyncapi-core/src/test/resources/bindings/websockets/latest/operation/webSocketsOperationBinding.json
rename to asyncapi-core/src/test/resources/bindings/anypointmq/latest/server/binding.json
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/channel/binding - extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/channel/binding - extended.json
new file mode 100644
index 00000000..41b3abd8
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/channel/binding - extended.json
@@ -0,0 +1,10 @@
+{
+ "bindingVersion" : "0.0.1",
+ "destination" : "user-signup-exchg",
+ "destinationType" : "exchange",
+ "x-number" : 0,
+ "x-string" : "",
+ "x-object" : {
+ "property" : { }
+ }
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/channel/binding - wrongly extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/channel/binding - wrongly extended.json
new file mode 100644
index 00000000..ff3d9383
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/channel/binding - wrongly extended.json
@@ -0,0 +1,11 @@
+{
+ "destination": "user-signup-exchg",
+ "destinationType": "exchange",
+ "bindingVersion": "0.996.0",
+ "x-number": 0,
+ "x-string": "",
+ "x-object": {
+ "property": {}
+ },
+ "ext-number": 1
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/channel/binding.json b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/channel/binding.json
new file mode 100644
index 00000000..c726ed72
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/channel/binding.json
@@ -0,0 +1,5 @@
+{
+ "destination": "user-signup-exchg",
+ "destinationType": "exchange",
+ "bindingVersion": "0.996.0"
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/message/binding - extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/message/binding - extended.json
new file mode 100644
index 00000000..8ea89356
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/message/binding - extended.json
@@ -0,0 +1,17 @@
+{
+ "bindingVersion" : "0.0.1",
+ "headers" : {
+ "type" : "object",
+ "properties" : {
+ "correlationId" : {
+ "type" : "string",
+ "description" : "Correlation ID set by application"
+ }
+ }
+ },
+ "x-number" : 0,
+ "x-string" : "",
+ "x-object" : {
+ "property" : { }
+ }
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/message/binding - wrongly extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/message/binding - wrongly extended.json
new file mode 100644
index 00000000..b98053b4
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/message/binding - wrongly extended.json
@@ -0,0 +1,18 @@
+{
+ "headers": {
+ "type": "object",
+ "properties": {
+ "correlationId": {
+ "description": "Correlation ID set by application",
+ "type": "string"
+ }
+ }
+ },
+ "bindingVersion": "0.996.0",
+ "x-number": 0,
+ "x-string": "",
+ "x-object": {
+ "property": {}
+ },
+ "ext-number": 1
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/message/binding.json b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/message/binding.json
new file mode 100644
index 00000000..217e1d59
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/message/binding.json
@@ -0,0 +1,12 @@
+{
+ "headers": {
+ "type": "object",
+ "properties": {
+ "correlationId": {
+ "description": "Correlation ID set by application",
+ "type": "string"
+ }
+ }
+ },
+ "bindingVersion": "0.996.0"
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/operation/binding - extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/operation/binding - extended.json
new file mode 100644
index 00000000..de3a5262
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/operation/binding - extended.json
@@ -0,0 +1,8 @@
+{
+ "bindingVersion" : "0.0.1",
+ "x-number" : 0,
+ "x-string" : "",
+ "x-object" : {
+ "property" : { }
+ }
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/operation/binding - wrongly extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/operation/binding - wrongly extended.json
new file mode 100644
index 00000000..4355627d
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/operation/binding - wrongly extended.json
@@ -0,0 +1,9 @@
+{
+ "bindingVersion": "0.996.0",
+ "x-number": 0,
+ "x-string": "",
+ "x-object": {
+ "property": {}
+ },
+ "ext-number": 1
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/operation/binding.json b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/operation/binding.json
new file mode 100644
index 00000000..3bca743e
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/operation/binding.json
@@ -0,0 +1,3 @@
+{
+ "bindingVersion": "0.996.0"
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/server/binding - extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/server/binding - extended.json
new file mode 100644
index 00000000..de3a5262
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/server/binding - extended.json
@@ -0,0 +1,8 @@
+{
+ "bindingVersion" : "0.0.1",
+ "x-number" : 0,
+ "x-string" : "",
+ "x-object" : {
+ "property" : { }
+ }
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/server/binding - wrongly extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/server/binding - wrongly extended.json
new file mode 100644
index 00000000..4355627d
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/server/binding - wrongly extended.json
@@ -0,0 +1,9 @@
+{
+ "bindingVersion": "0.996.0",
+ "x-number": 0,
+ "x-string": "",
+ "x-object": {
+ "property": {}
+ },
+ "ext-number": 1
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/server/binding.json b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/server/binding.json
new file mode 100644
index 00000000..3bca743e
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/unknown version/server/binding.json
@@ -0,0 +1,3 @@
+{
+ "bindingVersion": "0.996.0"
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/without version/channel/binding - extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/without version/channel/binding - extended.json
new file mode 100644
index 00000000..41b3abd8
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/without version/channel/binding - extended.json
@@ -0,0 +1,10 @@
+{
+ "bindingVersion" : "0.0.1",
+ "destination" : "user-signup-exchg",
+ "destinationType" : "exchange",
+ "x-number" : 0,
+ "x-string" : "",
+ "x-object" : {
+ "property" : { }
+ }
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/without version/channel/binding - wrongly extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/without version/channel/binding - wrongly extended.json
new file mode 100644
index 00000000..c9232e82
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/without version/channel/binding - wrongly extended.json
@@ -0,0 +1,10 @@
+{
+ "destination": "user-signup-exchg",
+ "destinationType": "exchange",
+ "x-number": 0,
+ "x-string": "",
+ "x-object": {
+ "property": {}
+ },
+ "ext-number": 1
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/without version/channel/binding.json b/asyncapi-core/src/test/resources/bindings/anypointmq/without version/channel/binding.json
new file mode 100644
index 00000000..05d00e61
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/without version/channel/binding.json
@@ -0,0 +1,4 @@
+{
+ "destination": "user-signup-exchg",
+ "destinationType": "exchange"
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/without version/message/binding - extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/without version/message/binding - extended.json
new file mode 100644
index 00000000..8ea89356
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/without version/message/binding - extended.json
@@ -0,0 +1,17 @@
+{
+ "bindingVersion" : "0.0.1",
+ "headers" : {
+ "type" : "object",
+ "properties" : {
+ "correlationId" : {
+ "type" : "string",
+ "description" : "Correlation ID set by application"
+ }
+ }
+ },
+ "x-number" : 0,
+ "x-string" : "",
+ "x-object" : {
+ "property" : { }
+ }
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/without version/message/binding - wrongly extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/without version/message/binding - wrongly extended.json
new file mode 100644
index 00000000..138d4693
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/without version/message/binding - wrongly extended.json
@@ -0,0 +1,17 @@
+{
+ "headers": {
+ "type": "object",
+ "properties": {
+ "correlationId": {
+ "description": "Correlation ID set by application",
+ "type": "string"
+ }
+ }
+ },
+ "x-number": 0,
+ "x-string": "",
+ "x-object": {
+ "property": {}
+ },
+ "ext-number": 1
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/without version/message/binding.json b/asyncapi-core/src/test/resources/bindings/anypointmq/without version/message/binding.json
new file mode 100644
index 00000000..ac13a7cb
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/without version/message/binding.json
@@ -0,0 +1,11 @@
+{
+ "headers": {
+ "type": "object",
+ "properties": {
+ "correlationId": {
+ "description": "Correlation ID set by application",
+ "type": "string"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/without version/operation/binding - extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/without version/operation/binding - extended.json
new file mode 100644
index 00000000..de3a5262
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/without version/operation/binding - extended.json
@@ -0,0 +1,8 @@
+{
+ "bindingVersion" : "0.0.1",
+ "x-number" : 0,
+ "x-string" : "",
+ "x-object" : {
+ "property" : { }
+ }
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/websockets/without version/message/webSocketsMessageBinding - wrongly extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/without version/operation/binding - wrongly extended.json
similarity index 100%
rename from asyncapi-core/src/test/resources/bindings/websockets/without version/message/webSocketsMessageBinding - wrongly extended.json
rename to asyncapi-core/src/test/resources/bindings/anypointmq/without version/operation/binding - wrongly extended.json
diff --git a/asyncapi-core/src/test/resources/bindings/websockets/without version/message/webSocketsMessageBinding.json b/asyncapi-core/src/test/resources/bindings/anypointmq/without version/operation/binding.json
similarity index 100%
rename from asyncapi-core/src/test/resources/bindings/websockets/without version/message/webSocketsMessageBinding.json
rename to asyncapi-core/src/test/resources/bindings/anypointmq/without version/operation/binding.json
diff --git a/asyncapi-core/src/test/resources/bindings/anypointmq/without version/server/binding - extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/without version/server/binding - extended.json
new file mode 100644
index 00000000..de3a5262
--- /dev/null
+++ b/asyncapi-core/src/test/resources/bindings/anypointmq/without version/server/binding - extended.json
@@ -0,0 +1,8 @@
+{
+ "bindingVersion" : "0.0.1",
+ "x-number" : 0,
+ "x-string" : "",
+ "x-object" : {
+ "property" : { }
+ }
+}
\ No newline at end of file
diff --git a/asyncapi-core/src/test/resources/bindings/websockets/without version/operation/webSocketsOperationBinding - wrongly extended.json b/asyncapi-core/src/test/resources/bindings/anypointmq/without version/server/binding - wrongly extended.json
similarity index 100%
rename from asyncapi-core/src/test/resources/bindings/websockets/without version/operation/webSocketsOperationBinding - wrongly extended.json
rename to asyncapi-core/src/test/resources/bindings/anypointmq/without version/server/binding - wrongly extended.json
diff --git a/asyncapi-core/src/test/resources/bindings/websockets/without version/operation/webSocketsOperationBinding.json b/asyncapi-core/src/test/resources/bindings/anypointmq/without version/server/binding.json
similarity index 100%
rename from asyncapi-core/src/test/resources/bindings/websockets/without version/operation/webSocketsOperationBinding.json
rename to asyncapi-core/src/test/resources/bindings/anypointmq/without version/server/binding.json