You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by nf...@apache.org on 2021/05/14 14:45:34 UTC
[camel] 07/08: Change jackson dataformat tests to use core model
This is an automated email from the ASF dual-hosted git repository.
nferraro pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
commit e9f19728ff96df2adabd2ba96105e2beb310f4eb
Author: nicolaferraro <ni...@gmail.com>
AuthorDate: Fri May 14 14:03:23 2021 +0200
Change jackson dataformat tests to use core model
---
...est.java => JacksonAvroLookupResolverTest.java} | 19 +++++++++--------
.../JacksonAvroMarshalUnmarshalJsonNodeTest.java | 10 +++------
.../avro/JacksonAvroMarshalUnmarshalPojoTest.java | 10 +++------
...java => JacksonProtobufLookupResolverTest.java} | 20 ++++++++++--------
...acksonProtobufMarshalUnmarshalJsonNodeTest.java | 10 +++------
.../JacksonProtobufMarshalUnmarshalPojoTest.java | 10 +++------
.../org/apache/camel/builder/DataFormatClause.java | 24 +++++++++++++++++++++-
7 files changed, 58 insertions(+), 45 deletions(-)
diff --git a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalPojoTest.java b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroLookupResolverTest.java
similarity index 82%
copy from components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalPojoTest.java
copy to components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroLookupResolverTest.java
index 53326bc..2b9aba0 100644
--- a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalPojoTest.java
+++ b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroLookupResolverTest.java
@@ -18,10 +18,11 @@ package org.apache.camel.component.jackson.avro;
import com.fasterxml.jackson.dataformat.avro.AvroSchema;
import org.apache.avro.Schema;
+import org.apache.camel.RuntimeCamelException;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.jackson.SchemaResolver;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.spi.DataFormat;
+import org.apache.camel.model.dataformat.AvroLibrary;
import org.apache.camel.spi.Registry;
import org.apache.camel.test.junit5.CamelTestSupport;
import org.junit.jupiter.api.Test;
@@ -29,7 +30,7 @@ import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
-public class JacksonAvroMarshalUnmarshalPojoTest extends CamelTestSupport {
+public class JacksonAvroLookupResolverTest extends CamelTestSupport {
@Test
public void testMarshalUnmarshalPojo() throws Exception {
@@ -69,11 +70,12 @@ public class JacksonAvroMarshalUnmarshalPojoTest extends CamelTestSupport {
Schema raw = new Schema.Parser().setValidate(true).parse(SCHEMA_JSON);
AvroSchema schema = new AvroSchema(raw);
SchemaResolver resolver = ex -> schema;
- registry.bind("schema-resolver", SchemaResolver.class, resolver);
+ registry.bind("schema-resolver-1", SchemaResolver.class, resolver);
- JacksonAvroDataFormat df = new JacksonAvroDataFormat();
- df.setUnmarshalType(Pojo.class);
- registry.bind("custom-df", DataFormat.class, df);
+ SchemaResolver resolver2 = ex -> {
+ throw new RuntimeCamelException();
+ };
+ registry.bind("schema-resolver-2", SchemaResolver.class, resolver2);
}
@Override
@@ -81,8 +83,9 @@ public class JacksonAvroMarshalUnmarshalPojoTest extends CamelTestSupport {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- from("direct:serialized").unmarshal().custom("custom-df").to("mock:pojo");
- from("direct:pojo").marshal().custom("custom-df").to("mock:serialized");
+ from("direct:serialized").unmarshal().avro(AvroLibrary.Jackson, Pojo.class, "schema-resolver-1")
+ .to("mock:pojo");
+ from("direct:pojo").marshal().avro(AvroLibrary.Jackson, Pojo.class, "schema-resolver-1").to("mock:serialized");
}
};
}
diff --git a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalJsonNodeTest.java b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalJsonNodeTest.java
index e863a8e..e372a2b 100644
--- a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalJsonNodeTest.java
+++ b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalJsonNodeTest.java
@@ -25,7 +25,7 @@ import org.apache.avro.Schema;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.jackson.SchemaResolver;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.spi.DataFormat;
+import org.apache.camel.model.dataformat.AvroLibrary;
import org.apache.camel.spi.Registry;
import org.apache.camel.test.junit5.CamelTestSupport;
import org.junit.jupiter.api.Test;
@@ -129,10 +129,6 @@ public class JacksonAvroMarshalUnmarshalJsonNodeTest extends CamelTestSupport {
return schema;
};
registry.bind("schema-resolver", SchemaResolver.class, resolver);
-
- JacksonAvroDataFormat df = new JacksonAvroDataFormat();
- df.setUnmarshalType(JsonNode.class);
- registry.bind("custom-df", DataFormat.class, df);
}
@Override
@@ -140,8 +136,8 @@ public class JacksonAvroMarshalUnmarshalJsonNodeTest extends CamelTestSupport {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- from("direct:serialized").unmarshal().custom("custom-df").to("mock:pojo");
- from("direct:pojo").marshal().custom("custom-df").to("mock:serialized");
+ from("direct:serialized").unmarshal().avro(AvroLibrary.Jackson, JsonNode.class).to("mock:pojo");
+ from("direct:pojo").marshal().avro(AvroLibrary.Jackson).to("mock:serialized");
}
};
}
diff --git a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalPojoTest.java b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalPojoTest.java
index 53326bc..a9b2891 100644
--- a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalPojoTest.java
+++ b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/JacksonAvroMarshalUnmarshalPojoTest.java
@@ -21,7 +21,7 @@ import org.apache.avro.Schema;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.jackson.SchemaResolver;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.spi.DataFormat;
+import org.apache.camel.model.dataformat.AvroLibrary;
import org.apache.camel.spi.Registry;
import org.apache.camel.test.junit5.CamelTestSupport;
import org.junit.jupiter.api.Test;
@@ -70,10 +70,6 @@ public class JacksonAvroMarshalUnmarshalPojoTest extends CamelTestSupport {
AvroSchema schema = new AvroSchema(raw);
SchemaResolver resolver = ex -> schema;
registry.bind("schema-resolver", SchemaResolver.class, resolver);
-
- JacksonAvroDataFormat df = new JacksonAvroDataFormat();
- df.setUnmarshalType(Pojo.class);
- registry.bind("custom-df", DataFormat.class, df);
}
@Override
@@ -81,8 +77,8 @@ public class JacksonAvroMarshalUnmarshalPojoTest extends CamelTestSupport {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- from("direct:serialized").unmarshal().custom("custom-df").to("mock:pojo");
- from("direct:pojo").marshal().custom("custom-df").to("mock:serialized");
+ from("direct:serialized").unmarshal().avro(AvroLibrary.Jackson, Pojo.class).to("mock:pojo");
+ from("direct:pojo").marshal().avro(AvroLibrary.Jackson).to("mock:serialized");
}
};
}
diff --git a/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufMarshalUnmarshalPojoTest.java b/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufLookupResolverTest.java
similarity index 81%
copy from components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufMarshalUnmarshalPojoTest.java
copy to components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufLookupResolverTest.java
index 5213989..9bf57af 100644
--- a/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufMarshalUnmarshalPojoTest.java
+++ b/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufLookupResolverTest.java
@@ -18,10 +18,11 @@ package org.apache.camel.component.jackson.protobuf;
import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchema;
import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchemaLoader;
+import org.apache.camel.RuntimeCamelException;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.jackson.SchemaResolver;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.spi.DataFormat;
+import org.apache.camel.model.dataformat.ProtobufLibrary;
import org.apache.camel.spi.Registry;
import org.apache.camel.test.junit5.CamelTestSupport;
import org.junit.jupiter.api.Test;
@@ -29,7 +30,7 @@ import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
-public class JacksonProtobufMarshalUnmarshalPojoTest extends CamelTestSupport {
+public class JacksonProtobufLookupResolverTest extends CamelTestSupport {
@Test
public void testMarshalUnmarshalPojo() throws Exception {
@@ -65,11 +66,12 @@ public class JacksonProtobufMarshalUnmarshalPojoTest extends CamelTestSupport {
+ "}\n";
ProtobufSchema schema = ProtobufSchemaLoader.std.parse(protobuf_str);
SchemaResolver resolver = ex -> schema;
- registry.bind("schema-resolver", SchemaResolver.class, resolver);
+ registry.bind("schema-resolver-1", SchemaResolver.class, resolver);
- JacksonProtobufDataFormat df = new JacksonProtobufDataFormat();
- df.setUnmarshalType(Pojo.class);
- registry.bind("custom-df", DataFormat.class, df);
+ SchemaResolver resolver2 = ex -> {
+ throw new RuntimeCamelException();
+ };
+ registry.bind("schema-resolver-2", SchemaResolver.class, resolver2);
}
@Override
@@ -77,8 +79,10 @@ public class JacksonProtobufMarshalUnmarshalPojoTest extends CamelTestSupport {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- from("direct:serialized").unmarshal().custom("custom-df").to("mock:pojo");
- from("direct:pojo").marshal().custom("custom-df").to("mock:serialized");
+ from("direct:serialized").unmarshal().protobuf(ProtobufLibrary.Jackson, Pojo.class, "schema-resolver-1")
+ .to("mock:pojo");
+ from("direct:pojo").marshal().protobuf(ProtobufLibrary.Jackson, Pojo.class, "schema-resolver-1")
+ .to("mock:serialized");
}
};
}
diff --git a/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufMarshalUnmarshalJsonNodeTest.java b/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufMarshalUnmarshalJsonNodeTest.java
index b896f7a..6c7ab62 100644
--- a/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufMarshalUnmarshalJsonNodeTest.java
+++ b/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufMarshalUnmarshalJsonNodeTest.java
@@ -22,7 +22,7 @@ import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchemaLoader;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.jackson.SchemaResolver;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.spi.DataFormat;
+import org.apache.camel.model.dataformat.ProtobufLibrary;
import org.apache.camel.spi.Registry;
import org.apache.camel.test.junit5.CamelTestSupport;
import org.junit.jupiter.api.Test;
@@ -67,10 +67,6 @@ public class JacksonProtobufMarshalUnmarshalJsonNodeTest extends CamelTestSuppor
ProtobufSchema schema = ProtobufSchemaLoader.std.parse(protobuf_str);
SchemaResolver resolver = ex -> schema;
registry.bind("schema-resolver", SchemaResolver.class, resolver);
-
- JacksonProtobufDataFormat df = new JacksonProtobufDataFormat();
- df.setUnmarshalType(JsonNode.class);
- registry.bind("custom-df", DataFormat.class, df);
}
@Override
@@ -78,8 +74,8 @@ public class JacksonProtobufMarshalUnmarshalJsonNodeTest extends CamelTestSuppor
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- from("direct:serialized").unmarshal().custom("custom-df").to("mock:pojo");
- from("direct:pojo").marshal().custom("custom-df").to("mock:serialized");
+ from("direct:serialized").unmarshal().protobuf(ProtobufLibrary.Jackson, JsonNode.class).to("mock:pojo");
+ from("direct:pojo").marshal().protobuf(ProtobufLibrary.Jackson).to("mock:serialized");
}
};
}
diff --git a/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufMarshalUnmarshalPojoTest.java b/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufMarshalUnmarshalPojoTest.java
index 5213989..40f387b 100644
--- a/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufMarshalUnmarshalPojoTest.java
+++ b/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/JacksonProtobufMarshalUnmarshalPojoTest.java
@@ -21,7 +21,7 @@ import com.fasterxml.jackson.dataformat.protobuf.schema.ProtobufSchemaLoader;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.jackson.SchemaResolver;
import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.spi.DataFormat;
+import org.apache.camel.model.dataformat.ProtobufLibrary;
import org.apache.camel.spi.Registry;
import org.apache.camel.test.junit5.CamelTestSupport;
import org.junit.jupiter.api.Test;
@@ -66,10 +66,6 @@ public class JacksonProtobufMarshalUnmarshalPojoTest extends CamelTestSupport {
ProtobufSchema schema = ProtobufSchemaLoader.std.parse(protobuf_str);
SchemaResolver resolver = ex -> schema;
registry.bind("schema-resolver", SchemaResolver.class, resolver);
-
- JacksonProtobufDataFormat df = new JacksonProtobufDataFormat();
- df.setUnmarshalType(Pojo.class);
- registry.bind("custom-df", DataFormat.class, df);
}
@Override
@@ -77,8 +73,8 @@ public class JacksonProtobufMarshalUnmarshalPojoTest extends CamelTestSupport {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- from("direct:serialized").unmarshal().custom("custom-df").to("mock:pojo");
- from("direct:pojo").marshal().custom("custom-df").to("mock:serialized");
+ from("direct:serialized").unmarshal().protobuf(ProtobufLibrary.Jackson, Pojo.class).to("mock:pojo");
+ from("direct:pojo").marshal().protobuf(ProtobufLibrary.Jackson).to("mock:serialized");
}
};
}
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/DataFormatClause.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/DataFormatClause.java
index d8f5abb..4c174da 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/builder/DataFormatClause.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/DataFormatClause.java
@@ -150,6 +150,17 @@ public class DataFormatClause<T extends ProcessorDefinition<?>> {
}
/**
+ * Uses the Avro data format with given library, unmarshalType and schemaResolver
+ */
+ public T avro(AvroLibrary library, Class<?> unmarshalType, String schemaResolver) {
+ AvroDataFormat avroDataFormat = new AvroDataFormat();
+ avroDataFormat.setLibrary(library);
+ avroDataFormat.setUnmarshalType(unmarshalType);
+ avroDataFormat.setSchemaResolver(schemaResolver);
+ return dataFormat(avroDataFormat);
+ }
+
+ /**
* Uses the base64 data format
*/
public T base64() {
@@ -766,10 +777,21 @@ public class DataFormatClause<T extends ProcessorDefinition<?>> {
/**
* Uses the Protobuf data format with given library and unmarshalType
*/
- public T protobufJackson(ProtobufLibrary library, Class<?> unmarshalType) {
+ public T protobuf(ProtobufLibrary library, Class<?> unmarshalType) {
+ ProtobufDataFormat protobufDataFormat = new ProtobufDataFormat();
+ protobufDataFormat.setLibrary(library);
+ protobufDataFormat.setUnmarshalType(unmarshalType);
+ return dataFormat(protobufDataFormat);
+ }
+
+ /**
+ * Uses the Protobuf data format with given library, unmarshalType and schemaResolver
+ */
+ public T protobuf(ProtobufLibrary library, Class<?> unmarshalType, String schemaResolver) {
ProtobufDataFormat protobufDataFormat = new ProtobufDataFormat();
protobufDataFormat.setLibrary(library);
protobufDataFormat.setUnmarshalType(unmarshalType);
+ protobufDataFormat.setSchemaResolver(schemaResolver);
return dataFormat(protobufDataFormat);
}