[webbeans-commits] Webbeans SVN: r2677 - in tck/trunk/impl/src/main: java/org/jboss/jsr299/tck/tests/deployment/lifecycle/fail2 and 6 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Sun May 10 15:53:05 EDT 2009


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;
+
+ at Target( { TYPE, METHOD })
+ at Retention(RUNTIME)
+ at Documented
+ at DeploymentType
+ at 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;
+
+ at 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;
+
+ at 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;
+
+ at 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;
+
+ at Target({TYPE, METHOD})
+ at Retention(RUNTIME)
+ at Interceptor
+ at 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
+ *
+ */
+ at Artifact
+ at 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
+ *
+ */
+ at Artifact
+ at 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;
+
+ at Target( { FIELD, PARAMETER })
+ at BindingType
+ at 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;
+
+ at Target( { FIELD, PARAMETER })
+ at Retention(RUNTIME)
+ at 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">




More information about the weld-commits mailing list