You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by as...@apache.org on 2015/05/04 16:52:24 UTC
svn commit: r1677612 -
/sling/trunk/bundles/engine/src/test/java/org/apache/sling/engine/impl/SlingHttpServletRequestImplTest.java
Author: asanso
Date: Mon May 4 14:52:24 2015
New Revision: 1677612
URL: http://svn.apache.org/r1677612
Log:
SLING-4687 - Add unit tests for SLING-3633
Added:
sling/trunk/bundles/engine/src/test/java/org/apache/sling/engine/impl/SlingHttpServletRequestImplTest.java
Added: sling/trunk/bundles/engine/src/test/java/org/apache/sling/engine/impl/SlingHttpServletRequestImplTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/engine/src/test/java/org/apache/sling/engine/impl/SlingHttpServletRequestImplTest.java?rev=1677612&view=auto
==============================================================================
--- sling/trunk/bundles/engine/src/test/java/org/apache/sling/engine/impl/SlingHttpServletRequestImplTest.java (added)
+++ sling/trunk/bundles/engine/src/test/java/org/apache/sling/engine/impl/SlingHttpServletRequestImplTest.java Mon May 4 14:52:24 2015
@@ -0,0 +1,120 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sling.engine.impl;
+
+import java.security.Principal;
+
+import javax.servlet.http.HttpServletRequest;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.engine.impl.request.RequestData;
+import org.jmock.Expectations;
+import org.jmock.Mockery;
+import org.jmock.integration.junit4.JUnit4Mockery;
+import org.jmock.lib.legacy.ClassImposteriser;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class SlingHttpServletRequestImplTest {
+
+ SlingHttpServletRequestImpl slingHttpServletRequestImpl;
+
+ private Mockery context = new JUnit4Mockery() {{
+ setImposteriser(ClassImposteriser.INSTANCE);
+ }};
+
+ @Test
+ public void getUserPrincipal_test() {
+ final HttpServletRequest servletRequest = context.mock(HttpServletRequest.class);
+
+ context.checking(new Expectations() {{
+ one(servletRequest).getServletPath();
+ will(returnValue("/path"));
+ allowing(servletRequest).getPathInfo();
+ will(returnValue("/path"));
+ allowing(servletRequest).getRemoteUser();
+ will(returnValue("remoteUser"));
+ }});
+
+ final RequestData requestData = context.mock(RequestData.class, "requestData");
+ final ResourceResolver resourceResolver = context.mock(ResourceResolver.class);
+
+ context.checking(new Expectations() {{
+ allowing(requestData).getResourceResolver();
+ will(returnValue(resourceResolver));
+ allowing(resourceResolver).adaptTo(Principal.class);
+ will(returnValue(null));
+ }});
+
+ slingHttpServletRequestImpl = new SlingHttpServletRequestImpl(requestData, servletRequest);
+ Assert.assertEquals("UserPrincipal: remoteUser", slingHttpServletRequestImpl.getUserPrincipal().toString());
+ }
+
+ @Test
+ public void getUserPrincipal_test2() {
+ final HttpServletRequest servletRequest = context.mock(HttpServletRequest.class);
+
+ context.checking(new Expectations() {{
+ one(servletRequest).getServletPath();
+ will(returnValue("/path"));
+ allowing(servletRequest).getPathInfo();
+ will(returnValue("/path"));
+ allowing(servletRequest).getRemoteUser();
+ will(returnValue(null));
+ }});
+
+ final RequestData requestData = context.mock(RequestData.class, "requestData");
+ final ResourceResolver resourceResolver = context.mock(ResourceResolver.class);
+
+ context.checking(new Expectations() {{
+ allowing(requestData).getResourceResolver();
+ will(returnValue(resourceResolver));
+ allowing(resourceResolver).adaptTo(Principal.class);
+ will(returnValue(null));
+ }});
+
+ slingHttpServletRequestImpl = new SlingHttpServletRequestImpl(requestData, servletRequest);
+ Assert.assertNull(slingHttpServletRequestImpl.getUserPrincipal());
+ }
+
+ @Test
+ public void getUserPrincipal_test3() {
+ final HttpServletRequest servletRequest = context.mock(HttpServletRequest.class);
+
+ context.checking(new Expectations() {{
+ one(servletRequest).getServletPath();
+ will(returnValue("/path"));
+ allowing(servletRequest).getPathInfo();
+ will(returnValue("/path"));
+ }});
+
+ final RequestData requestData = context.mock(RequestData.class, "requestData");
+ final ResourceResolver resourceResolver = context.mock(ResourceResolver.class);
+ final Principal principal = context.mock(Principal.class);
+
+ context.checking(new Expectations() {{
+ allowing(requestData).getResourceResolver();
+ will(returnValue(resourceResolver));
+ allowing(resourceResolver).adaptTo(Principal.class);
+ will(returnValue(principal));
+ }});
+
+ slingHttpServletRequestImpl = new SlingHttpServletRequestImpl(requestData, servletRequest);
+ Assert.assertEquals(principal, slingHttpServletRequestImpl.getUserPrincipal());
+ }
+}