Author: tabish Date: Tue Apr 1 19:20:43 2014 New Revision: 1583758 URL: http://svn.apache.org/r1583758 Log: https://issues.apache.org/jira/browse/AMQNET-454
add patch: https://issues.apache.org/jira/secure/attachment/12638111/Apache.NMS.AMQP-23b-MSConnectionFactoryTest.cs.patch Added: activemq/activemq-dotnet/Apache.NMS.AMQP/trunk/src/test/csharp/NMSConnectionFactoryTest.cs (with props) Added: activemq/activemq-dotnet/Apache.NMS.AMQP/trunk/src/test/csharp/NMSConnectionFactoryTest.cs URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.AMQP/trunk/src/test/csharp/NMSConnectionFactoryTest.cs?rev=1583758&view=auto ============================================================================== --- activemq/activemq-dotnet/Apache.NMS.AMQP/trunk/src/test/csharp/NMSConnectionFactoryTest.cs (added) +++ activemq/activemq-dotnet/Apache.NMS.AMQP/trunk/src/test/csharp/NMSConnectionFactoryTest.cs Tue Apr 1 19:20:43 2014 @@ -0,0 +1,88 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +using System; +using System.Net.Sockets; +using Apache.NMS.Test; +using NUnit.Framework; + +namespace Apache.NMS.Amqp.Test +{ + [TestFixture] + public class NMSConnectionFactoryTest + { + // These tests assume that a broker is running on amqp port 5672. + [Test] + // These cases should be accepted + [TestCase("amqp:localhost")] + [TestCase("amqp:tcp:localhost")] + [TestCase("amqp:user/pass@localhost")] + [TestCase("amqp:user/pass@tcp:localhost")] + [TestCase("amqp:user/pass@localhost:5672")] + [TestCase("amqp:user/pass@tcp:localhost:5672")] + [TestCase("amqp:[::1]")] + [TestCase("amqp:tcp:[::1]")] + [TestCase("amqp:user/pass@[::1]")] + [TestCase("amqp:user/pass@tcp:[::1]")] + [TestCase("amqp:user/pass@tcp:[::1]:5672")] + + // This case fails to connect to two hosts but then connects to the third + [TestCase("amqp:bogushost1,bogushost2:9988,localhost:5672")] + + // This test case causes NUnit to assert but is OK for a host name + //[TestCase("amqp:tcp:host-._~%ff%23:42")] + + // These test cases fail to parse the URI + // TODO: The SEHException is fixed in upstream qpid but not yet in vendor kit. + [TestCase("amqp:tcp:", ExpectedException = typeof(System.Runtime.InteropServices.SEHException))] + [TestCase("amqp:", ExpectedException = typeof(System.Runtime.InteropServices.SEHException))] + [TestCase("amqp::5672", ExpectedException = typeof(System.Runtime.InteropServices.SEHException))] + + // These test cases pass parsing the URI but fail to connect + [TestCase("amqp:tcp:localhost:42", ExpectedException = typeof(ConnectionClosedException))] + [TestCase("amqp:hostlocal:42", ExpectedException = typeof(ConnectionClosedException))] + [TestCase("amqp:tcp", ExpectedException = typeof(ConnectionClosedException))] + [TestCase("amqp:876", ExpectedException = typeof(ConnectionClosedException))] + [TestCase("amqp:tcp:567", ExpectedException = typeof(ConnectionClosedException))] + [TestCase("amqp:[::]", ExpectedException = typeof(ConnectionClosedException))] + [TestCase("amqp:[::127.0.0.1]", ExpectedException = typeof(ConnectionClosedException))] + [TestCase("amqp:[2002::222:68ff:fe0b:e61a]", ExpectedException = typeof(ConnectionClosedException))] + [TestCase("amqp:[2002::222:68ff:fe0b:e61a]:123", ExpectedException = typeof(ConnectionClosedException))] + [TestCase("amqp:user@tcp:badhost:123", ExpectedException = typeof(ConnectionClosedException))] + [TestCase("amqp:user/pass@badhost", ExpectedException = typeof(ConnectionClosedException))] + [TestCase("amqp:user@badhost", ExpectedException = typeof(ConnectionClosedException))] + + public void TestURI(string connectionURI) + { + //Apache.NMS.Tracer.Trace = new Apache.NMS.Amqp.Test.NmsConsoleTracer(); + Tracer.Debug("Connecting to URI: " + connectionURI); + NMSConnectionFactory factory = new NMSConnectionFactory(connectionURI); + Assert.IsNotNull(factory); + Assert.IsNotNull(factory.ConnectionFactory); + using (IConnection connection = factory.CreateConnection("", "")) + { + Assert.IsNotNull(connection); + + // The connection URI values are not used when a factory is created + // nor when a connection is created. + // They are used when the connection is started. + connection.Start(); + } + } + + } +} Propchange: activemq/activemq-dotnet/Apache.NMS.AMQP/trunk/src/test/csharp/NMSConnectionFactoryTest.cs ------------------------------------------------------------------------------ svn:eol-style = native