[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