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));
+    }
 }