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>