You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by gp...@apache.org on 2012/02/28 18:16:31 UTC
[2/2] git commit: DELTASPIKE-104 reStartContexts test
DELTASPIKE-104 reStartContexts test
Project: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/commit/2a7ebf90
Tree: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/tree/2a7ebf90
Diff: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/diff/2a7ebf90
Branch: refs/heads/master
Commit: 2a7ebf9086e255cd0fa60e48fc495869ccf37524
Parents: 80e1d83
Author: gpetracek <gp...@apache.org>
Authored: Tue Feb 28 17:56:37 2012 +0100
Committer: gpetracek <gp...@apache.org>
Committed: Tue Feb 28 18:14:34 2012 +0100
----------------------------------------------------------------------
.../deltaspike/cdise/tck/ContainerCtrlTckTest.java | 80 +++++++++++++--
1 files changed, 72 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/2a7ebf90/deltaspike/cdise/tck/src/main/java/org/apache/deltaspike/cdise/tck/ContainerCtrlTckTest.java
----------------------------------------------------------------------
diff --git a/deltaspike/cdise/tck/src/main/java/org/apache/deltaspike/cdise/tck/ContainerCtrlTckTest.java b/deltaspike/cdise/tck/src/main/java/org/apache/deltaspike/cdise/tck/ContainerCtrlTckTest.java
index ec09fa2..ff9fc8f 100644
--- a/deltaspike/cdise/tck/src/main/java/org/apache/deltaspike/cdise/tck/ContainerCtrlTckTest.java
+++ b/deltaspike/cdise/tck/src/main/java/org/apache/deltaspike/cdise/tck/ContainerCtrlTckTest.java
@@ -19,17 +19,17 @@
package org.apache.deltaspike.cdise.tck;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.BeanManager;
-import java.util.Set;
-
import org.apache.deltaspike.cdise.api.CdiContainer;
import org.apache.deltaspike.cdise.api.CdiContainerLoader;
-
import org.apache.deltaspike.cdise.tck.beans.CarRepair;
+import org.junit.Assert;
import org.junit.Test;
-import org.junit.Assert;
+import javax.enterprise.context.ApplicationScoped;
+import javax.enterprise.context.ContextNotActiveException;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
+import java.util.Set;
/**
* TCK test for the {@link org.apache.deltaspike.cdise.api.CdiContainer}
@@ -37,7 +37,7 @@ import org.junit.Assert;
public class ContainerCtrlTckTest
{
@Test
- public void testContainerBoot() throws Exception
+ public void testContainerBoot()
{
CdiContainer cc = CdiContainerLoader.getCdiContainer();
Assert.assertNotNull(cc);
@@ -62,7 +62,7 @@ public class ContainerCtrlTckTest
}
@Test
- public void testSimpleContainerBoot() throws Exception
+ public void testSimpleContainerBoot()
{
CdiContainer cc = CdiContainerLoader.getCdiContainer();
Assert.assertNotNull(cc);
@@ -83,4 +83,68 @@ public class ContainerCtrlTckTest
cc.stop();
}
+
+ //X TODO reactivate after the update to owb 1.1.4
+ //@Test
+
+ /**
+ * Stops and starts: application-, session- and request-scope.
+ * <p/>
+ * application-scoped instance has a ref to
+ * request-scoped instance which has a ref to
+ * session-scoped instance.
+ * <p/>
+ * If the deepest ref has the expected value, all levels in between were resetted correctly.
+ */
+ public void reStartContexts()
+ {
+ CdiContainer cdiContainer = CdiContainerLoader.getCdiContainer();
+ Assert.assertNotNull(cdiContainer);
+
+ cdiContainer.start();
+
+ BeanManager beanManager = cdiContainer.getBeanManager();
+ Assert.assertNotNull(beanManager);
+
+ Set<Bean<?>> beans = beanManager.getBeans(CarRepair.class);
+ Bean<?> bean = beanManager.resolve(beans);
+
+ CarRepair carRepair = (CarRepair)
+ beanManager.getReference(bean, CarRepair.class, beanManager.createCreationalContext(bean));
+
+ Assert.assertNotNull(carRepair);
+
+ Assert.assertNotNull(carRepair.getCar());
+ Assert.assertNotNull(carRepair.getCar().getUsr());
+
+ carRepair.getCar().getUsr().setName("tester");
+ Assert.assertEquals("tester", carRepair.getCar().getUsr().getName());
+
+ cdiContainer.stopContexts();
+ cdiContainer.stopContext(ApplicationScoped.class); //workaround for weld - see WELD-1072
+
+ carRepair = (CarRepair)
+ beanManager.getReference(bean, CarRepair.class, beanManager.createCreationalContext(bean));
+
+ try
+ {
+ Assert.assertNotNull(carRepair.getCar());
+ Assert.fail();
+ }
+ catch (ContextNotActiveException e)
+ {
+ //exception expected
+ }
+
+ cdiContainer.startContexts();
+
+ carRepair = (CarRepair)
+ beanManager.getReference(bean, CarRepair.class, beanManager.createCreationalContext(bean));
+
+ Assert.assertNotNull(carRepair.getCar());
+ Assert.assertNotNull(carRepair.getCar().getUsr());
+ Assert.assertNull(carRepair.getCar().getUsr().getName());
+
+ cdiContainer.stop();
+ }
}