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 2016/04/22 11:59:16 UTC
[1/2] deltaspike git commit: DELTASPIKE-1131 improved MockHttpSession
Repository: deltaspike
Updated Branches:
refs/heads/master a33015198 -> 8f9441fcb
DELTASPIKE-1131 improved MockHttpSession
Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/8f9441fc
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/8f9441fc
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/8f9441fc
Branch: refs/heads/master
Commit: 8f9441fcb8211c85e5bcb421d1f644415ef4460c
Parents: 83dd59c
Author: gpetracek <gp...@apache.org>
Authored: Fri Apr 22 11:34:22 2016 +0200
Committer: gpetracek <gp...@apache.org>
Committed: Fri Apr 22 11:57:54 2016 +0200
----------------------------------------------------------------------
.../apache/deltaspike/cdise/owb/MockHttpSession.java | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/8f9441fc/deltaspike/cdictrl/impl-owb/src/main/java/org/apache/deltaspike/cdise/owb/MockHttpSession.java
----------------------------------------------------------------------
diff --git a/deltaspike/cdictrl/impl-owb/src/main/java/org/apache/deltaspike/cdise/owb/MockHttpSession.java b/deltaspike/cdictrl/impl-owb/src/main/java/org/apache/deltaspike/cdise/owb/MockHttpSession.java
index 8ce7dea..33b276d 100644
--- a/deltaspike/cdictrl/impl-owb/src/main/java/org/apache/deltaspike/cdise/owb/MockHttpSession.java
+++ b/deltaspike/cdictrl/impl-owb/src/main/java/org/apache/deltaspike/cdise/owb/MockHttpSession.java
@@ -19,6 +19,8 @@
package org.apache.deltaspike.cdise.owb;
import java.util.Enumeration;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpSession;
@@ -31,6 +33,8 @@ public class MockHttpSession implements HttpSession
{
private String sessionId;
+ private Map<String, Object> sessionMap = new ConcurrentHashMap<String, Object>();
+
public MockHttpSession(String sessionId)
{
this.sessionId = sessionId;
@@ -72,12 +76,12 @@ public class MockHttpSession implements HttpSession
public Object getAttribute(String name)
{
- return null;
+ return this.sessionMap.get(name);
}
public Object getValue(String name)
{
- return null;
+ return getAttribute(name);
}
public Enumeration getAttributeNames()
@@ -92,22 +96,27 @@ public class MockHttpSession implements HttpSession
public void setAttribute(String name, Object value)
{
+ this.sessionMap.put(name, value);
}
public void putValue(String name, Object value)
{
+ setAttribute(name, value);
}
public void removeAttribute(String name)
{
+ this.sessionMap.remove(name);
}
public void removeValue(String name)
{
+ removeAttribute(name);
}
public void invalidate()
{
+ this.sessionMap.clear();
}
public boolean isNew()
[2/2] deltaspike git commit: DELTASPIKE-1130 check session after
starting a new request
Posted by gp...@apache.org.
DELTASPIKE-1130 check session after starting a new request
Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/83dd59c2
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/83dd59c2
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/83dd59c2
Branch: refs/heads/master
Commit: 83dd59c218ff938e3e0ee861c017b03feae55620
Parents: a330151
Author: gpetracek <gp...@apache.org>
Authored: Fri Apr 22 11:21:24 2016 +0200
Committer: gpetracek <gp...@apache.org>
Committed: Fri Apr 22 11:57:54 2016 +0200
----------------------------------------------------------------------
.../cdise/tck/ContainerCtrlTckTest.java | 78 ++++++++++++++++++++
1 file changed, 78 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/83dd59c2/deltaspike/cdictrl/tck/src/main/java/org/apache/deltaspike/cdise/tck/ContainerCtrlTckTest.java
----------------------------------------------------------------------
diff --git a/deltaspike/cdictrl/tck/src/main/java/org/apache/deltaspike/cdise/tck/ContainerCtrlTckTest.java b/deltaspike/cdictrl/tck/src/main/java/org/apache/deltaspike/cdise/tck/ContainerCtrlTckTest.java
index 2160f5b..536508b 100644
--- a/deltaspike/cdictrl/tck/src/main/java/org/apache/deltaspike/cdise/tck/ContainerCtrlTckTest.java
+++ b/deltaspike/cdictrl/tck/src/main/java/org/apache/deltaspike/cdise/tck/ContainerCtrlTckTest.java
@@ -271,4 +271,82 @@ public class ContainerCtrlTckTest
cdiContainer.shutdown();
}
+
+ @Test
+ public void testNewRequests()
+ {
+ CdiContainer cdiContainer = CdiContainerLoader.getCdiContainer();
+ Assert.assertNotNull(cdiContainer);
+
+ cdiContainer.boot();
+ cdiContainer.getContextControl().startContext(SessionScoped.class);
+ cdiContainer.getContextControl().startContext(RequestScoped.class);
+
+ BeanManager beanManager = cdiContainer.getBeanManager();
+ Assert.assertNotNull(beanManager);
+
+ TestUser testUser = resolveInstance(beanManager, TestUser.class);
+
+ Assert.assertNotNull(testUser);
+ testUser.setName("tester");
+
+
+ CarRepair carRepair = resolveInstance(beanManager, CarRepair.class);
+
+ Assert.assertNotNull(carRepair);
+
+ Car car = carRepair.getCar();
+
+ Assert.assertNotNull(car);
+ Assert.assertNotNull(car.getUser());
+ Assert.assertEquals("tester", car.getUser().getName());
+
+
+ carRepair.getCar().getUser().setName("tck-tester");
+ Assert.assertEquals("tck-tester", testUser.getName());
+
+ cdiContainer.getContextControl().stopContext(RequestScoped.class);
+ cdiContainer.getContextControl().startContext(RequestScoped.class);
+
+ try
+ {
+ testUser = resolveInstance(beanManager, TestUser.class);
+
+ Assert.assertNotNull(testUser);
+ Assert.assertNotNull(testUser.getName());
+ Assert.assertEquals("tck-tester", testUser.getName());
+ }
+ catch (ContextNotActiveException e)
+ {
+ Assert.fail(e.getMessage());
+ }
+
+ try
+ {
+ carRepair = resolveInstance(beanManager, CarRepair.class);
+
+ Assert.assertNotNull(carRepair);
+
+ car = carRepair.getCar();
+
+ Assert.assertNotNull(car);
+ Assert.assertNotNull(car.getUser());
+ Assert.assertNotNull(car.getUser().getName());
+ Assert.assertEquals("tck-tester", car.getUser().getName());
+ }
+ catch (ContextNotActiveException e)
+ {
+ Assert.fail(e.getMessage());
+ }
+
+ cdiContainer.shutdown();
+ }
+
+ private <T> T resolveInstance(BeanManager beanManager, Class<T> beanClass)
+ {
+ Set<Bean<?>> beans = beanManager.getBeans(beanClass);
+ Bean<?> bean = beanManager.resolve(beans);
+
+ return (T) beanManager.getReference(bean, beanClass, beanManager.createCreationalContext(bean));
+ }
}