You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ar...@apache.org on 2021/10/10 10:24:29 UTC

[openwebbeans] branch OWB-1393 created (now 0cf9940)

This is an automated email from the ASF dual-hosted git repository.

arne pushed a change to branch OWB-1393
in repository https://gitbox.apache.org/repos/asf/openwebbeans.git.


      at 0cf9940  OWB-1393: Add test case

This branch includes the following new commits:

     new 0cf9940  OWB-1393: Add test case

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[openwebbeans] 01/01: OWB-1393: Add test case

Posted by ar...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

arne pushed a commit to branch OWB-1393
in repository https://gitbox.apache.org/repos/asf/openwebbeans.git

commit 0cf994045bb2d055d2146b01e92d4fbb9a164c87
Author: arne <ar...@apache.org>
AuthorDate: Sun Oct 10 12:23:52 2021 +0200

    OWB-1393: Add test case
---
 .../portable/events/ProcessObserverMethodTest.java | 60 ++++++++++++++++++++++
 .../extensions/ProcessObserverMethodExtension.java | 42 +++++++++++++++
 2 files changed, 102 insertions(+)

diff --git a/webbeans-impl/src/test/java/org/apache/webbeans/test/portable/events/ProcessObserverMethodTest.java b/webbeans-impl/src/test/java/org/apache/webbeans/test/portable/events/ProcessObserverMethodTest.java
new file mode 100644
index 0000000..e12e09a
--- /dev/null
+++ b/webbeans-impl/src/test/java/org/apache/webbeans/test/portable/events/ProcessObserverMethodTest.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.apache.webbeans.test.portable.events;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import javax.enterprise.context.spi.Context;
+import javax.enterprise.event.Observes;
+
+import org.apache.webbeans.test.AbstractUnitTest;
+import org.apache.webbeans.test.portable.events.extensions.ProcessObserverMethodExtension;
+import org.junit.Assert;
+import org.junit.Ignore;
+import org.junit.Test;
+
+public class ProcessObserverMethodTest extends AbstractUnitTest
+{
+
+    @Test
+    @Ignore
+    public void testProcessObserverMethodIsInvoked()
+    {
+        Collection<String> beanXmls = new ArrayList<String>();
+        
+        Collection<Class<?>> beanClasses = new ArrayList<Class<?>>();
+        beanClasses.add(MyObserver.class);
+
+        addExtension(new ProcessObserverMethodExtension.BrokenExtension());  
+        addExtension(new ProcessObserverMethodExtension());
+        
+        startContainer(beanClasses, beanXmls);
+        
+        Assert.assertTrue(ProcessObserverMethodExtension.processObserverMethodInvoked);
+        
+        shutDownContainer();
+    }
+
+    public static class MyObserver {
+        public void observe(@Observes Context context) {
+            // just any observer
+        }
+    }
+}
diff --git a/webbeans-impl/src/test/java/org/apache/webbeans/test/portable/events/extensions/ProcessObserverMethodExtension.java b/webbeans-impl/src/test/java/org/apache/webbeans/test/portable/events/extensions/ProcessObserverMethodExtension.java
new file mode 100644
index 0000000..c0c7eb3
--- /dev/null
+++ b/webbeans-impl/src/test/java/org/apache/webbeans/test/portable/events/extensions/ProcessObserverMethodExtension.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.apache.webbeans.test.portable.events.extensions;
+
+import javax.enterprise.context.spi.Context;
+import javax.enterprise.event.Observes;
+import javax.enterprise.inject.spi.Extension;
+import javax.enterprise.inject.spi.ProcessObserverMethod;
+
+public class ProcessObserverMethodExtension implements Extension
+{
+    public static boolean processObserverMethodInvoked = false;
+    
+    public void processObserverMethod(@Observes ProcessObserverMethod<?, ?> event)
+    {
+        processObserverMethodInvoked = true;
+    }
+
+    public static class BrokenExtension implements Extension
+    {
+        public void listenToNonLifecycleEvent(@Observes Context context)
+        {
+            // do nothing
+        }
+    }
+}