summaryrefslogtreecommitdiff
path: root/java/client/test
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2006-10-20 11:46:56 +0000
committerMartin Ritchie <ritchiem@apache.org>2006-10-20 11:46:56 +0000
commitceaf51ea03c17562a65bab1235dd7b11a36a23d1 (patch)
treee6d0052c548ff5d5482f764baea839e82a33a4f0 /java/client/test
parentc7517ac751cfe255eaa775fe324a51e31b79cf5e (diff)
downloadqpid-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.java110
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);
+ }
+}