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

danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git

commit ce0c4c56e013ad0f893a51dceedb79ca2c68acaa
Author: Dan Haywood <d...@haywood-associates.co.uk>
AuthorDate: Fri Feb 23 00:47:37 2018 +0000

    1870: fixes RO server tests
---
 ...ceContextTest_ensureCompatibleAcceptHeader.java | 69 ++++++++++++++++----
 .../server/ResourceContextTest_getArg.java         | 73 +++++++++++++++++++---
 2 files changed, 120 insertions(+), 22 deletions(-)

diff --git 
a/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContextTest_ensureCompatibleAcceptHeader.java
 
b/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContextTest_ensureCompatibleAcceptHeader.java
index 6157373..b65bc91 100644
--- 
a/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContextTest_ensureCompatibleAcceptHeader.java
+++ 
b/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContextTest_ensureCompatibleAcceptHeader.java
@@ -21,15 +21,29 @@ package org.apache.isis.viewer.restfulobjects.server;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
+
+import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
 import javax.ws.rs.core.HttpHeaders;
 import javax.ws.rs.core.MediaType;
+
 import com.google.common.collect.Maps;
+
 import org.jmock.Expectations;
-import org.jmock.Mockery;
-import org.jmock.integration.junit4.JUnit4Mockery;
+import org.jmock.auto.Mock;
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
+
+import org.apache.isis.core.commons.authentication.AuthenticationSession;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
+import org.apache.isis.core.metamodel.services.ServicesInjector;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
+import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
+import org.apache.isis.core.runtime.system.session.IsisSession;
+import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.viewer.restfulobjects.applib.RepresentationType;
 import 
org.apache.isis.viewer.restfulobjects.applib.client.RestfulResponse.HttpStatusCode;
 import 
