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

michaelpearce pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/activemq-nms-amqp.git


The following commit(s) were added to refs/heads/master by this push:
     new 04c0b21  AMQNET-620: Initialize ConnectionFactory properly with 
System.Uri overload
     new 6761c1f  Merge pull request #44 from 
HavretGC/connection_factory_uri_overload_fix
04c0b21 is described below

commit 04c0b219faf22e11393e74f19a4d4122ed955257
Author: Havret <h4v...@gmail.com>
AuthorDate: Fri Oct 4 09:29:58 2019 +0200

    AMQNET-620: Initialize ConnectionFactory properly with System.Uri overload
    
    ConnectionFactory was not initialized properly with constructor that takes 
System.Uri as a parameter. Additional properties that were specified in broker 
uri (like username or password) were not applied on connection factory.
---
 src/NMS.AMQP/NmsConnectionFactory.cs               |  2 +-
 test/Apache-NMS-AMQP-Test/ConnectionFactoryTest.cs | 30 ++++++++++++++++++++--
 2 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/src/NMS.AMQP/NmsConnectionFactory.cs 
b/src/NMS.AMQP/NmsConnectionFactory.cs
index ecb238a..eff1e4f 100644
--- a/src/NMS.AMQP/NmsConnectionFactory.cs
+++ b/src/NMS.AMQP/NmsConnectionFactory.cs
@@ -58,7 +58,7 @@ namespace Apache.NMS.AMQP
 
         public NmsConnectionFactory(Uri brokerUri)
         {
-            this.brokerUri = brokerUri;
+            BrokerUri = brokerUri;
         }
 
         private IdGenerator ClientIdGenerator
diff --git a/test/Apache-NMS-AMQP-Test/ConnectionFactoryTest.cs 
b/test/Apache-NMS-AMQP-Test/ConnectionFactoryTest.cs
index 229b62a..a86bb1e 100644
--- a/test/Apache-NMS-AMQP-Test/ConnectionFactoryTest.cs
+++ b/test/Apache-NMS-AMQP-Test/ConnectionFactoryTest.cs
@@ -66,10 +66,36 @@ namespace NMS.AMQP.Test
         }
 
         [Test]
+        public void TestSetPropertiesFromStringUri()
+        {
+            string baseUri = "amqp://localhost:1234";
+            string configuredUri = baseUri +
+                                "?nms.username=user" +
+                                "&nms.password=password" +
+                                "&nms.clientId=client" +
+                                "&nms.connectionIdPrefix=ID:TEST" +
+                                "&nms.clientIDPrefix=clientId" +
+                                "&nms.requestTimeout=1000" +
+                                "&nms.sendTimeout=1000" +
+                                "&nms.localMessageExpiry=false";
+
+            NmsConnectionFactory factory = new 
NmsConnectionFactory(configuredUri);
+
+            Assert.AreEqual("user", factory.UserName);
+            Assert.AreEqual("password", factory.Password);
+            Assert.AreEqual("client", factory.ClientId);
+            Assert.AreEqual("ID:TEST", factory.ConnectionIdPrefix);
+            Assert.AreEqual("clientId", factory.ClientIdPrefix);
+            Assert.AreEqual(1000, factory.RequestTimeout);
+            Assert.AreEqual(1000, factory.SendTimeout);
+            Assert.IsFalse(factory.LocalMessageExpiry);
+        }
+        
+        [Test]
         public void TestSetPropertiesFromUri()
         {
             string baseUri = "amqp://localhost:1234";
-            string configured = baseUri +
+            string configuredUri = baseUri +
                                 "?nms.username=user" +
                                 "&nms.password=password" +
                                 "&nms.clientId=client" +
@@ -79,7 +105,7 @@ namespace NMS.AMQP.Test
                                 "&nms.sendTimeout=1000" +
                                 "&nms.localMessageExpiry=false";
 
-            NmsConnectionFactory factory = new 
NmsConnectionFactory(configured);
+            NmsConnectionFactory factory = new NmsConnectionFactory(new 
Uri(configuredUri));
 
             Assert.AreEqual("user", factory.UserName);
             Assert.AreEqual("password", factory.Password);

Reply via email to