You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2015/01/27 10:23:40 UTC
karaf git commit: [KARAF-2929] Upgrade to Aries JNDI URL 1.1.0 and
add JndiTest itest
Repository: karaf
Updated Branches:
refs/heads/karaf-3.0.x a503b1741 -> e1c80ea29
[KARAF-2929] Upgrade to Aries JNDI URL 1.1.0 and add JndiTest itest
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/e1c80ea2
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/e1c80ea2
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/e1c80ea2
Branch: refs/heads/karaf-3.0.x
Commit: e1c80ea29e99011a93a68e1f0f959e59a29a8e9e
Parents: a503b17
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Tue Jan 27 10:23:07 2015 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Tue Jan 27 10:23:07 2015 +0100
----------------------------------------------------------------------
.../enterprise/src/main/feature/feature.xml | 2 +-
itests/pom.xml | 8 ++
.../java/org/apache/karaf/itests/JndiTest.java | 92 ++++++++++++++++++++
pom.xml | 3 +-
4 files changed, 103 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/e1c80ea2/assemblies/features/enterprise/src/main/feature/feature.xml
----------------------------------------------------------------------
diff --git a/assemblies/features/enterprise/src/main/feature/feature.xml b/assemblies/features/enterprise/src/main/feature/feature.xml
index 03c8280..f81ec03 100644
--- a/assemblies/features/enterprise/src/main/feature/feature.xml
+++ b/assemblies/features/enterprise/src/main/feature/feature.xml
@@ -222,7 +222,7 @@
<bundle start-level="30">mvn:org.apache.aries.jndi/org.apache.aries.jndi.api/${aries.jndi.api.version}</bundle>
<bundle start-level="30">mvn:org.apache.aries.jndi/org.apache.aries.jndi.core/${aries.jndi.version}</bundle>
<bundle start-level="30">mvn:org.apache.aries.jndi/org.apache.aries.jndi.rmi/${aries.jndi.version}</bundle>
- <bundle start-level="30">mvn:org.apache.aries.jndi/org.apache.aries.jndi.url/${aries.jndi.version}</bundle>
+ <bundle start-level="30">mvn:org.apache.aries.jndi/org.apache.aries.jndi.url/${aries.jndi.url.version}</bundle>
<bundle start-level="30">mvn:org.apache.aries.jndi/org.apache.aries.jndi.legacy.support/${aries.jndi.version}</bundle>
<bundle>mvn:org.apache.karaf.jndi/org.apache.karaf.jndi.command/${project.version}</bundle>
</feature>
http://git-wip-us.apache.org/repos/asf/karaf/blob/e1c80ea2/itests/pom.xml
----------------------------------------------------------------------
diff --git a/itests/pom.xml b/itests/pom.xml
index 4bc0753..972c2d3 100644
--- a/itests/pom.xml
+++ b/itests/pom.xml
@@ -73,12 +73,20 @@
<version>1.0</version>
</dependency>
+ <!-- for JmsTest -->
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jms_1.1_spec</artifactId>
<scope>test</scope>
</dependency>
+ <!-- for JndiTest -->
+ <dependency>
+ <groupId>org.apache.karaf.jndi</groupId>
+ <artifactId>org.apache.karaf.jndi.core</artifactId>
+ <scope>test</scope>
+ </dependency>
+
<dependency>
<groupId>org.apache.karaf.package</groupId>
<artifactId>org.apache.karaf.package.core</artifactId>
http://git-wip-us.apache.org/repos/asf/karaf/blob/e1c80ea2/itests/src/test/java/org/apache/karaf/itests/JndiTest.java
----------------------------------------------------------------------
diff --git a/itests/src/test/java/org/apache/karaf/itests/JndiTest.java b/itests/src/test/java/org/apache/karaf/itests/JndiTest.java
new file mode 100644
index 0000000..8912515
--- /dev/null
+++ b/itests/src/test/java/org/apache/karaf/itests/JndiTest.java
@@ -0,0 +1,92 @@
+/*
+ * 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.karaf.itests;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.ops4j.pax.exam.junit.PaxExam;
+import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
+import org.ops4j.pax.exam.spi.reactors.PerClass;
+import org.apache.karaf.jndi.JndiService;
+
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnector;
+import java.util.Map;
+
+@RunWith(PaxExam.class)
+@ExamReactorStrategy(PerClass.class)
+public class JndiTest extends KarafTestSupport {
+
+ @Before
+ public void installJndiFeature() throws Exception {
+ installAndAssertFeature("jndi");
+ getOsgiService(JndiService.class, 30000);
+ }
+
+ @Test
+ public void testCommand() throws Exception {
+ String output = executeCommand("jndi:names");
+ System.out.println(output);
+ assertContains("osgi:service/jndi", output);
+ output = executeCommand("jndi:alias osgi:service/jndi /test/foo");
+ System.out.println(output);
+ output = executeCommand("jndi:names");
+ System.out.println(output);
+ assertContains("/test/foo", output);
+ output = executeCommand("jndi:bind 40 /test/bar");
+ System.out.println(output);
+ output = executeCommand("jndi:names");
+ System.out.println(output);
+ assertContains("/test/bar", output);
+ output = executeCommand("jndi:unbind /test/bar");
+ System.out.println(output);
+ assertContainsNot("/test/bar", output);
+ }
+
+ @Test
+ public void testMBean() throws Exception {
+ JMXConnector connector = null;
+ try {
+ connector = this.getJMXConnector();
+ MBeanServerConnection connection = connector.getMBeanServerConnection();
+ ObjectName name = new ObjectName("org.apache.karaf:type=jndi,name=root");
+ // names attribute
+ System.out.println("MBean get names attribute");
+ Map<String, String> names = (Map<String, String>) connection.getAttribute(name, "names");
+ assertEquals(1, names.keySet().size());
+ // invoke alias operation
+ System.out.println("MBean invoke alias operation");
+ connection.invoke(name, "alias", new Object[]{ "osgi:service/jndi", "/test/foo" }, new String[]{ "java.lang.String", "java.lang.String" });
+ names = (Map<String, String>) connection.getAttribute(name, "names");
+ assertEquals(2, names.keySet().size());
+ // invoke bind operation
+ System.out.println("MBean invoke bind operation");
+ connection.invoke(name, "bind", new Object[]{ new Long(40), "/test/bar" }, new String[]{ "java.lang.String", "java.lang.Long" });
+ names = (Map<String, String>) connection.getAttribute(name, "names");
+ assertEquals(3, names.keySet().size());
+ // invoke unbind operation
+ System.out.println("MBean invoke unbind operation");
+ connection.invoke(name, "unbind", new Object[]{ "/test/bar" }, new String[]{ "java.lang.String" });
+ names = (Map<String, String>) connection.getAttribute(name, "names");
+ assertEquals(2, names.keySet().size());
+ } catch (Exception e) {
+
+ }
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/karaf/blob/e1c80ea2/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 8e7245f..789d0fd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -195,6 +195,7 @@
<aries.jpa.container.context.version>1.0.4</aries.jpa.container.context.version>
<aries.jndi.version>1.0.0</aries.jndi.version>
<aries.jndi.api.version>1.1.0</aries.jndi.api.version>
+ <aries.jndi.url.version>1.1.0</aries.jndi.url.version>
<aries.proxy.version>1.0.4</aries.proxy.version>
<aries.proxy.api.version>1.0.1</aries.proxy.api.version>
<aries.transaction.manager.version>1.1.1</aries.transaction.manager.version>
@@ -1628,7 +1629,7 @@
<dependency>
<groupId>org.apache.aries.jndi</groupId>
<artifactId>org.apache.aries.jndi.url</artifactId>
- <version>${aries.jndi.version}</version>
+ <version>${aries.jndi.url.version}</version>
</dependency>
<dependency>
<groupId>org.apache.aries.jndi</groupId>