diff options
author | Martin Ritchie <ritchiem@apache.org> | 2006-10-20 11:46:56 +0000 |
---|---|---|
committer | Martin Ritchie <ritchiem@apache.org> | 2006-10-20 11:46:56 +0000 |
commit | ceaf51ea03c17562a65bab1235dd7b11a36a23d1 (patch) | |
tree | e6d0052c548ff5d5482f764baea839e82a33a4f0 /java/client/test | |
parent | c7517ac751cfe255eaa775fe324a51e31b79cf5e (diff) | |
download | qpid-python-ceaf51ea03c17562a65bab1235dd7b11a36a23d1.tar.gz |
Resolution to QPID-23
Added Simple JNDI SPI Class that uses a PropertiesFile to create a ContextFactory for use with in JNDI.
Added a unit test to test using properties file to get correct objects from JNDI lookup.
Modifed AMQHeadersExchange.java to allow creation from a BindingURL.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@466076 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/client/test')
-rw-r--r-- | java/client/test/src/org/apache/qpid/test/unit/jndi/PropertiesFileInitialContextFactoryTest.java | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/java/client/test/src/org/apache/qpid/test/unit/jndi/PropertiesFileInitialContextFactoryTest.java b/java/client/test/src/org/apache/qpid/test/unit/jndi/PropertiesFileInitialContextFactoryTest.java new file mode 100644 index 0000000000..27a92d334a --- /dev/null +++ b/java/client/test/src/org/apache/qpid/test/unit/jndi/PropertiesFileInitialContextFactoryTest.java @@ -0,0 +1,110 @@ +/* + * + * Copyright (c) 2006 The Apache Software Foundation + * + * Licensed 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. + * + */ +package org.apache.qpid.test.unit.jndi; + +import junit.framework.JUnit4TestAdapter; +import org.apache.qpid.client.AMQConnectionFactory; +import org.apache.qpid.client.AMQQueue; +import org.apache.qpid.client.AMQTopic; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +import javax.naming.Context; +import javax.naming.InitialContext; +import javax.naming.NamingException; +import javax.naming.spi.InitialContextFactory; +import java.util.Properties; + +public class PropertiesFileInitialContextFactoryTest +{ + InitialContextFactory contextFactory; + Properties _properties; + + @Before + public void setupProperties() + { + _properties = new Properties(); + _properties.put("java.naming.factory.initial", "org.apache.qpid.jndi.PropertiesFileInitialContextFactory"); + _properties.put("connectionfactory.local", "amqp://guest:guest@clientid/testpath?brokerlist='vm://:1'"); + _properties.put("queue.MyQueue", "example.MyQueue"); + _properties.put("topic.ibmStocks", "stocks.nyse.ibm"); + _properties.put("destination.direct", "direct://amq.direct//directQueue"); + } + + @Test + public void test() + { + Context ctx = null; + try + { + ctx = new InitialContext(_properties); + } + catch (NamingException ne) + { + Assert.fail("Error loading context:" + ne); + } + + try + { + AMQConnectionFactory cf = (AMQConnectionFactory) ctx.lookup("local"); + Assert.assertEquals("amqp://guest:guest@clientid/testpath?brokerlist='vm://:1'", cf.getConnectionURL().toString()); + } + catch (NamingException ne) + { + Assert.fail("Unable to create Connection Factory:" + ne); + } + + try + { + AMQQueue queue = (AMQQueue) ctx.lookup("MyQueue"); + Assert.assertEquals("example.MyQueue", queue.getRoutingKey()); + } + catch (NamingException ne) + { + Assert.fail("Unable to create queue:" + ne); + } + + try + { + AMQTopic topic = (AMQTopic) ctx.lookup("ibmStocks"); + Assert.assertEquals("stocks.nyse.ibm", topic.getTopicName()); + } + catch (Exception ne) + { + Assert.fail("Unable to create topic:" + ne); + } + + try + { + AMQQueue direct = (AMQQueue) ctx.lookup("direct"); + Assert.assertEquals("directQueue", direct.getRoutingKey()); + } + catch (NamingException ne) + { + Assert.fail("Unable to create direct destination:" + ne); + } + + + } + + public static junit.framework.Test suite() + { + return new JUnit4TestAdapter(PropertiesFileInitialContextFactoryTest.class); + } +} |