11package com .ibm .eventstreams .connect .mqsink ;
22
33import static org .junit .Assert .assertEquals ;
4+ import static org .junit .Assert .assertThrows ;
45
56import java .util .ArrayList ;
67import java .util .HashMap ;
1617import org .apache .kafka .connect .data .Schema ;
1718import org .apache .kafka .connect .data .SchemaBuilder ;
1819import org .apache .kafka .connect .data .Struct ;
20+ import org .apache .kafka .connect .errors .ConnectException ;
1921import org .apache .kafka .connect .sink .SinkRecord ;
2022import org .junit .Test ;
2123
22- public class SimpleMQSinkTaskIT extends AbstractJMSContextIT {
24+ public class MQSinkTaskIT extends AbstractJMSContextIT {
2325
2426 private static final String TOPIC = "SINK.TOPIC.NAME" ;
2527 private static final int PARTITION = 3 ;
@@ -46,6 +48,35 @@ private Map<String, String> createDefaultConnectorProperties() {
4648 }
4749
4850
51+ @ Test
52+ public void verifyUnsupportedReplyQueueName () {
53+ Map <String , String > connectorConfigProps = createDefaultConnectorProperties ();
54+ connectorConfigProps .put ("mq.message.builder" , "com.ibm.eventstreams.connect.mqsink.builders.DefaultMessageBuilder" );
55+ connectorConfigProps .put ("mq.reply.queue" , "queue://QM2/Q2?persistence=2&priority=5" );
56+
57+ MQSinkTask newConnectTask = new MQSinkTask ();
58+ ConnectException exc = assertThrows (ConnectException .class , () -> {
59+ newConnectTask .start (connectorConfigProps );
60+ });
61+
62+ assertEquals ("Reply-to queue URI must not contain properties" , exc .getMessage ());
63+ }
64+
65+ @ Test
66+ public void verifyUnsupportedKeyHeader () {
67+ Map <String , String > connectorConfigProps = createDefaultConnectorProperties ();
68+ connectorConfigProps .put ("mq.message.builder" , "com.ibm.eventstreams.connect.mqsink.builders.DefaultMessageBuilder" );
69+ connectorConfigProps .put ("mq.message.builder.key.header" , "hello" );
70+
71+ MQSinkTask newConnectTask = new MQSinkTask ();
72+ ConnectException exc = assertThrows (ConnectException .class , () -> {
73+ newConnectTask .start (connectorConfigProps );
74+ });
75+
76+ assertEquals ("Unsupported MQ message builder key header value" , exc .getMessage ());
77+ }
78+
79+
4980 @ Test
5081 public void verifyStringMessages () throws JMSException {
5182 MQSinkTask newConnectTask = new MQSinkTask ();
@@ -207,15 +238,15 @@ public void verifyJsonWithDefaultBuilder() throws JMSException {
207238 connectorConfigProps .put ("mq.message.builder.value.converter" , "org.apache.kafka.connect.json.JsonConverter" );
208239 connectorConfigProps .put ("mq.message.builder" , "com.ibm.eventstreams.connect.mqsink.builders.DefaultMessageBuilder" );
209240
210- verifyMessageConversion (connectorConfigProps , Schema .STRING_SCHEMA , "\" ABC\" " , "\" ABC\" " );
241+ verifyMessageConversion (connectorConfigProps , Schema .STRING_SCHEMA , "ABC" , "ABC" );
211242 }
212243 @ Test
213244 public void verifyJsonWithJsonBuilder () throws JMSException {
214245 Map <String , String > connectorConfigProps = createDefaultConnectorProperties ();
215246 connectorConfigProps .put ("mq.message.builder.value.converter" , "org.apache.kafka.connect.json.JsonConverter" );
216247 connectorConfigProps .put ("mq.message.builder" , "com.ibm.eventstreams.connect.mqsink.builders.JsonMessageBuilder" );
217248
218- verifyMessageConversion (connectorConfigProps , Schema .STRING_SCHEMA , "\" ABC\" " , "\" \\ \" ABC\\ \" \" " );
249+ verifyMessageConversion (connectorConfigProps , Schema .STRING_SCHEMA , "ABC" , "\" ABC\" " );
219250 }
220251
221252
0 commit comments