diff --git a/src/integration/java/com/ibm/eventstreams/connect/mqsink/MQSinkTaskIT.java b/src/integration/java/com/ibm/eventstreams/connect/mqsink/MQSinkTaskIT.java index f6c8ebf..a61908b 100644 --- a/src/integration/java/com/ibm/eventstreams/connect/mqsink/MQSinkTaskIT.java +++ b/src/integration/java/com/ibm/eventstreams/connect/mqsink/MQSinkTaskIT.java @@ -127,6 +127,27 @@ public void verifyStringMessages() throws JMSException { assertEquals("world", messagesInMQ.get(1).getBody(String.class)); } + @Test + public void verifyMQSslUseIbmCipherMappings() { + final Map connectorConfigProps = createDefaultConnectorProperties(); + connectorConfigProps.put("mq.message.builder", + DEFAULT_MESSAGE_BUILDER); + connectorConfigProps.put("mq.ssl.use.ibm.cipher.mappings", "true"); + + final MQSinkTask newConnectTask = new MQSinkTask(); + newConnectTask.start(connectorConfigProps); + + // Check if the config reflects the change + assertEquals(System.getProperty("com.ibm.mq.cfg.useIBMCipherMappings"), "true"); + + // Verify the exception messages + connectorConfigProps.put("mq.ssl.use.ibm.cipher.mappings", "Not a boolean"); + final ConfigException exc = assertThrows(ConfigException.class, () -> { + newConnectTask.start(connectorConfigProps); + }); + assertEquals("Invalid value Not a boolean for configuration mq.ssl.use.ibm.cipher.mappings: Expected value to be either true or false", exc.getMessage()); + } + @Test public void verifyStringJmsMessages() throws JMSException { final MQSinkTask newConnectTask = new MQSinkTask(); diff --git a/src/main/java/com/ibm/eventstreams/connect/mqsink/JMSWorker.java b/src/main/java/com/ibm/eventstreams/connect/mqsink/JMSWorker.java index da588ab..dd54e97 100644 --- a/src/main/java/com/ibm/eventstreams/connect/mqsink/JMSWorker.java +++ b/src/main/java/com/ibm/eventstreams/connect/mqsink/JMSWorker.java @@ -102,7 +102,7 @@ public void configure(final AbstractConfig config) throws ConnectException { mqConnectionHelper = new MQConnectionHelper(config); if (mqConnectionHelper.getUseIBMCipherMappings() != null) { - System.setProperty("com.ibm.mq.cfg.useIBMCipherMappings", mqConnectionHelper.getUseIBMCipherMappings()); + System.setProperty("com.ibm.mq.cfg.useIBMCipherMappings", Boolean.toString(mqConnectionHelper.getUseIBMCipherMappings())); } try { diff --git a/src/main/java/com/ibm/eventstreams/connect/mqsink/MQConnectionHelper.java b/src/main/java/com/ibm/eventstreams/connect/mqsink/MQConnectionHelper.java index cf0b8e0..fea010a 100644 --- a/src/main/java/com/ibm/eventstreams/connect/mqsink/MQConnectionHelper.java +++ b/src/main/java/com/ibm/eventstreams/connect/mqsink/MQConnectionHelper.java @@ -63,8 +63,8 @@ public Boolean isPersistent() { return config.getBoolean(MQSinkConfig.CONFIG_NAME_MQ_PERSISTENT); } - public String getUseIBMCipherMappings() { - return config.getString(MQSinkConfig.CONFIG_NAME_MQ_SSL_USE_IBM_CIPHER_MAPPINGS); + public Boolean getUseIBMCipherMappings() { + return config.getBoolean(MQSinkConfig.CONFIG_NAME_MQ_SSL_USE_IBM_CIPHER_MAPPINGS); } public int getTransportType() {