Author: nickarls
Date: 2008-11-03 16:22:31 -0500 (Mon, 03 Nov 2008)
New Revision: 228
Modified:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EnterpriseBeanModelTest.java
Log:
Rewriting EJB model tests
Modified:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EnterpriseBeanModelTest.java
===================================================================
---
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EnterpriseBeanModelTest.java 2008-11-03
20:13:34 UTC (rev 227)
+++
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EnterpriseBeanModelTest.java 2008-11-03
21:22:31 UTC (rev 228)
@@ -1,122 +1,421 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.getEmptyAnnotatedType;
+import javax.webbeans.DefinitionException;
+import javax.webbeans.DeploymentException;
+import javax.webbeans.UnremovedException;
-import java.lang.annotation.Annotation;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.webbeans.Current;
-import javax.webbeans.Dependent;
-
-import org.jboss.webbeans.introspector.AnnotatedType;
-import org.jboss.webbeans.introspector.SimpleAnnotatedType;
-import org.jboss.webbeans.model.bean.AbstractEnterpriseBeanModel;
-import org.jboss.webbeans.model.bean.EnterpriseBeanModel;
-import org.jboss.webbeans.test.annotations.Synchronous;
-import org.jboss.webbeans.test.beans.Bear;
-import org.jboss.webbeans.test.beans.Cheetah;
-import org.jboss.webbeans.test.beans.Cougar;
-import org.jboss.webbeans.test.beans.Elephant;
-import org.jboss.webbeans.test.beans.Giraffe;
-import org.jboss.webbeans.test.beans.Leopard;
-import org.jboss.webbeans.test.beans.Lion;
-import org.jboss.webbeans.test.beans.Panther;
-import org.jboss.webbeans.test.beans.Puma;
-import org.jboss.webbeans.test.beans.Tiger;
-import org.jboss.webbeans.test.util.Util;
-import org.jboss.webbeans.util.Reflections;
import org.testng.annotations.Test;
@SuppressWarnings( { "unchecked", "unused" })
+@SpecVersion("PDR")
public class EnterpriseBeanModelTest extends AbstractTest
{
@Test
- public void testStateless()
+ @SpecAssertion(section = "3.3")
+ public void testStatelessWithDependentScopeOK()
{
- EnterpriseBeanModel<Lion> lion = new EnterpriseBeanModel<Lion>(new
SimpleAnnotatedType<Lion>(Lion.class), getEmptyAnnotatedType(Lion.class), manager);
- assert lion.getScopeType().equals(Dependent.class);
- Reflections.annotationSetMatches(lion.getBindingTypes(), Current.class);
- assert lion.getName().equals("lion");
+ assert false;
}
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3")
+ public void testStatelessWithRequestScopeFails()
+ {
+ assert false;
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3")
+ public void testStatelessWithConversationScopeFails()
+ {
+ assert false;
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3")
+ public void testStatelessWithSessionScopeFails()
+ {
+ assert false;
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3")
+ public void testStatelessWithApplicationScopeFails()
+ {
+ assert false;
+ }
+
@Test
- public void testStatelessDefinedInXml()
+ @SpecAssertion(section = "3.3")
+ public void testSingletonWithDependentScopeOK()
{
- EnterpriseBeanModel<Giraffe> giraffe =
Util.createEnterpriseBeanModel(Giraffe.class, manager);
- assert giraffe.getScopeType().equals(Dependent.class);
- assert Reflections.annotationSetMatches(giraffe.getBindingTypes(), Current.class);
+ assert false;
}
- @Test(expectedExceptions = RuntimeException.class)
- public void testStatelessWithRequestScope()
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3")
+ public void testSingletonWithRequestScopeFails()
{
- EnterpriseBeanModel<Bear> bear = Util.createEnterpriseBeanModel(Bear.class,
manager);
+ assert false;
}
- @Test(groups = "ejb3")
- public void testSingleton()
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3")
+ public void testSingletonWithConversationScopeFails()
{
assert false;
}
- @Test(groups = "ejb3")
- public void testSingletonWithRequestScope()
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3")
+ public void testSingletonWithSessionScopeFails()
{
assert false;
}
@Test
- public void testStateful()
+ @SpecAssertion(section = "3.3")
+ public void testSingletonWithApplicationScopeOK()
{
- EnterpriseBeanModel<Tiger> tiger =
Util.createEnterpriseBeanModel(Tiger.class, manager);
- assert Reflections.annotationSetMatches(tiger.getBindingTypes(),
Synchronous.class);
- assert
tiger.getRemoveMethod().getAnnotatedItem().getDelegate().getName().equals("remove");
- assert tiger.getName() == null;
+ assert false;
}
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3")
+ public void testEJBInterceptorFails()
+ {
+ assert false;
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3")
+ public void testEJBDecoratorFails()
+ {
+ assert false;
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3")
+ public void testMultipleAnnotationDefinedEJBsWithSameImplementationClassFails()
+ {
+ assert false;
+ }
+
@Test
- public void testMultipleRemoveMethodsWithDestroys()
+ @SpecAssertion(section = "3.3")
+ public void testMultipleXMLDefinedEJBsWithSameImplementationClassOK()
{
- EnterpriseBeanModel<Elephant> elephant =
Util.createEnterpriseBeanModel(Elephant.class, manager);
- assert
elephant.getRemoveMethod().getAnnotatedItem().getDelegate().getName().equals("remove2");
+ assert false;
}
- @Test(expectedExceptions=RuntimeException.class)
- public void testMultipleRemoveMethodsWithoutDestroys()
+ @Test(expectedExceptions = DeploymentException.class)
+ @SpecAssertion(section = "3.3")
+ public void testMultipleEnabledSpecializedEJBFails()
{
- EnterpriseBeanModel<Puma> puma = Util.createEnterpriseBeanModel(Puma.class,
manager);
+ assert false;
}
- @Test(expectedExceptions=RuntimeException.class)
- public void testMultipleRemoveMethodsWithMultipleDestroys()
+ @Test
+ @SpecAssertion(section = "3.3.1")
+ public void testAnnotatedEJB()
{
- EnterpriseBeanModel<Cougar> cougar =
Util.createEnterpriseBeanModel(Cougar.class, manager);
+ assert false;
}
- @Test(expectedExceptions=RuntimeException.class)
- public void testNonStatefulEnterpriseBeanWithDestroys()
+ @Test
+ @SpecAssertion(section = "3.3.1")
+ public void testAnnotatedEJBComplementedWithXML()
{
- EnterpriseBeanModel<Cheetah> cheetah =
Util.createEnterpriseBeanModel(Cheetah.class, manager);
+ assert false;
}
@Test
- public void testRemoveMethodWithDefaultBinding()
+ @SpecAssertion(section = "3.3.1")
+ public void testEJBJARDefinedEJB()
{
- EnterpriseBeanModel<Panther> panther =
Util.createEnterpriseBeanModel(Panther.class, manager);
- assert
panther.getRemoveMethod().getAnnotatedItem().getDelegate().getName().equals("remove");
- assert panther.getRemoveMethod().getParameters().size() == 1;
- assert
panther.getRemoveMethod().getParameters().get(0).getType().equals(String.class);
- assert panther.getRemoveMethod().getParameters().get(0).getBindingTypes().size() ==
1;
- assert
Reflections.annotationSetMatches(panther.getRemoveMethod().getParameters().get(0).getBindingTypes(),
Current.class);
+ assert false;
}
@Test
- public void testMessageDriven()
+ @SpecAssertion(section = "3.3.1")
+ public void testEJBJARDefinedEJBComplementedWithXML()
{
- EnterpriseBeanModel<Leopard> leopard =
Util.createEnterpriseBeanModel(Leopard.class, manager);
- assert Reflections.annotationSetMatches(leopard.getBindingTypes(), Current.class);
+ assert false;
}
+ @Test
+ @SpecAssertion(section = "3.3.2")
+ public void
testAPITypesAreLocalInterfacesWithoutWildcardTypesOrTypeVariablesWithSuperInterfaces()
+ {
+ assert false;
+ }
+
+ @Test
+ @SpecAssertion(section = "3.3.2")
+ public void
testEJBWithLocalViewAndParameterizedTypeIncludesBeanClassAndSuperclassesInAPITypes()
+ {
+ assert false;
+ }
+
+ @Test
+ @SpecAssertion(section = "3.3.2")
+ public void testObjectIsInAPITypes()
+ {
+ assert false;
+ }
+
+ @Test
+ @SpecAssertion(section = "3.3.2")
+ public void testRemoteInterfacesAreNotInAPITypes()
+ {
+ assert false;
+ }
+
+ @Test
+ @SpecAssertion(section = "3.3.4")
+ public void testXMLDefinedEJBIgnoresProducerAndDisposalAndObserverAnnotations()
+ {
+
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3.4")
+ public void testXMLDefinedSingletonsFail()
+ {
+ assert false;
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3.4")
+ public void testMessageDrivenBeansNotOK()
+ {
+ assert false;
+ }
+
+ @Test
+ @SpecAssertion(section = "3.3.5")
+ public void testStatefulEJBRemoveMethodCalledOnDestroy()
+ {
+ assert false;
+ }
+
+ @Test
+ @SpecAssertion(section = "3.3.5")
+ public void testStatefulEJBWithoutRemoveMethodInDependentScopeOK()
+ {
+ assert false;
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3.5")
+ public void testStatefulEJBWithoutRemoveMethodInApplicationScopeFails()
+ {
+ assert false;
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3.5")
+ public void testStatefulEJBWithoutRemoveMethodInSessionScopeFails()
+ {
+ assert false;
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3.5")
+ public void testStatefulEJBWithoutRemoveMethodInConversationScopeFails()
+ {
+ assert false;
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3.5")
+ public void testStatefulEJBWithoutRemoveMethodInRequestScopeFails()
+ {
+ assert false;
+ }
+
+ @Test(expectedExceptions = UnremovedException.class)
+ @SpecAssertion(section = "3.3.5")
+ public void
testStatefulEJBWithoutRemoveMethodNotExplicitlyDestroyedBeforeManagerAttemptFails()
+ {
+ assert false;
+ }
+
+ @Test
+ @SpecAssertion(section = "3.3.5")
+ public void testNoParametersPassedWhenEJBRemoveMethodCalledFromApplication()
+ {
+ assert false;
+ }
+
+ @Test
+ @SpecAssertion(section = "3.3.5")
+ public void testWebBeanRemoveMethodCallRemovesInstanceFromContext()
+ {
+ assert false;
+ }
+
+ @Test
+ @SpecAssertion(section = "3.3.5.1")
+ public void
testAnnotationDefinedEJBWithoutDestructorUsesRemoveMethodWithoutParamsAsWebBeansRemoveMethod()
+ {
+ assert false;
+ }
+
+ @Test
+ @SpecAssertion(section = "3.3.5.1")
+ public void
testAnnotationDefinedEJBWithoutDestructorAndRemoveMethodWithoutParamsHasNoWebBeansRemoveMethod()
+ {
+ assert false;
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3.5.1")
+ public void testEJBWithMultipleDestructorAnnotationsFail()
+ {
+ assert false;
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3.5.1")
+ public void
testAnnotationDefinedEJBWithDestructorAnnotationOnMethodNotAnEJBRemoveMethodFails()
+ {
+ assert false;
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3.5.1")
+ public void testEJBWithInitializerAnnotationOnRemoveMethodFails()
+ {
+ assert false;
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3.5.1")
+ public void testEJBWithProducerAnnotationOnRemoveMethodFails()
+ {
+ assert false;
+ }
+
+ @Test(expectedExceptions = DefinitionException.class)
+ @SpecAssertion(section = "3.3.5.1")
+ public void testEJBWithRemoveMethodTakingObserverAnnotatedParameterFails()
+ {
+ assert false;
+ }
+
+ // TODO Separate section for XML defined beans?
+
+ @Test
+ @SpecAssertion(section = "3.3.5.3")
+ public void testRemoveMethodParameters()
+ {
+ assert false;
+ }
+
+
+/*
+ @Test
+ @SpecAssertion(section = "3.3.5.1")
+ public void test()
+ {
+ assert false;
+ }
+/*
+
+ /*
+ * @Test public void testStateless() { EnterpriseBeanModel<Lion> lion = new
+ * EnterpriseBeanModel<Lion>(new SimpleAnnotatedType<Lion>(Lion.class),
+ * getEmptyAnnotatedType(Lion.class), manager); assert
+ * lion.getScopeType().equals(Dependent.class);
+ * Reflections.annotationSetMatches(lion.getBindingTypes(), Current.class);
+ * assert lion.getName().equals("lion"); }
+ *
+ * @Test @SpecAssertion(section="3.3") public void
+ * testStatelessWithDependentScopeOK() { EnterpriseBeanModel<Giraffe> giraffe
+ * = Util.createEnterpriseBeanModel(Giraffe.class, manager); assert
+ * giraffe.getScopeType().equals(Dependent.class); assert
+ * Reflections.annotationSetMatches(giraffe.getBindingTypes(),
+ * Current.class); }
+ *
+ * @Test(expectedExceptions = RuntimeException.class)
+ * @SpecAssertion(section="3.3") public void
+ * testStatelessWithRequestScopeFails() { EnterpriseBeanModel<Bear> bear =
+ * Util.createEnterpriseBeanModel(Bear.class, manager); }
+ *
+ * @Test(expectedExceptions = RuntimeException.class)
+ * @SpecAssertion(section="3.3") public void
+ * testStatelessWithApplicationScopeFails() { assert false; }
+ *
+ * @Test(expectedExceptions = RuntimeException.class)
+ * @SpecAssertion(section="3.3") public void
+ * testStatelessWithSessionScopeFails() { assert false; }
+ *
+ * @Test(expectedExceptions = RuntimeException.class)
+ * @SpecAssertion(section="3.3") public void
+ * testStatelessWithConversationScopeFails() { assert false; }
+ *
+ * public void testSingletonWithDependentScopeOK() { assert false; }
+ *
+ * @Test(expectedExceptions = RuntimeException.class)
+ * @SpecAssertion(section="3.3") public void
+ * testSingletonWithRequestScopeFails() { assert false; }
+ *
+ * @Test(expectedExceptions = RuntimeException.class)
+ * @SpecAssertion(section="3.3") public void
+ * testSingletonWithApplicationScopeOK() { assert false; }
+ *
+ * @Test(expectedExceptions = RuntimeException.class)
+ * @SpecAssertion(section="3.3") public void
+ * testSingletonWithSessionScopeFails() { assert false; }
+ *
+ * @Test(expectedExceptions = RuntimeException.class)
+ * @SpecAssertion(section="3.3") public void
+ * testSingletonWithConversationScopeFails() { assert false; }
+ *
+ * @Test public void testStateful() { EnterpriseBeanModel<Tiger> tiger =
+ * Util.createEnterpriseBeanModel(Tiger.class, manager); assert
+ * Reflections.annotationSetMatches(tiger.getBindingTypes(),
+ * Synchronous.class); assert
+ * tiger.getRemoveMethod().getAnnotatedItem().getDelegate
+ * ().getName().equals("remove"); assert tiger.getName() == null; }
+ *
+ * @Test public void testMultipleRemoveMethodsWithDestroys() {
+ * EnterpriseBeanModel<Elephant> elephant =
+ * Util.createEnterpriseBeanModel(Elephant.class, manager); assert
+ * elephant.getRemoveMethod
+ * ().getAnnotatedItem().getDelegate().getName().equals("remove2"); }
+ *
+ * @Test(expectedExceptions=RuntimeException.class) public void
+ * testMultipleRemoveMethodsWithoutDestroys() { EnterpriseBeanModel<Puma>
+ * puma = Util.createEnterpriseBeanModel(Puma.class, manager); }
+ *
+ * @Test(expectedExceptions=RuntimeException.class) public void
+ * testMultipleRemoveMethodsWithMultipleDestroys() {
+ * EnterpriseBeanModel<Cougar> cougar =
+ * Util.createEnterpriseBeanModel(Cougar.class, manager); }
+ *
+ * @Test(expectedExceptions=RuntimeException.class) public void
+ * testNonStatefulEnterpriseBeanWithDestroys() { EnterpriseBeanModel<Cheetah>
+ * cheetah = Util.createEnterpriseBeanModel(Cheetah.class, manager); }
+ *
+ * @Test public void testRemoveMethodWithDefaultBinding() {
+ * EnterpriseBeanModel<Panther> panther =
+ * Util.createEnterpriseBeanModel(Panther.class, manager); assert
+ * panther.getRemoveMethod
+ * ().getAnnotatedItem().getDelegate().getName().equals("remove"); assert
+ * panther.getRemoveMethod().getParameters().size() == 1; assert
+ * panther.getRemoveMethod
+ * ().getParameters().get(0).getType().equals(String.class); assert
+ * panther.getRemoveMethod().getParameters().get(0).getBindingTypes().size()
+ * == 1; assert
+ * Reflections.annotationSetMatches(panther.getRemoveMethod().getParameters
+ * ().get(0).getBindingTypes(), Current.class); }
+ *
+ * @Test public void testMessageDriven() { EnterpriseBeanModel<Leopard>
+ * leopard = Util.createEnterpriseBeanModel(Leopard.class, manager); assert
+ * Reflections.annotationSetMatches(leopard.getBindingTypes(),
+ * Current.class); }
+ */
}
Show replies by date