[jboss-cvs] JBossAS SVN: r73224 - in projects/ejb3/trunk/interceptors/src/test: resources/exclude/META-INF and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri May 9 12:46:02 EDT 2008


Author: kabir.khan at jboss.com
Date: 2008-05-09 12:46:02 -0400 (Fri, 09 May 2008)
New Revision: 73224

Modified:
   projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/exclude/unit/ExcludeInterceptorsTestCase.java
   projects/ejb3/trunk/interceptors/src/test/resources/exclude/META-INF/ejb-jar.xml
Log:
[EJBTHREE-1351] More tests

Modified: projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/exclude/unit/ExcludeInterceptorsTestCase.java
===================================================================
--- projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/exclude/unit/ExcludeInterceptorsTestCase.java	2008-05-09 16:44:18 UTC (rev 73223)
+++ projects/ejb3/trunk/interceptors/src/test/java/org/jboss/ejb3/test/interceptors/exclude/unit/ExcludeInterceptorsTestCase.java	2008-05-09 16:46:02 UTC (rev 73224)
@@ -47,6 +47,8 @@
 import org.jboss.ejb3.test.interceptors.exclude.Interceptions;
 import org.jboss.ejb3.test.interceptors.exclude.MethodInterceptor;
 import org.jboss.ejb3.test.interceptors.exclude.XmlAllInterceptorsBean;
+import org.jboss.ejb3.test.interceptors.exclude.XmlExcludeClassAndDefaultBean;
+import org.jboss.ejb3.test.interceptors.exclude.XmlExcludeClassAndDefaultForMethodBean;
 import org.jboss.ejb3.test.interceptors.exclude.XmlExcludeClassBean;
 import org.jboss.ejb3.test.interceptors.exclude.XmlExcludeDefaultBean;
 import org.jboss.ejb3.test.interceptors.exclude.XmlExcludeDefaultForMethodBean;
@@ -638,4 +640,102 @@
       log.info("======= Done");
    }
    
+   public void testXmlExcludeClassAndDefaultInterceptors() throws Throwable
+   {
+     AspectManager.verbose = true;
+      
+      // To make surefire happy
+      Thread.currentThread().setContextClassLoader(XmlExcludeClassAndDefaultBean.class.getClassLoader());
+      
+      // Bootstrap metadata
+      UnmarshallerFactory unmarshallerFactory = UnmarshallerFactory.newInstance();
+      Unmarshaller unmarshaller = unmarshallerFactory.newUnmarshaller();
+      URL url = Thread.currentThread().getContextClassLoader().getResource("exclude/META-INF/ejb-jar.xml");
+      EjbJar30MetaData metaData = (EjbJar30MetaData) unmarshaller.unmarshal(url.toString(), schemaResolverForClass(EjbJar30MetaData.class));
+      JBoss50MetaData jbossMetaData = new JBoss50MetaData();
+      jbossMetaData.merge(null, metaData);
+      
+      JBossEnterpriseBeanMetaData beanMetaData = jbossMetaData.getEnterpriseBean("XmlExcludeClassAndDefaultBean");
+      assertNotNull(beanMetaData);
+      MyContainer<XmlExcludeClassAndDefaultBean> container = new MyContainer<XmlExcludeClassAndDefaultBean>("XmlExcludeClassAndDefaultBean", "Test", XmlExcludeClassAndDefaultBean.class, beanMetaData);
+      container.testAdvisor();
+
+      Interceptions.clear();
+      ArrayList<Class<?>> interceptions = Interceptions.getInterceptions();
+      assertEquals(0, interceptions.size());
+      BeanContext<XmlExcludeClassAndDefaultBean> bean = container.construct();
+      assertEquals(2,  interceptions.size());
+      assertEquals(ClassInterceptor.class, interceptions.get(0));
+      assertEquals(XmlExcludeClassAndDefaultBean.class, interceptions.get(1));
+ 
+      Interceptions.clear();
+      interceptions = Interceptions.getInterceptions();
+      assertEquals(0, interceptions.size());
+      
+      String ret = container.invoke(bean, "method");
+      assertEquals(XmlExcludeClassAndDefaultBean.class.getName(), ret);
+      assertEquals(2,  interceptions.size());
+      assertEquals(MethodInterceptor.class, interceptions.get(0));
+      assertEquals(XmlExcludeClassAndDefaultBean.class, interceptions.get(1));
+      
+      Interceptions.clear();
+      assertEquals(0, interceptions.size());
+      container.destroy(bean);
+      assertEquals(2,  interceptions.size());
+      assertEquals(ClassInterceptor.class, interceptions.get(0));
+      assertEquals(XmlExcludeClassAndDefaultBean.class, interceptions.get(1));
+      
+      log.info("======= Done");
+   }
+   
+   public void testXmlExcludeClassAndDefaultInterceptorsForMethod() throws Throwable
+   {
+     AspectManager.verbose = true;
+      
+      // To make surefire happy
+      Thread.currentThread().setContextClassLoader(XmlExcludeClassAndDefaultForMethodBean.class.getClassLoader());
+      
+      // Bootstrap metadata
+      UnmarshallerFactory unmarshallerFactory = UnmarshallerFactory.newInstance();
+      Unmarshaller unmarshaller = unmarshallerFactory.newUnmarshaller();
+      URL url = Thread.currentThread().getContextClassLoader().getResource("exclude/META-INF/ejb-jar.xml");
+      EjbJar30MetaData metaData = (EjbJar30MetaData) unmarshaller.unmarshal(url.toString(), schemaResolverForClass(EjbJar30MetaData.class));
+      JBoss50MetaData jbossMetaData = new JBoss50MetaData();
+      jbossMetaData.merge(null, metaData);
+      
+      JBossEnterpriseBeanMetaData beanMetaData = jbossMetaData.getEnterpriseBean("XmlExcludeClassAndDefaultForMethodBean");
+      assertNotNull(beanMetaData);
+      MyContainer<XmlExcludeClassAndDefaultForMethodBean> container = new MyContainer<XmlExcludeClassAndDefaultForMethodBean>("XmlExcludeClassAndDefaultForMethodBean", "Test", XmlExcludeClassAndDefaultForMethodBean.class, beanMetaData);
+      container.testAdvisor();
+
+      Interceptions.clear();
+      ArrayList<Class<?>> interceptions = Interceptions.getInterceptions();
+      assertEquals(0, interceptions.size());
+      BeanContext<XmlExcludeClassAndDefaultForMethodBean> bean = container.construct();
+      assertEquals(3,  interceptions.size());
+      assertEquals(DefaultInterceptor.class, interceptions.get(0));
+      assertEquals(ClassInterceptor.class, interceptions.get(1));
+      assertEquals(XmlExcludeClassAndDefaultForMethodBean.class, interceptions.get(2));
+ 
+      Interceptions.clear();
+      interceptions = Interceptions.getInterceptions();
+      assertEquals(0, interceptions.size());
+      
+      String ret = container.invoke(bean, "method");
+      assertEquals(XmlExcludeClassAndDefaultForMethodBean.class.getName(), ret);
+      assertEquals(2,  interceptions.size());
+      assertEquals(MethodInterceptor.class, interceptions.get(0));
+      assertEquals(XmlExcludeClassAndDefaultForMethodBean.class, interceptions.get(1));
+      
+      Interceptions.clear();
+      assertEquals(0, interceptions.size());
+      container.destroy(bean);
+      assertEquals(3,  interceptions.size());
+      assertEquals(DefaultInterceptor.class, interceptions.get(0));
+      assertEquals(ClassInterceptor.class, interceptions.get(1));
+      assertEquals(XmlExcludeClassAndDefaultForMethodBean.class, interceptions.get(2));
+      
+      log.info("======= Done");
+   }
+   
 }

