Author: dallen6
Date: 2009-05-10 15:53:05 -0400 (Sun, 10 May 2009)
New Revision: 2677
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/AnotherDeploymentType.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DataAccess.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DataAccessAuthorizationDecorator.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DisabledBean.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/InitializedBinding.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/Interceptor1.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/InterceptorType1.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/NotAuthorizedException.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/User.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail3/
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail3/ManagerObserver.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail3/ObserverFailureInDefinitionPhaseTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail4/
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail4/ManagerObserver.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail4/ObserverFailureInDeploymentPhaseTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/BindingNotRuntime.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/NotABindingType.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/resolve/type/AnotherFooObserver.java
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DeploymentTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/ManagerObserver.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail2/AfterInitFailureTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/EventTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/resolve/binding/ResolvingChecksBindingTypeMembersTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/resolve/type/ChecksTypeParametersWhenResolvingTest.java
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/resolve/type/Foo.java
tck/trunk/impl/src/main/resources/tck-audit.xml
Log:
Some new tests for Section 11 and minor mods to event tests
Copied:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/AnotherDeploymentType.java
(from rev 2664,
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/context/dependent/AnotherDeploymentType.java)
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/AnotherDeploymentType.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/AnotherDeploymentType.java 2009-05-10
19:53:05 UTC (rev 2677)
@@ -0,0 +1,20 @@
+package org.jboss.jsr299.tck.tests.deployment.lifecycle;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.inject.DeploymentType;
+
+@Target( { TYPE, METHOD })
+@Retention(RUNTIME)
+@Documented
+@DeploymentType
+@interface AnotherDeploymentType
+{
+
+}
\ No newline at end of file
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DataAccess.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DataAccess.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DataAccess.java 2009-05-10
19:53:05 UTC (rev 2677)
@@ -0,0 +1,9 @@
+package org.jboss.jsr299.tck.tests.deployment.lifecycle;
+
+interface DataAccess {
+ public Object load(Object id);
+ public Object getId();
+ public void save();
+ public void delete();
+ public Class<?> getDataType();
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DataAccess.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DataAccessAuthorizationDecorator.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DataAccessAuthorizationDecorator.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DataAccessAuthorizationDecorator.java 2009-05-10
19:53:05 UTC (rev 2677)
@@ -0,0 +1,58 @@
+package org.jboss.jsr299.tck.tests.deployment.lifecycle;
+
+import javax.decorator.Decorates;
+import javax.decorator.Decorator;
+import javax.inject.Current;
+
+@Decorator
+class DataAccessAuthorizationDecorator implements DataAccess
+{
+ @Decorates
+ DataAccess delegate;
+
+ @Current
+ User user;
+
+ public void save()
+ {
+ authorize("save");
+ delegate.save();
+ }
+
+ public void delete()
+ {
+ authorize("delete");
+ delegate.delete();
+ }
+
+ private void authorize(String action)
+ {
+ Object id = delegate.getId();
+ Class<?> type = delegate.getDataType();
+ if (user.hasPermission(action, type, id))
+ {
+ System.out.println("Authorized for " + action);
+ }
+ else
+ {
+ System.out.println("Not authorized for " + action);
+ throw new NotAuthorizedException(action);
+ }
+ }
+
+ public Class<?> getDataType()
+ {
+ return delegate.getDataType();
+ }
+
+ public Object getId()
+ {
+ return delegate.getId();
+ }
+
+ public Object load(Object id)
+ {
+ return delegate.load(id);
+ }
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DataAccessAuthorizationDecorator.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DeploymentTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DeploymentTest.java 2009-05-10
10:50:03 UTC (rev 2676)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DeploymentTest.java 2009-05-10
19:53:05 UTC (rev 2677)
@@ -34,10 +34,36 @@
{
@Test
@SpecAssertions({
- @SpecAssertion(section = "11.1", id = "d")
+ @SpecAssertion(section = "11.1", id = "d"),
+ @SpecAssertion(section = "11.1", id = "e"),
+ @SpecAssertion(section = "11.5", id = "b")
})
public void testDeployedManagerEvent()
{
assert ManagerObserver.isManagerDeployed();
+ getCurrentManager().fireEvent("event");
+ assert !getCurrentManager().resolveObservers(getCurrentManager(), new
InitializedBinding()).isEmpty();
}
+
+ @Test
+ @SpecAssertions({
+ @SpecAssertion(section = "11.5", id = "d")
+ })
+ public void testScopesActive()
+ {
+ assert ManagerObserver.isApplicationContextActive();
+ assert ManagerObserver.isRequestContextActive();
+ }
+
+ @Test(groups = { "ri-broken" })
+ @SpecAssertions({
+ @SpecAssertion(section = "11.2", id = "ac")
+ })
+ public void testOnlyEnabledBeansDeployed()
+ {
+ assert !getCurrentManager().resolveByType(User.class).isEmpty();
+ assert getCurrentManager().resolveByType(DisabledBean.class).isEmpty();
+ assert getCurrentManager().resolveByType(Interceptor1.class).isEmpty();
+ assert
getCurrentManager().resolveByType(DataAccessAuthorizationDecorator.class).isEmpty();
+ }
}
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DisabledBean.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DisabledBean.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DisabledBean.java 2009-05-10
19:53:05 UTC (rev 2677)
@@ -0,0 +1,7 @@
+package org.jboss.jsr299.tck.tests.deployment.lifecycle;
+
+@AnotherDeploymentType
+class DisabledBean
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/DisabledBean.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/InitializedBinding.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/InitializedBinding.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/InitializedBinding.java 2009-05-10
19:53:05 UTC (rev 2677)
@@ -0,0 +1,9 @@
+package org.jboss.jsr299.tck.tests.deployment.lifecycle;
+
+import javax.inject.AnnotationLiteral;
+import javax.inject.manager.Initialized;
+
+class InitializedBinding extends AnnotationLiteral<Initialized> implements
Initialized
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/InitializedBinding.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/Interceptor1.java
(from rev 2664,
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/xml/annotationtypes/Interceptor1.java)
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/Interceptor1.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/Interceptor1.java 2009-05-10
19:53:05 UTC (rev 2677)
@@ -0,0 +1,13 @@
+package org.jboss.jsr299.tck.tests.deployment.lifecycle;
+
+import javax.interceptor.AroundInvoke;
+import javax.interceptor.InvocationContext;
+
+@InterceptorType1
+class Interceptor1
+{
+ @AroundInvoke public Object alwaysReturnThis(InvocationContext ctx) throws Exception
+ {
+ return ctx.proceed();
+ }
+}
Copied:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/InterceptorType1.java
(from rev 2664,
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/xml/annotationtypes/InterceptorType1.java)
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/InterceptorType1.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/InterceptorType1.java 2009-05-10
19:53:05 UTC (rev 2677)
@@ -0,0 +1,18 @@
+package org.jboss.jsr299.tck.tests.deployment.lifecycle;
+
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.TYPE;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+import javax.interceptor.Interceptor;
+
+@Target({TYPE, METHOD})
+@Retention(RUNTIME)
+@Interceptor
+@interface InterceptorType1
+{
+
+}
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/ManagerObserver.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/ManagerObserver.java 2009-05-10
10:50:03 UTC (rev 2676)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/ManagerObserver.java 2009-05-10
19:53:05 UTC (rev 2677)
@@ -1,5 +1,7 @@
package org.jboss.jsr299.tck.tests.deployment.lifecycle;
+import javax.context.ApplicationScoped;
+import javax.context.RequestScoped;
import javax.event.Observes;
import javax.inject.manager.Deployed;
import javax.inject.manager.Initialized;
@@ -9,16 +11,22 @@
{
private static boolean managerInitialized = false;
private static boolean managerDeployed = false;
+ private static boolean requestContextActive = false;
+ private static boolean applicationContextActive = false;
public void managerInitialized(@Observes @Initialized Manager manager)
{
managerInitialized = true;
+ requestContextActive = manager.getContext(RequestScoped.class).isActive();
+ applicationContextActive = manager.getContext(ApplicationScoped.class).isActive();
}
public void managerDeployed(@Observes @Deployed Manager manager)
{
assert managerInitialized : "Manager should have been initialized before
deployed";
managerDeployed = true;
+ requestContextActive &= manager.getContext(RequestScoped.class).isActive();
+ applicationContextActive &=
manager.getContext(ApplicationScoped.class).isActive();
}
public static boolean isManagerInitialized()
@@ -40,4 +48,24 @@
{
ManagerObserver.managerDeployed = managerDeployed;
}
+
+ public static boolean isRequestContextActive()
+ {
+ return requestContextActive;
+ }
+
+ public static void setRequestContextActive(boolean requestContextActive)
+ {
+ ManagerObserver.requestContextActive = requestContextActive;
+ }
+
+ public static boolean isApplicationContextActive()
+ {
+ return applicationContextActive;
+ }
+
+ public static void setApplicationContextActive(boolean applicationContextActive)
+ {
+ ManagerObserver.applicationContextActive = applicationContextActive;
+ }
}
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/NotAuthorizedException.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/NotAuthorizedException.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/NotAuthorizedException.java 2009-05-10
19:53:05 UTC (rev 2677)
@@ -0,0 +1,19 @@
+package org.jboss.jsr299.tck.tests.deployment.lifecycle;
+
+class NotAuthorizedException extends RuntimeException
+{
+ private static final long serialVersionUID = 1L;
+
+ public NotAuthorizedException(String message, Throwable cause)
+ {
+ super(message, cause);
+ // TODO Auto-generated constructor stub
+ }
+
+ public NotAuthorizedException(String message)
+ {
+ super(message);
+ // TODO Auto-generated constructor stub
+ }
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/NotAuthorizedException.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/User.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/User.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/User.java 2009-05-10
19:53:05 UTC (rev 2677)
@@ -0,0 +1,11 @@
+package org.jboss.jsr299.tck.tests.deployment.lifecycle;
+
+class User
+{
+
+ public boolean hasPermission(String action, Class<?> type, Object id)
+ {
+ return false;
+ }
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/User.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail2/AfterInitFailureTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail2/AfterInitFailureTest.java 2009-05-10
10:50:03 UTC (rev 2676)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail2/AfterInitFailureTest.java 2009-05-10
19:53:05 UTC (rev 2677)
@@ -40,7 +40,8 @@
@Test
@SpecAssertions({
@SpecAssertion(section = "11.1", id = "b"),
- @SpecAssertion(section = "11.1", id = "c")
+ @SpecAssertion(section = "11.1", id = "c"),
+ @SpecAssertion(section = "11.5", id = "a")
})
public void testDeploymentFailsAfterInitialization()
{
Copied:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail3/ManagerObserver.java
(from rev 2664,
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail/ManagerObserver.java)
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail3/ManagerObserver.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail3/ManagerObserver.java 2009-05-10
19:53:05 UTC (rev 2677)
@@ -0,0 +1,13 @@
+package org.jboss.jsr299.tck.tests.deployment.lifecycle.fail3;
+
+import javax.event.Observes;
+import javax.inject.manager.Initialized;
+import javax.inject.manager.Manager;
+
+class ManagerObserver
+{
+ public void managerInitialized(@Observes @Initialized Manager manager)
+ {
+ assert false : "This error should be turned into a DefinitionException";
+ }
+}
Copied:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail3/ObserverFailureInDefinitionPhaseTest.java
(from rev 2664,
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail/DeploymentFailureTest.java)
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail3/ObserverFailureInDefinitionPhaseTest.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail3/ObserverFailureInDefinitionPhaseTest.java 2009-05-10
19:53:05 UTC (rev 2677)
@@ -0,0 +1,29 @@
+package org.jboss.jsr299.tck.tests.deployment.lifecycle.fail3;
+
+import javax.inject.DefinitionException;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractJSR299Test;
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.testharness.impl.packaging.ExpectedDeploymentException;
+import org.testng.annotations.Test;
+
+/**
+ * Tests that any failure in an observer observing the @AfterBeanDiscovery
+ * event results in a DefinitionException.
+
+ * @author David Allen
+ *
+ */
+@Artifact
+(a)ExpectedDeploymentException(DefinitionException.class)
+public class ObserverFailureInDefinitionPhaseTest extends AbstractJSR299Test
+{
+ @Test(groups = { "ri-broken" })
+ @SpecAssertion(section = "11.5", id = "aa")
+ public void testObserverFailureRaisesDefinitionException()
+ {
+ assert false;
+ }
+
+}
Copied:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail4/ManagerObserver.java
(from rev 2664,
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail2/ManagerObserver.java)
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail4/ManagerObserver.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail4/ManagerObserver.java 2009-05-10
19:53:05 UTC (rev 2677)
@@ -0,0 +1,13 @@
+package org.jboss.jsr299.tck.tests.deployment.lifecycle.fail4;
+
+import javax.event.Observes;
+import javax.inject.manager.Deployed;
+import javax.inject.manager.Manager;
+
+class ManagerObserver
+{
+ public void managerDeployed(@Observes @Deployed Manager manager)
+ {
+ assert false : "This error should result in a DeploymentException";
+ }
+}
Copied:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail4/ObserverFailureInDeploymentPhaseTest.java
(from rev 2664,
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail2/AfterInitFailureTest.java)
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail4/ObserverFailureInDeploymentPhaseTest.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail4/ObserverFailureInDeploymentPhaseTest.java 2009-05-10
19:53:05 UTC (rev 2677)
@@ -0,0 +1,45 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jboss.jsr299.tck.tests.deployment.lifecycle.fail4;
+
+import javax.inject.DeploymentException;
+
+import org.hibernate.tck.annotations.SpecAssertion;
+import org.jboss.jsr299.tck.AbstractJSR299Test;
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.testharness.impl.packaging.ExpectedDeploymentException;
+import org.testng.annotations.Test;
+
+/**
+ * Tests that any failure in an observer observing the @AfterDependencyValidation
+ * event results in a DeploymentException.
+ *
+ * @author David Allen
+ *
+ */
+@Artifact
+(a)ExpectedDeploymentException(DeploymentException.class)
+public class ObserverFailureInDeploymentPhaseTest extends AbstractJSR299Test
+{
+ @Test(groups = { "ri-broken" })
+ @SpecAssertion(section = "11.5", id = "ba")
+ public void testDeploymentFailsAfterInitialization()
+ {
+ assert false;
+ }
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail4/ObserverFailureInDeploymentPhaseTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/BindingNotRuntime.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/BindingNotRuntime.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/BindingNotRuntime.java 2009-05-10
19:53:05 UTC (rev 2677)
@@ -0,0 +1,15 @@
+package org.jboss.jsr299.tck.tests.event;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.PARAMETER;
+
+import java.lang.annotation.Target;
+
+import javax.inject.BindingType;
+
+@Target( { FIELD, PARAMETER })
+@BindingType
+@interface BindingNotRuntime
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/BindingNotRuntime.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/EventTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/EventTest.java 2009-05-10
10:50:03 UTC (rev 2676)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/EventTest.java 2009-05-10
19:53:05 UTC (rev 2677)
@@ -7,6 +7,7 @@
import javax.context.Dependent;
import javax.event.Event;
import javax.event.Observer;
+import javax.inject.AnnotationLiteral;
import javax.inject.DuplicateBindingTypeException;
import javax.inject.Standard;
import javax.inject.TypeLiteral;
@@ -89,11 +90,11 @@
*
* @Retention(RUNTIME)~
*/
- @Test(groups = { "events", "stub" })
+ @Test(groups = { "events" })
@SpecAssertions( { @SpecAssertion(section = "7.1", id = "d") })
public void testEventBindingTypeTargetMostAndRuntime()
{
- assert false;
+ getCurrentManager().fireEvent("event", new TameAnnotationLiteral());
}
/**
@@ -102,32 +103,31 @@
*
* @Retention(RUNTIME)~
*/
- @Test(groups = { "events", "stub" })
+ @Test(groups = { "events" })
@SpecAssertions( { @SpecAssertion(section = "7.1", id = "e") })
public void testEventBindingTypeTargetsFieldParameterAndRuntime()
{
- assert false;
+ getCurrentManager().fireEvent("event", new
RoleBinding("Admin"));
}
/**
* An event binding type is a Java annotation defined as ~@Target({FIELD,
* PARAMETER}) or @Target({METHOD, FIELD, PARAMETER, TYPE}) and
- * ~@Retention(RUNTIME) TODO If the binding does not have RUNTIME retention,
- * it cannot be tested
+ * ~@Retention(RUNTIME)
*/
- @Test(groups = { "events", "stub" })
+ @Test(groups = { "events", "ri-broken" }, expectedExceptions = {
IllegalArgumentException.class } )
@SpecAssertions( { @SpecAssertion(section = "7.1", id = "f") })
public void testEventBindingTypeNotRuntime()
{
- assert false;
+ //TODO This should throw an exception since by definition this is not an event
binding type
+ getCurrentManager().fireEvent("event", new
AnnotationLiteral<BindingNotRuntime>(){});
}
- // TODO How to test all annotations w/o BindingType are not event bindings
- @Test(groups = { "events", "underInvestigation" })
+ @Test(groups = { "events" }, expectedExceptions = {
IllegalArgumentException.class } )
@SpecAssertions( { @SpecAssertion(section = "7.1", id = "g") })
public void testEventBindingTypesSpecifyBinding()
{
- assert false;
+ getCurrentManager().fireEvent("event", new
AnnotationLiteral<NotABindingType>(){});
}
@Test(groups = { "events" }, expectedExceptions = {
IllegalArgumentException.class })
@@ -142,8 +142,6 @@
@SpecAssertions( { @SpecAssertion(section = "7.1", id = "b"),
@SpecAssertion(section = "7.2", id = "c") })
public void testManagerFireEventWithEventTypeWildcardsFails()
{
- // Although the above test is really the same as with a wildcard,
- // we will test it anyhow since the specification calls it out separately.
ATemplatedEventType<?> anEventOnAnyType = new
ATemplatedEventType<String>();
getCurrentManager().fireEvent(anEventOnAnyType);
}
@@ -253,7 +251,11 @@
}
@Test(groups = { "events" })
- @SpecAssertions( { @SpecAssertion(section = "7.5", id = "a"),
@SpecAssertion(section = "7.5.2", id = "a")} )
+ @SpecAssertions( {
+ @SpecAssertion(section = "7.5", id = "a"),
+ @SpecAssertion(section = "7.5.2", id = "a"),
+ @SpecAssertion(section = "11.2", id = "af")
+ })
public void testObserverMethodAutomaticallyRegistered()
{
assert !getCurrentManager().resolveObservers("event").isEmpty();
Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/NotABindingType.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/NotABindingType.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/NotABindingType.java 2009-05-10
19:53:05 UTC (rev 2677)
@@ -0,0 +1,15 @@
+package org.jboss.jsr299.tck.tests.event;
+
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Target( { FIELD, PARAMETER })
+@Retention(RUNTIME)
+@interface NotABindingType
+{
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/NotABindingType.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/resolve/binding/ResolvingChecksBindingTypeMembersTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/resolve/binding/ResolvingChecksBindingTypeMembersTest.java 2009-05-10
10:50:03 UTC (rev 2676)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/resolve/binding/ResolvingChecksBindingTypeMembersTest.java 2009-05-10
19:53:05 UTC (rev 2677)
@@ -36,5 +36,7 @@
getCurrentManager().addObserver(anotherObserver, AnEventType.class, new
BindingTypeCBinding("second-observer"));
Set<Observer<AnEventType>> resolvedObservers =
getCurrentManager().resolveObservers(new AnEventType(), new
BindingTypeCBinding("first-observer"));
assert resolvedObservers.size() == 1;
+ resolvedObservers = getCurrentManager().resolveObservers(new AnEventType(), new
BindingTypeCBinding("second-observer"));
+ assert resolvedObservers.size() == 1;
}
}
Added:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/resolve/type/AnotherFooObserver.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/resolve/type/AnotherFooObserver.java
(rev 0)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/resolve/type/AnotherFooObserver.java 2009-05-10
19:53:05 UTC (rev 2677)
@@ -0,0 +1,13 @@
+package org.jboss.jsr299.tck.tests.event.resolve.type;
+
+import javax.event.Observes;
+
+public class AnotherFooObserver
+{
+
+ public void observe(@Observes Foo<Integer> foo)
+ {
+ foo.setObserved(true);
+ }
+
+}
Property changes on:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/resolve/type/AnotherFooObserver.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/resolve/type/ChecksTypeParametersWhenResolvingTest.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/resolve/type/ChecksTypeParametersWhenResolvingTest.java 2009-05-10
10:50:03 UTC (rev 2676)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/resolve/type/ChecksTypeParametersWhenResolvingTest.java 2009-05-10
19:53:05 UTC (rev 2677)
@@ -16,11 +16,13 @@
public static class AList extends ArrayList<String>
{
+ private static final long serialVersionUID = 1L;
}
public static class AnotherList extends ArrayList<Integer>
{
+ private static final long serialVersionUID = 1L;
}
@@ -50,12 +52,8 @@
{
AListObserver observer = new AListObserver();
AnotherListObserver anotherObserver = new AnotherListObserver();
- getCurrentManager().addObserver(observer, new
TypeLiteral<ArrayList<String>>()
- {
- });
- getCurrentManager().addObserver(anotherObserver, new
TypeLiteral<ArrayList<Integer>>()
- {
- });
+ getCurrentManager().addObserver(observer, new
TypeLiteral<ArrayList<String>>(){});
+ getCurrentManager().addObserver(anotherObserver, new
TypeLiteral<ArrayList<Integer>>(){});
assert getCurrentManager().resolveObservers(new AList()).size() == 1;
assert getCurrentManager().resolveObservers(new
AList()).iterator().next().getClass().equals(AListObserver.class);
}
Modified:
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/resolve/type/Foo.java
===================================================================
---
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/resolve/type/Foo.java 2009-05-10
10:50:03 UTC (rev 2676)
+++
tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/event/resolve/type/Foo.java 2009-05-10
19:53:05 UTC (rev 2677)
@@ -12,6 +12,7 @@
public void setObserved(boolean observed)
{
+ assert !this.observed : "Event should only be observed once";
this.observed = observed;
}
Modified: tck/trunk/impl/src/main/resources/tck-audit.xml
===================================================================
--- tck/trunk/impl/src/main/resources/tck-audit.xml 2009-05-10 10:50:03 UTC (rev 2676)
+++ tck/trunk/impl/src/main/resources/tck-audit.xml 2009-05-10 19:53:05 UTC (rev 2677)
@@ -3352,9 +3352,8 @@
<text>An event binding type is a Java annotation defined as ~|@Target({FIELD,
PARAMETER})| or~ |@Target({METHOD, FIELD, PARAMETER, TYPE})| ~and
|@Retention(RUNTIME)|~</text>
</assertion>
- <assertion id="f" testable="false">
+ <assertion id="f">
<text>An event binding type is a Java annotation defined as ~|@Target({FIELD,
PARAMETER})| or |@Target({METHOD, FIELD, PARAMETER, TYPE})| and
~|@Retention(RUNTIME)|</text>
- <note>The compiler discards non-runtime-retention annotation</note>
</assertion>
<assertion id="g">
@@ -4843,8 +4842,30 @@
</assertion>
</section>
- <section id="11.4" title="Providing additional XML based
metadata">
-
+ <section id="11.5" title="Initialization and Deployment
Events">
+ <assertion id="a">
+ <text>Container fires event of type Manager with binding type @Initialized
after bean discovery but before deployment problems are detected.</text>
+ </assertion>
+
+ <assertion id="b">
+ <text>The container must fire a second event of type Manager with binding
type @Deployed after it has validated that there are no deployment problems and before the
deployment begins processing requests.</text>
+ </assertion>
+
+ <assertion id="c">
+ <text>The container must not allow any request to be processed by the
deployment until all observers of this event return.</text>
+ </assertion>
+
+ <assertion id="d">
+ <text>The request and application contexts are active when these events are
fired.</text>
+ </assertion>
+
+ <assertion id="aa">
+ <text>If any observer method of the @Initialized event throws an exception,
the exception is treated as a definition error by the container.</text>
+ </assertion>
+
+ <assertion id="ba">
+ <text> f any observer method of the @Deployed event throws an exception, the
exception is treated as a deployment problem by the container.</text>
+ </assertion>
</section>
<section id="11.6" title="Activities">