[jboss-cvs] JBossAS SVN: r107250 - in projects/ejb3/trunk/core/src: test/java/org/jboss/ejb3/core/test and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sun Aug 1 09:08:21 EDT 2010


Author: jaikiran
Date: 2010-08-01 09:08:20 -0400 (Sun, 01 Aug 2010)
New Revision: 107250

Added:
   projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/ejb3registry/
   projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/ejb3registry/unit/
   projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/ejb3registry/unit/Ejb3RegistryUnitTestCase.java
Modified:
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/Ejb3Registry.java
Log:
EJBTHREE-2137 Fix the Ejb3Registry.hasContainer(Container) method, which used to return false for registered containers

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/Ejb3Registry.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/Ejb3Registry.java	2010-07-30 21:17:35 UTC (rev 107249)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/Ejb3Registry.java	2010-08-01 13:08:20 UTC (rev 107250)
@@ -68,7 +68,7 @@
     */
    public static boolean hasContainer(Container container)
    {
-      return hasContainer(oid(container));
+      return hasContainer(guid(container));
    }
    
    /**

Added: projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/ejb3registry/unit/Ejb3RegistryUnitTestCase.java
===================================================================
--- projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/ejb3registry/unit/Ejb3RegistryUnitTestCase.java	                        (rev 0)
+++ projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/ejb3registry/unit/Ejb3RegistryUnitTestCase.java	2010-08-01 13:08:20 UTC (rev 107250)
@@ -0,0 +1,84 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ejb3.core.test.ejb3registry.unit;
+
+import javax.management.ObjectName;
+
+import junit.framework.Assert;
+
+import org.jboss.ejb3.Container;
+import org.jboss.ejb3.Ejb3Registry;
+import org.jboss.logging.Logger;
+import org.junit.Test;
+import static org.mockito.Mockito.*;
+
+/**
+ * Tests the {@link Ejb3Registry}
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public class Ejb3RegistryUnitTestCase
+{
+
+   private static Logger logger = Logger.getLogger(Ejb3RegistryUnitTestCase.class);
+
+   /**
+    * Tests that the {@link Ejb3Registry#hasContainer(Container)} returns the correct value
+    * for registered/unregistered containers.
+    * 
+    * @throws Exception
+    */
+   @Test
+   public void testHasContainer() throws Exception
+   {
+      // create a mock container
+      Container mockContainer = mock(Container.class);
+
+      ObjectName containerObjectName = ObjectName.getInstance("org.jboss.ejb3.container:name=dummyContainer");
+      // let the mock container return the mock container ObjectName (when called internally in 
+      // Ejb3Registry)
+      when(mockContainer.getObjectName()).thenReturn(containerObjectName);
+
+      logger.info("Container with objectname: " + containerObjectName + " is being registered");
+      // register the container
+      Ejb3Registry.register(mockContainer);
+      logger.info("Successfully registered container with objectname: " + containerObjectName);
+
+      try
+      {
+         // test that the hasContainer method returns true for the registered container 
+         Assert.assertTrue("Container with objectname: " + containerObjectName + " was expected to be registered",
+               Ejb3Registry.hasContainer(mockContainer));
+      }
+      finally
+      {
+         // now unregister
+         Ejb3Registry.unregister(mockContainer);
+         logger.info("Successfully unregistered container with objectname: " + containerObjectName);
+      }
+      // test that the hasContainer method returns false for the unregistered container
+      Assert.assertFalse("Container with objectname: " + containerObjectName + " was expected to be unregistered",
+            Ejb3Registry.hasContainer(mockContainer));
+
+   }
+}



More information about the jboss-cvs-commits mailing list