Author: shane.bryzak(a)jboss.com
Date: 2009-07-29 03:26:41 -0400 (Wed, 29 Jul 2009)
New Revision: 3345
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/lifecycle/unproxyable/
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/lifecycle/unproxyable/UnproxyableBean.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/lifecycle/unproxyable/UnproxyableManagedBeanTest.java
Modified:
tck/trunk/impl/src/main/resources/tck-audit.xml
Log:
More assertion groupings, unproxyable managed bean test
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/lifecycle/unproxyable/UnproxyableBean.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/lifecycle/unproxyable/UnproxyableBean.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/lifecycle/unproxyable/UnproxyableBean.java 2009-07-29
07:26:41 UTC (rev 3345)
@@ -0,0 +1,9 @@
+package org.jboss.jsr299.tck.tests.implementation.simple.lifecycle.unproxyable;
+
+import javax.enterprise.context.RequestScoped;
+
+@RequestScoped
+public class UnproxyableBean
+{
+ private UnproxyableBean() {}
+}
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/lifecycle/unproxyable/UnproxyableManagedBeanTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/lifecycle/unproxyable/UnproxyableManagedBeanTest.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/simple/lifecycle/unproxyable/UnproxyableManagedBeanTest.java 2009-07-29
07:26:41 UTC (rev 3345)
@@ -0,0 +1,23 @@
+package org.jboss.jsr299.tck.tests.implementation.simple.lifecycle.unproxyable;
+
+import javax.enterprise.inject.UnproxyableResolutionException;
+
+import org.jboss.jsr299.tck.AbstractJSR299Test;
+import org.jboss.test.audit.annotations.SpecAssertion;
+import org.jboss.test.audit.annotations.SpecVersion;
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.testharness.impl.packaging.ExpectedDeploymentException;
+import org.testng.annotations.Test;
+
+@Artifact
+(a)ExpectedDeploymentException(UnproxyableResolutionException.class)
+@SpecVersion("20090625")
+public class UnproxyableManagedBeanTest extends AbstractJSR299Test
+{
+ @Test(groups = { "contexts" })
+ @SpecAssertion(section = "6.5.3", id = "a")
+ public void testNormalScopedUnproxyableBeanThrowsException()
+ {
+ assert false;
+ }
+}
Modified: tck/trunk/impl/src/main/resources/tck-audit.xml
===================================================================
--- tck/trunk/impl/src/main/resources/tck-audit.xml 2009-07-29 06:21:40 UTC (rev 3344)
+++ tck/trunk/impl/src/main/resources/tck-audit.xml 2009-07-29 07:26:41 UTC (rev 3345)
@@ -2692,19 +2692,23 @@
<text>As defined by the EJB specification, all stateful session beans are
passivation capable. Stateless and singleton session beans are not passivation
capable.</text>
<note>Defined by EJB spec</note>
</assertion>
+
+ <group>
+ <text>A managed bean is passivation capable if and only if the bean class is
serializable and all interceptors and decorators of the bean are
serializable.</text>
+
+ <assertion id="ba">
+ <text>Tests with a serializable bean class.</text>
+ </assertion>
+
+ <assertion id="bb">
+ <text>Tests with a serializable interceptor.</text>
+ </assertion>
+
+ <assertion id="bc">
+ <text>Tests with a serializable decorator.</text>
+ </assertion>
+ </group>
- <assertion id="ba">
- <text>A managed bean is passivation capable if and only if the bean class is
_serializable_ and all interceptors and decorators of the bean are
serializable.</text>
- </assertion>
-
- <assertion id="bb">
- <text>A managed bean is passivation capable if and only if the bean class is
serializable and all _interceptors_ and decorators of the bean are
serializable.</text>
- </assertion>
-
- <assertion id="bc">
- <text>A managed bean is passivation capable if and only if the bean class is
serializable and all interceptors and _decorators_ of the bean are
serializable.</text>
- </assertion>
-
<assertion id="ca">
<text>A producer method is passivation capable if and only if it never
returns a value which is not passivation capable at runtime. _A producer method with a
return type that implements or extends serializable is passivation capable_. A producer
method with a return type that is declared final and does not implement |Serializable| is
not passivation capable.</text>
</assertion>
@@ -2781,42 +2785,49 @@
<text>If a managed bean which declares a passivating scope is not passivation
capable, then the container automatically detects the problem and treats it as a
deployment problem, as defined in Section 12.4, "Problems detected automatically by
the container".</text>
<note>Here we check the class, as interceptors and decorators are tested
below</note>
</assertion>
+
+ <group>
+ <text>If a managed bean which declares a passivating scope has a
non-transient injected field, bean constructor parameter or initializer method parameter
that does not resolve to a passivation capable dependency, then the container
automatically detects the problem and treats it as a deployment problem, as defined in
Section 12.4, "Problems detected automatically by the container".</text>
+ <assertion id="aaba">
+ <text>Test with injected field.</text>
+ </assertion>
+
+ <assertion id="aabb">
+ <text>Test with bean constructor parameter.</text>
+ </assertion>
+
+ <assertion id="aabc">
+ <text>Test with initializer method parameter.</text>
+ </assertion>
+ </group>
+
+ <group>
+ <text>If a managed bean which declares a passivating scope has an interceptor
or decorator with a non-transient injected field, bean constructor parameter or
initializer method parameter that does not resolve to a passivation capable dependency,
then the container automatically detects the problem and treats it as a deployment
problem, as defined in Section 12.4, "Problems detected automatically by the
container".</text>
- <assertion id="aaba">
- <text>If a managed bean which declares a passivating scope has a
non-transient injected field~, bean constructor parameter or initializer method parameter~
that does not resolve to a passivation capable dependency, then the container
automatically detects the problem and treats it as a deployment problem, as defined in
Section 12.4, "Problems detected automatically by the container".</text>
- </assertion>
-
- <assertion id="aabb">
- <text>If a managed bean which declares a passivating scope has a
non-transient ~injected field,~ bean constructor parameter ~or initializer method
parameter~ that does not resolve to a passivation capable dependency, then the container
automatically detects the problem and treats it as a deployment problem, as defined in
Section 12.4, "Problems detected automatically by the container".</text>
- </assertion>
-
- <assertion id="aabc">
- <text>If a managed bean which declares a passivating scope has a
non-transient ~injected field, bean constructor parameter or~ initializer method parameter
that does not resolve to a passivation capable dependency, then the container
automatically detects the problem and treats it as a deployment problem, as defined in
Section 12.4, "Problems detected automatically by the container".</text>
- </assertion>
-
- <assertion id="aac">
- <text>If a managed bean which declares a passivating scope has an interceptor
~or decorator~ with a non-transient injected field~, bean constructor parameter or
initializer method parameter~ that does not resolve to a passivation capable dependency,
then the container automatically detects the problem and treats it as a deployment
problem, as defined in Section 12.4, "Problems detected automatically by the
container".</text>
- </assertion>
-
- <assertion id="aad">
- <text>If a managed bean which declares a passivating scope has an interceptor
~or decorator~ with a non-transient ~injected field,~ bean constructor parameter ~or
initializer method parameter~ that does not resolve to a passivation capable dependency,
then the container automatically detects the problem and treats it as a deployment
problem, as defined in Section 12.4, "Problems detected automatically by the
container".</text>
- </assertion>
-
- <assertion id="aae">
- <text>If a managed bean which declares a passivating scope has an interceptor
~or decorator~ with a non-transient ~injected field, bean constructor parameter or~
initializer method parameter that does not resolve to a passivation capable dependency,
then the container automatically detects the problem and treats it as a deployment
problem, as defined in Section 12.4, "Problems detected automatically by the
container".</text>
- </assertion>
-
- <assertion id="aaf">
- <text>If a managed bean which declares a passivating scope has an
~interceptor or~ decorator with a non-transient injected field~, bean constructor
parameter or initializer method parameter~ that does not resolve to a passivation capable
dependency, then the container automatically detects the problem and treats it as a
deployment problem, as defined in Section 12.4, "Problems detected automatically by
the container".</text>
- </assertion>
-
- <assertion id="aag">
- <text>If a managed bean which declares a passivating scope has an
~interceptor or~ decorator with a non-transient ~injected field,~ bean constructor
parameter ~or initializer method parameter~ that does not resolve to a passivation capable
dependency, then the container automatically detects the problem and treats it as a
deployment problem, as defined in Section 12.4, "Problems detected automatically by
the container".</text>
- </assertion>
-
- <assertion id="aah">
- <text>If a managed bean which declares a passivating scope has an
~interceptor or~ decorator with a non-transient ~injected field, bean constructor
parameter or~ initializer method parameter that does not resolve to a passivation capable
dependency, then the container automatically detects the problem and treats it as a
deployment problem, as defined in Section 12.4, "Problems detected automatically by
the container".</text>
- </assertion>
+ <assertion id="aac">
+ <text>Test interceptor with injected field.</text>
+ </assertion>
+
+ <assertion id="aad">
+ <text>Test interceptor with bean constructor parameter.</text>
+ </assertion>
+
+ <assertion id="aae">
+ <text>Test interceptor with initializer method parameter.</text>
+ </assertion>
+
+ <assertion id="aaf">
+ <text>Test decorator with injected field.</text>
+ </assertion>
+
+ <assertion id="aag">
+ <text>Test decorator with bean constructor parameter.</text>
+ </assertion>
+
+ <assertion id="aah">
+ <text>Test decorator with initializer method parameter.</text>
+ </assertion>
+ </group>
<assertion id="ba">
<text>If a stateful session bean has a non-transient injected field~, bean
constructor parameter or initializer method parameter~ that does not resolve to a
passivation capable dependency, then the container automatically detects the problem and
treats it as a deployment problem, as defined in Section 12.4, "Problems detected
automatically by the container".</text>