You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/08/08 14:21:58 UTC

[camel] branch main updated: Camel-19627: paho-mqtt5 allow optional password when username provided (#11043)

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 892ea477407 Camel-19627: paho-mqtt5 allow optional password when username provided (#11043)
892ea477407 is described below

commit 892ea477407b719a3dc78ddf77e95b25cb53a428
Author: Jono Morris <jo...@xtra.co.nz>
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