Modified: projects/ejb3/trunk/interceptors/src/test/resources/exclude/META-INF/ejb-jar.xml
===================================================================
--- projects/ejb3/trunk/interceptors/src/test/resources/exclude/META-INF/ejb-jar.xml	2008-05-09 16:44:18 UTC (rev 73223)
+++ projects/ejb3/trunk/interceptors/src/test/resources/exclude/META-INF/ejb-jar.xml	2008-05-09 16:46:02 UTC (rev 73224)
@@ -157,5 +157,33 @@
          </method>
       </interceptor-binding>
 
-    </assembly-descriptor>        
+      <interceptor-binding>
+         <ejb-name>XmlExcludeClassAndDefaultBean</ejb-name>
+         <interceptor-class>org.jboss.ejb3.test.interceptors.exclude.ClassInterceptor</interceptor-class>
+         <exclude-default-interceptors>true</exclude-default-interceptors>
+      </interceptor-binding>
+      <interceptor-binding>
+         <ejb-name>XmlExcludeClassAndDefaultBean</ejb-name>
+         <interceptor-class>org.jboss.ejb3.test.interceptors.exclude.MethodInterceptor</interceptor-class>
+         <exclude-class-interceptors>true</exclude-class-interceptors>
+         <method>
+            <method-name>method</method-name>
+         </method>
+      </interceptor-binding>
+
+      <interceptor-binding>
+         <ejb-name>XmlExcludeClassAndDefaultForMethodBean</ejb-name>
+         <interceptor-class>org.jboss.ejb3.test.interceptors.exclude.ClassInterceptor</interceptor-class>
+      </interceptor-binding>
+      <interceptor-binding>
+         <ejb-name>XmlExcludeClassAndDefaultForMethodBean</ejb-name>
+         <interceptor-class>org.jboss.ejb3.test.interceptors.exclude.MethodInterceptor</interceptor-class>
+         <exclude-default-interceptors>true</exclude-default-interceptors>
+         <exclude-class-interceptors>true</exclude-class-interceptors>
+         <method>
+            <method-name>method</method-name>
+         </method>
+      </interceptor-binding>
+    </assembly-descriptor>  
+    
 </ejb-jar>
\ No newline at end of file




More information about the jboss-cvs-commits mailing list