org.apache.isis.viewer.restfulobjects.rendering.RestfulObjectsApplicationException;
@@ -39,19 +53,47 @@ import static org.junit.Assert.assertThat;
 
 public class ResourceContextTest_ensureCompatibleAcceptHeader {
 
-    private HttpHeaders httpHeaders;
-    private HttpServletRequest httpServletRequest;
-
-    private final Mockery context = new JUnit4Mockery();
-
+    @Rule
+    public JUnitRuleMockery2 context = 
JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
+
+    @Mock HttpHeaders mockHttpHeaders;
+    @Mock HttpServletRequest mockHttpServletRequest;
+    @Mock ServletContext mockServletContext;
+    @Mock IsisSessionFactory mockIsisSessionFactory;
+    @Mock ServicesInjector mockServicesInjector;
+    @Mock IsisConfiguration mockConfiguration;
+    @Mock IsisSession mockIsisSession;
+    @Mock AuthenticationSession mockAuthenticationSession;
+    @Mock PersistenceSession mockPersistenceSession;
+    @Mock SpecificationLoader mockSpecificationLoader;
+
+    DeploymentCategory deploymentCategory;
     @Before
     public void setUp() throws Exception {
-        httpHeaders = context.mock(HttpHeaders.class);
-        httpServletRequest = context.mock(HttpServletRequest.class);
+        deploymentCategory = DeploymentCategory.PRODUCTION;
+
         context.checking(new Expectations() {
             {
-                allowing(httpServletRequest).getQueryString();
+                allowing(mockHttpServletRequest).getQueryString();
                 will(returnValue(""));
+                allowing(mockHttpServletRequest).getServletContext();
+                will(returnValue(mockServletContext));
+                
allowing(mockServletContext).getAttribute("org.apache.isis.core.webapp.isisSessionFactory");
+                will(returnValue(mockIsisSessionFactory));
+                allowing(mockIsisSessionFactory).getServicesInjector();
+                will(returnValue(mockServicesInjector));
+                allowing(mockIsisSessionFactory).getConfiguration();
+                will(returnValue(mockConfiguration));
+                allowing(mockIsisSessionFactory).getCurrentSession();
+                will(returnValue(mockIsisSession));
+                allowing(mockIsisSession).getAuthenticationSession();
+                will(returnValue(mockAuthenticationSession));
+                allowing(mockIsisSessionFactory).getSpecificationLoader();
+                will(returnValue(mockSpecificationLoader));
+                allowing(mockIsisSessionFactory).getDeploymentCategory();
+                will(returnValue(deploymentCategory));
+                allowing(mockIsisSession).getPersistenceSession();
+                will(returnValue(mockPersistenceSession));
             }
         });
     }
@@ -143,7 +185,7 @@ public class 
ResourceContextTest_ensureCompatibleAcceptHeader {
     private void givenHttpHeadersGetAcceptableMediaTypesReturns(final 
List<MediaType> mediaTypes) {
         context.checking(new Expectations() {
             {
-                oneOf(httpHeaders).getAcceptableMediaTypes();
+                allowing(mockHttpHeaders).getAcceptableMediaTypes();
                 will(returnValue(mediaTypes));
             }
         });
@@ -153,7 +195,7 @@ public class 
ResourceContextTest_ensureCompatibleAcceptHeader {
         final HashMap<Object, Object> parameterMap = Maps.newHashMap();
         context.checking(new Expectations() {
             {
-                oneOf(httpServletRequest).getParameterMap();
+                oneOf(mockHttpServletRequest).getParameterMap();
                 will(returnValue(parameterMap));
             }
         });
@@ -161,7 +203,8 @@ public class 
ResourceContextTest_ensureCompatibleAcceptHeader {
 
     private ResourceContext instantiateResourceContext(
             final RepresentationType representationType) {
-        return new ResourceContext(representationType, httpHeaders, null, 
null, null, null, null, null, httpServletRequest, null, null,
+        return new ResourceContext(representationType, mockHttpHeaders, null, 
null, null, null, null, null,
+                mockHttpServletRequest, null, null,
                 null);
     }
 
diff --git 
a/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContextTest_getArg.java
 
b/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContextTest_getArg.java
index 8e20191..6cb4384 100644
--- 
a/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContextTest_getArg.java
+++ 
b/core/viewer-restfulobjects-server/src/test/java/org/apache/isis/viewer/restfulobjects/server/ResourceContextTest_getArg.java
@@ -20,15 +20,27 @@ package org.apache.isis.viewer.restfulobjects.server;
 
 import java.util.HashMap;
 
+import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.core.HttpHeaders;
 
 import com.google.common.collect.Maps;
 
 import org.jmock.Expectations;
 import org.jmock.auto.Mock;
+import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 
+import org.apache.isis.core.commons.authentication.AuthenticationSession;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.url.UrlDecoderUtil;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
+import org.apache.isis.core.metamodel.services.ServicesInjector;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
+import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
+import org.apache.isis.core.runtime.system.session.IsisSession;
+import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
 import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
@@ -44,19 +56,60 @@ public class ResourceContextTest_getArg {
     @Rule
     public JUnitRuleMockery2 context = 
JUnitRuleMockery2.createFor(Mode.INTERFACES_AND_CLASSES);
 
-    @Mock
-    private HttpServletRequest httpServletRequest;
-    @Mock
+    @Mock HttpHeaders mockHttpHeaders;
+    @Mock HttpServletRequest mockHttpServletRequest;
+    @Mock ServletContext mockServletContext;
+    @Mock IsisSessionFactory mockIsisSessionFactory;
+    @Mock ServicesInjector mockServicesInjector;
+    @Mock IsisConfiguration mockConfiguration;
+    @Mock IsisSession mockIsisSession;
+    @Mock AuthenticationSession mockAuthenticationSession;
+    @Mock PersistenceSession mockPersistenceSession;
+    @Mock SpecificationLoader mockSpecificationLoader;
+
     private ResourceContext resourceContext;
 
+    DeploymentCategory deploymentCategory;
+
+    @Before
+    public void setUp() throws Exception {
+        deploymentCategory = DeploymentCategory.PRODUCTION;
+
+        context.checking(new Expectations() {
+            {
+                allowing(mockHttpServletRequest).getQueryString();
+                will(returnValue(""));
+                allowing(mockHttpServletRequest).getServletContext();
+                will(returnValue(mockServletContext));
+                
allowing(mockServletContext).getAttribute("org.apache.isis.core.webapp.isisSessionFactory");
+                will(returnValue(mockIsisSessionFactory));
+                allowing(mockIsisSessionFactory).getServicesInjector();
+                will(returnValue(mockServicesInjector));
+                allowing(mockIsisSessionFactory).getConfiguration();
+                will(returnValue(mockConfiguration));
+                allowing(mockIsisSessionFactory).getCurrentSession();
+                will(returnValue(mockIsisSession));
+                allowing(mockIsisSession).getAuthenticationSession();
+                will(returnValue(mockAuthenticationSession));
+                allowing(mockIsisSessionFactory).getSpecificationLoader();
+                will(returnValue(mockSpecificationLoader));
+                allowing(mockIsisSessionFactory).getDeploymentCategory();
+                will(returnValue(deploymentCategory));
+                allowing(mockIsisSession).getPersistenceSession();
+                will(returnValue(mockPersistenceSession));
+            }
+        });
+    }
 
     @Test
     public void whenArgExists() throws Exception {
         final String queryString = 
UrlEncodingUtils.urlEncode(JsonRepresentation.newMap("x-ro-page", 
"123").asJsonNode());
-        givenServletRequestQueryString(queryString);
+        //givenServletRequestQueryString(queryString);
         givenServletRequestParameterMapEmpty();
 
-        resourceContext = new ResourceContext(null, null, null, null, null, 
null, null, (String)null, httpServletRequest, null, null,
+        resourceContext = new ResourceContext(null, null, null, null, null, 
null, null,
+                UrlDecoderUtil.urlDecodeNullSafe(queryString),
+                mockHttpServletRequest, null, null,
                 null) {
             @Override
             void init(final RepresentationType representationType) {
@@ -70,10 +123,12 @@ public class ResourceContextTest_getArg {
     @Test
     public void whenArgDoesNotExist() throws Exception {
         final String queryString = 
UrlEncodingUtils.urlEncode(JsonRepresentation.newMap("xxx", 
"123").asJsonNode());
-        givenServletRequestQueryString(queryString);
+        //givenServletRequestQueryString(queryString);
         givenServletRequestParameterMapEmpty();
 
-        resourceContext = new ResourceContext(null, null, null, null, null, 
null, null, (String)null, httpServletRequest, null, null,
+        resourceContext = new ResourceContext(null, null, null, null, null, 
null, null,
+                UrlDecoderUtil.urlDecodeNullSafe(queryString),
+                mockHttpServletRequest, null, null,
                 null) {
             @Override
             void init(final RepresentationType representationType) {
@@ -87,7 +142,7 @@ public class ResourceContextTest_getArg {
     private void givenServletRequestQueryString(final String queryString) {
         context.checking(new Expectations() {
             {
-                one(httpServletRequest).getQueryString();
+                one(mockHttpServletRequest).getQueryString();
                 will(returnValue(queryString));
             }
         });
@@ -98,7 +153,7 @@ public class ResourceContextTest_getArg {
         final HashMap<Object, Object> parameterMap = Maps.newHashMap();
         context.checking(new Expectations() {
             {
-                oneOf(httpServletRequest).getParameterMap();
+                oneOf(mockHttpServletRequest).getParameterMap();
                 will(returnValue(parameterMap));
             }
         });

-- 
To stop receiving notification emails like this one, please contact
danhayw...@apache.org.

Reply via email to