klam-shop commented on code in PR #108:
URL: 
https://github.com/apache/flink-connector-kafka/pull/108#discussion_r1678222384


##########
flink-connector-kafka/src/test/java/org/apache/flink/connector/kafka/source/KafkaSourceBuilderTest.java:
##########
@@ -191,6 +193,72 @@ public void testSettingCustomKafkaSubscriber() {
                         "Cannot use partitions for consumption because a 
ExampleCustomSubscriber is already set for consumption.");
     }
 
+    @Test
+    public void testSettingCustomKeyDeserializer() {
+        final String keyDeserializer = 
TestByteArrayDeserializer.class.getName();
+        final KafkaSource<String> kafkaSource = 
getBasicBuilder().setProperty("key.deserializer", keyDeserializer).build();
+        // key.deserializer should be overridden
+        assertThat(
+                kafkaSource
+                        .getConfiguration()
+                        .get(
+                                
ConfigOptions.key(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG)
+                                        .stringType()
+                                        .noDefaultValue()))
+                .isEqualTo(keyDeserializer);
+    }
+
+    @Test
+    public void testSettingCustomValueDeserializer() {
+        final String valueDeserializer = 
TestByteArrayDeserializer.class.getName();
+        final KafkaSource<String> kafkaSource = 
getBasicBuilder().setProperty("value.deserializer", valueDeserializer).build();
+        // value.deserializer should be overridden
+        assertThat(
+                kafkaSource
+                        .getConfiguration()
+                        .get(
+                                
ConfigOptions.key(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG)
+                                        .stringType()
+                                        .noDefaultValue()))
+                .isEqualTo(valueDeserializer);
+    }
+
+    @Test
+    public void testSettingCustomNonByteArrayKeyDeserializer() {
+        final String keyDeserializer = StringDeserializer.class.getName();
+        assertThatThrownBy(() -> 
getBasicBuilder().setProperty("key.deserializer", keyDeserializer).build())
+                .isInstanceOf(IllegalArgumentException.class)
+                .hasMessageContaining(
+                        String.format("Deserializer class %s does not 
deserialize byte[]", keyDeserializer));
+    }
+
+    @Test
+    public void testSettingCustomNonByteArrayValueDeserializer() {
+        final String valueDeserializer = StringDeserializer.class.getName();
+        assertThatThrownBy(() -> 
getBasicBuilder().setProperty("value.deserializer", valueDeserializer).build())
+                .isInstanceOf(IllegalArgumentException.class)
+                .hasMessageContaining(
+                        String.format("Deserializer class %s does not 
deserialize byte[]", valueDeserializer));
+    }
+
+    @Test
+    public void testSettingCustomNonDeserializer() {

Review Comment:
   Good idea, incorporated this comment.



##########
flink-connector-kafka/src/main/java/org/apache/flink/connector/kafka/source/KafkaSourceBuilder.java:
##########
@@ -548,4 +588,5 @@ private boolean offsetCommitEnabledManually() {
                                         
KafkaSourceOptions.COMMIT_OFFSETS_ON_CHECKPOINT.key()));
         return autoCommit || commitOnCheckpoint;
     }
+

Review Comment:
   Thanks, removed this



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@flink.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to