You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2018/02/23 00:52:16 UTC
[isis] 03/03: 1870: fixes RO server tests
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 <da...@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
danhaywood@apache.org.