This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-3.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-3.x by this push:
new f303ee7e7cb Camel-19627: paho-mqtt5 allow optional password when
username provided (#11043)
f303ee7e7cb is described below
commit f303ee7e7cb14129c501cc3d1a5a6721b624290e
Author: Jono Morris <[email protected]>
AuthorDate: Wed Aug 9 02:21:49 2023 +1200
Camel-19627: paho-mqtt5 allow optional password when username provided
(#11043)
* CAMEL-19627 allow optional password when username provided
* CAMEL-19627 remove experimental code
* CAMEL-19627 concatenate url strings
---
.../component/paho/mqtt5/PahoMqtt5Endpoint.java | 6 ++++--
.../paho/mqtt5/PahoMqtt5ComponentMqtt5Test.java | 20 ++++++++++++++++++++
2 files changed, 24 insertions(+), 2 deletions(-)
diff --git
a/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java
b/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java
index 33361d06012..13852be4ec3 100644
---
a/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java
+++
b/components/camel-paho-mqtt5/src/main/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5Endpoint.java
@@ -85,9 +85,11 @@ public class PahoMqtt5Endpoint extends DefaultEndpoint {
protected MqttConnectionOptions createMqttConnectionOptions() {
PahoMqtt5Configuration config = getConfiguration();
MqttConnectionOptions options = new MqttConnectionOptions();
- if (ObjectHelper.isNotEmpty(config.getUserName()) &&
ObjectHelper.isNotEmpty(config.getPassword())) {
+ if (ObjectHelper.isNotEmpty(config.getUserName())) {
options.setUserName(config.getUserName());
- options.setPassword(config.getPassword().getBytes());
+ if (ObjectHelper.isNotEmpty(config.getPassword())) {
+ options.setPassword(config.getPassword().getBytes());
+ }
}
options.setAutomaticReconnect(config.isAutomaticReconnect());
options.setCleanStart(config.isCleanStart());
diff --git
a/components/camel-paho-mqtt5/src/test/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5ComponentMqtt5Test.java
b/components/camel-paho-mqtt5/src/test/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5ComponentMqtt5Test.java
index 4491c97e7b2..c2f62bd2b31 100644
---
a/components/camel-paho-mqtt5/src/test/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5ComponentMqtt5Test.java
+++
b/components/camel-paho-mqtt5/src/test/java/org/apache/camel/component/paho/mqtt5/PahoMqtt5ComponentMqtt5Test.java
@@ -75,6 +75,26 @@ public class PahoMqtt5ComponentMqtt5Test extends
PahoMqtt5TestSupport {
assertEquals(PahoMqtt5Persistence.FILE,
endpoint.getConfiguration().getPersistence());
}
+ @Test
+ public void checkUserNameOnly() {
+ String uri = "paho-mqtt5:/test/topic?brokerUrl=tcp://localhost:" +
mqttPort + "&userName=test";
+
+ PahoMqtt5Endpoint endpoint = getMandatoryEndpoint(uri,
PahoMqtt5Endpoint.class);
+
+ assertEquals("test", endpoint.getConfiguration().getUserName());
+ }
+
+ @Test
+ public void checkUserNameAndPassword() {
+ String uri = "paho-mqtt5:/test/topic?brokerUrl=tcp://localhost:" +
mqttPort
+ + "&userName=test&password=testpass";
+
+ PahoMqtt5Endpoint endpoint = getMandatoryEndpoint(uri,
PahoMqtt5Endpoint.class);
+
+ assertEquals("test", endpoint.getConfiguration().getUserName());
+ assertEquals("testpass", endpoint.getConfiguration().getPassword());
+ }
+
@Test
public void shouldReadMessageFromMqtt() throws InterruptedException {
// Given