[java-identity-provider] branch main updated: Sanitize use of servlet proxies out of tests.
Scott Cantor
cantor.2 at osu.edu
Thu Nov 10 13:45:51 UTC 2022
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch main
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=d7a105f22bcbe3f0c9aad813b16ff3fb16f01c3d
The following commit(s) were added to refs/heads/main by this push:
new d7a105f22 Sanitize use of servlet proxies out of tests.
d7a105f22 is described below
commit d7a105f22bcbe3f0c9aad813b16ff3fb16f01c3d
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Thu Nov 10 08:45:48 2022 -0500
Sanitize use of servlet proxies out of tests.
---
.../profile/impl/SessionManagerBaseTestCase.java | 19 +++++--------------
.../idp/session/impl/PopulateSessionContextTest.java | 16 +++++++---------
.../idp/session/impl/ProcessLogoutTest.java | 15 +++++++--------
.../idp/session/impl/SessionManagerBaseTestCase.java | 19 +++++--------------
.../impl/StorageBackedIdPSessionSerializerTest.java | 16 ++++------------
5 files changed, 28 insertions(+), 57 deletions(-)
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/SessionManagerBaseTestCase.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/SessionManagerBaseTestCase.java
index 20ff6810b..9de8145e1 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/SessionManagerBaseTestCase.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/SessionManagerBaseTestCase.java
@@ -18,12 +18,9 @@
package net.shibboleth.idp.saml.saml2.profile.impl;
import java.time.Duration;
-import java.util.function.Supplier;
import javax.annotation.Nonnull;
import jakarta.servlet.http.Cookie;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
import net.shibboleth.idp.session.SessionException;
import net.shibboleth.idp.session.impl.StorageBackedSessionManager;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
@@ -32,8 +29,8 @@ import net.shibboleth.shared.net.CookieManager;
import net.shibboleth.shared.security.IdentifierGenerationStrategy;
import net.shibboleth.shared.security.IdentifierGenerationStrategy.ProviderType;
import net.shibboleth.shared.servlet.impl.HttpServletRequestResponseContext;
-import net.shibboleth.shared.servlet.impl.ThreadLocalHttpServletRequestProxy;
-import net.shibboleth.shared.servlet.impl.ThreadLocalHttpServletResponseProxy;
+import net.shibboleth.shared.servlet.impl.ThreadLocalHttpServletRequestSupplier;
+import net.shibboleth.shared.servlet.impl.ThreadLocalHttpServletResponseSupplier;
import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
import org.opensaml.storage.impl.MemoryStorageService;
@@ -49,27 +46,21 @@ public class SessionManagerBaseTestCase extends OpenSAMLInitBaseTestCase {
protected StorageBackedSessionManager sessionManager;
- protected ThreadLocalHttpServletRequestProxy requestProxy;
-
- protected ThreadLocalHttpServletResponseProxy responseProxy;
-
@BeforeClass public void setUp() throws ComponentInitializationException {
- requestProxy = new ThreadLocalHttpServletRequestProxy();
- responseProxy = new ThreadLocalHttpServletResponseProxy();
storageService = new MemoryStorageService();
storageService.setId("TestStorageService");
CookieManager cookieManager = new CookieManager();
- cookieManager.setHttpServletRequestSupplier(new Supplier<>() {public HttpServletRequest get() { return requestProxy;}});
- cookieManager.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() { return responseProxy;}});
+ cookieManager.setHttpServletRequestSupplier(new ThreadLocalHttpServletRequestSupplier());
+ cookieManager.setHttpServletResponseSupplier(new ThreadLocalHttpServletResponseSupplier());
cookieManager.initialize();
sessionManager = new StorageBackedSessionManager();
sessionManager.setSessionTimeout(Duration.ofSeconds(15));
sessionManager.setStorageService(storageService);
sessionManager.setIDGenerator(IdentifierGenerationStrategy.getInstance(ProviderType.SECURE));
- sessionManager.setHttpServletRequestSupplier(new Supplier<>() {public HttpServletRequest get() {return requestProxy;}});
+ sessionManager.setHttpServletRequestSupplier(new ThreadLocalHttpServletRequestSupplier());
sessionManager.setCookieManager(cookieManager);
sessionManager.setId("Test Session Manager");
diff --git a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/PopulateSessionContextTest.java b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/PopulateSessionContextTest.java
index 037a4757e..a022c50ca 100644
--- a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/PopulateSessionContextTest.java
+++ b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/PopulateSessionContextTest.java
@@ -17,8 +17,6 @@
package net.shibboleth.idp.session.impl;
-import java.util.function.Supplier;
-
import org.opensaml.profile.context.ProfileRequestContext;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
@@ -29,8 +27,6 @@ import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import jakarta.servlet.http.Cookie;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
import net.shibboleth.idp.profile.context.navigate.WebflowRequestContextProfileRequestContextLookup;
import net.shibboleth.idp.profile.testing.ActionTestingSupport;
import net.shibboleth.idp.profile.testing.RequestContextBuilder;
@@ -38,6 +34,8 @@ import net.shibboleth.idp.session.SessionException;
import net.shibboleth.idp.session.context.SessionContext;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.servlet.impl.HttpServletRequestResponseContext;
+import net.shibboleth.shared.servlet.impl.ThreadLocalHttpServletRequestSupplier;
+import net.shibboleth.shared.servlet.impl.ThreadLocalHttpServletResponseSupplier;
/** {@link PopulateSessionContext} unit test. */
@SuppressWarnings("javadoc")
@@ -54,8 +52,8 @@ public class PopulateSessionContextTest extends SessionManagerBaseTestCase {
prc = new WebflowRequestContextProfileRequestContextLookup().apply(src);
action = new PopulateSessionContext();
- action.setHttpServletRequestSupplier(new Supplier<> () {public HttpServletRequest get() { return requestProxy;}});
- action.setHttpServletResponseSupplier(new Supplier<> () {public HttpServletResponse get() { return responseProxy;}});
+ action.setHttpServletRequestSupplier(new ThreadLocalHttpServletRequestSupplier());
+ action.setHttpServletResponseSupplier(new ThreadLocalHttpServletResponseSupplier());
action.setSessionResolver(sessionManager);
action.initialize();
}
@@ -123,10 +121,10 @@ public class PopulateSessionContextTest extends SessionManagerBaseTestCase {
@Test public void testAddressLookup() throws ComponentInitializationException, SessionException {
action = new PopulateSessionContext();
- action.setHttpServletRequestSupplier(new Supplier<> () {public HttpServletRequest get() { return requestProxy;}});
- action.setHttpServletResponseSupplier(new Supplier<> () {public HttpServletResponse get() { return responseProxy;}});
+ action.setHttpServletRequestSupplier(new ThreadLocalHttpServletRequestSupplier());
+ action.setHttpServletResponseSupplier(new ThreadLocalHttpServletResponseSupplier());
action.setSessionResolver(sessionManager);
- action.setAddressLookupStrategy(input -> requestProxy.getHeader("User-Agent"));
+ action.setAddressLookupStrategy(input -> action.getHttpServletRequest().getHeader("User-Agent"));
action.initialize();
Cookie cookie = createSession("joe");
diff --git a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/ProcessLogoutTest.java b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/ProcessLogoutTest.java
index e5ecfa42c..5e0d4e2f7 100644
--- a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/ProcessLogoutTest.java
+++ b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/ProcessLogoutTest.java
@@ -20,7 +20,6 @@ package net.shibboleth.idp.session.impl;
import java.time.Duration;
import java.time.Instant;
import java.util.Collections;
-import java.util.function.Supplier;
import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.storage.StorageSerializer;
@@ -33,8 +32,6 @@ import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import jakarta.servlet.http.Cookie;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
import net.shibboleth.idp.authn.context.SubjectContext;
import net.shibboleth.idp.profile.context.navigate.WebflowRequestContextProfileRequestContextLookup;
import net.shibboleth.idp.profile.testing.ActionTestingSupport;
@@ -50,6 +47,8 @@ import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.resolver.CriteriaSet;
import net.shibboleth.shared.resolver.ResolverException;
import net.shibboleth.shared.servlet.impl.HttpServletRequestResponseContext;
+import net.shibboleth.shared.servlet.impl.ThreadLocalHttpServletRequestSupplier;
+import net.shibboleth.shared.servlet.impl.ThreadLocalHttpServletResponseSupplier;
/** {@link ProcessLogout} unit test. */
@SuppressWarnings("javadoc")
@@ -66,8 +65,8 @@ public class ProcessLogoutTest extends SessionManagerBaseTestCase {
prc = new WebflowRequestContextProfileRequestContextLookup().apply(src);
action = new ProcessLogout();
- action.setHttpServletRequestSupplier(new Supplier<> () {public HttpServletRequest get() { return requestProxy;}});
- action.setHttpServletResponseSupplier(new Supplier<> () {public HttpServletResponse get() { return responseProxy;}});
+ action.setHttpServletRequestSupplier(new ThreadLocalHttpServletRequestSupplier());
+ action.setHttpServletResponseSupplier(new ThreadLocalHttpServletResponseSupplier());
action.setSessionResolver(sessionManager);
action.initialize();
}
@@ -189,10 +188,10 @@ public class ProcessLogoutTest extends SessionManagerBaseTestCase {
@Test public void testAddressLookup() throws ComponentInitializationException, SessionException, ResolverException {
action = new ProcessLogout();
- action.setHttpServletRequestSupplier(new Supplier<> () {public HttpServletRequest get() { return requestProxy;}});
- action.setHttpServletResponseSupplier(new Supplier<> () {public HttpServletResponse get() { return responseProxy;}});
+ action.setHttpServletRequestSupplier(new ThreadLocalHttpServletRequestSupplier());
+ action.setHttpServletResponseSupplier(new ThreadLocalHttpServletResponseSupplier());
action.setSessionResolver(sessionManager);
- action.setAddressLookupStrategy(input -> requestProxy.getHeader("User-Agent"));
+ action.setAddressLookupStrategy(input -> action.getHttpServletRequest().getHeader("User-Agent"));
action.initialize();
Cookie cookie = createSession("joe");
diff --git a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/SessionManagerBaseTestCase.java b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/SessionManagerBaseTestCase.java
index 2e5dbbaba..fe7411e65 100644
--- a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/SessionManagerBaseTestCase.java
+++ b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/SessionManagerBaseTestCase.java
@@ -18,12 +18,9 @@
package net.shibboleth.idp.session.impl;
import java.time.Duration;
-import java.util.function.Supplier;
import javax.annotation.Nonnull;
import jakarta.servlet.http.Cookie;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
import net.shibboleth.idp.session.SessionException;
import net.shibboleth.shared.annotation.constraint.NotEmpty;
import net.shibboleth.shared.component.ComponentInitializationException;
@@ -31,8 +28,8 @@ import net.shibboleth.shared.net.CookieManager;
import net.shibboleth.shared.security.IdentifierGenerationStrategy;
import net.shibboleth.shared.security.IdentifierGenerationStrategy.ProviderType;
import net.shibboleth.shared.servlet.impl.HttpServletRequestResponseContext;
-import net.shibboleth.shared.servlet.impl.ThreadLocalHttpServletRequestProxy;
-import net.shibboleth.shared.servlet.impl.ThreadLocalHttpServletResponseProxy;
+import net.shibboleth.shared.servlet.impl.ThreadLocalHttpServletRequestSupplier;
+import net.shibboleth.shared.servlet.impl.ThreadLocalHttpServletResponseSupplier;
import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
import org.opensaml.storage.impl.MemoryStorageService;
@@ -48,27 +45,21 @@ public class SessionManagerBaseTestCase extends OpenSAMLInitBaseTestCase {
protected StorageBackedSessionManager sessionManager;
- protected ThreadLocalHttpServletRequestProxy requestProxy;
-
- protected ThreadLocalHttpServletResponseProxy responseProxy;
-
@BeforeClass public void setUp() throws ComponentInitializationException {
- requestProxy = new ThreadLocalHttpServletRequestProxy();
- responseProxy = new ThreadLocalHttpServletResponseProxy();
storageService = new MemoryStorageService();
storageService.setId("TestStorageService");
CookieManager cookieManager = new CookieManager();
- cookieManager.setHttpServletRequestSupplier(new Supplier<>() {public HttpServletRequest get() { return requestProxy;}});
- cookieManager.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() { return responseProxy;}});
+ cookieManager.setHttpServletRequestSupplier(new ThreadLocalHttpServletRequestSupplier());
+ cookieManager.setHttpServletResponseSupplier(new ThreadLocalHttpServletResponseSupplier());
cookieManager.initialize();
sessionManager = new StorageBackedSessionManager();
sessionManager.setSessionTimeout(Duration.ofSeconds(15));
sessionManager.setStorageService(storageService);
sessionManager.setIDGenerator(IdentifierGenerationStrategy.getInstance(ProviderType.SECURE));
- sessionManager.setHttpServletRequestSupplier(new Supplier<>() {public HttpServletRequest get() {return requestProxy;}});
+ sessionManager.setHttpServletRequestSupplier(new ThreadLocalHttpServletRequestSupplier());
sessionManager.setCookieManager(cookieManager);
sessionManager.setId("Test Session Manager");
diff --git a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/StorageBackedIdPSessionSerializerTest.java b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/StorageBackedIdPSessionSerializerTest.java
index 4146aa6a2..754946b8e 100644
--- a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/StorageBackedIdPSessionSerializerTest.java
+++ b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/StorageBackedIdPSessionSerializerTest.java
@@ -22,18 +22,13 @@ import java.io.FileInputStream;
import java.io.IOException;
import java.net.URISyntaxException;
import java.time.Instant;
-import java.util.function.Supplier;
import org.opensaml.storage.impl.MemoryStorageService;
-import org.springframework.mock.web.MockHttpServletRequest;
-import org.springframework.mock.web.MockHttpServletResponse;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.testng.reporters.Files;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
import net.shibboleth.idp.authn.AuthenticationResult;
import net.shibboleth.idp.authn.principal.UsernamePrincipal;
import net.shibboleth.idp.session.BasicSPSession;
@@ -42,7 +37,8 @@ import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.net.CookieManager;
import net.shibboleth.shared.security.IdentifierGenerationStrategy;
import net.shibboleth.shared.security.IdentifierGenerationStrategy.ProviderType;
-import net.shibboleth.shared.servlet.impl.ThreadLocalHttpServletRequestProxy;
+import net.shibboleth.shared.servlet.impl.ThreadLocalHttpServletRequestSupplier;
+import net.shibboleth.shared.servlet.impl.ThreadLocalHttpServletResponseSupplier;
/** {@link StorageBackedIdPSessionSerializer} unit test. */
@SuppressWarnings("javadoc")
@@ -66,18 +62,14 @@ public class StorageBackedIdPSessionSerializerTest {
storageService.initialize();
CookieManager cookieManager = new CookieManager();
- final HttpServletRequest request = new MockHttpServletRequest();
- final HttpServletResponse response = new MockHttpServletResponse();
- cookieManager.setHttpServletRequestSupplier(new Supplier<>() {public HttpServletRequest get() { return request;}});
- cookieManager.setHttpServletResponseSupplier(new Supplier<>() {public HttpServletResponse get() { return response;}});
+ cookieManager.setHttpServletRequestSupplier(new ThreadLocalHttpServletRequestSupplier());
+ cookieManager.setHttpServletResponseSupplier(new ThreadLocalHttpServletResponseSupplier());
cookieManager.initialize();
manager = new StorageBackedSessionManager();
manager.setStorageService(storageService);
manager.setIDGenerator(IdentifierGenerationStrategy.getInstance(ProviderType.SECURE));
- final HttpServletRequest requestProxy = new ThreadLocalHttpServletRequestProxy();
- manager.setHttpServletRequestSupplier(new Supplier<>() {public HttpServletRequest get() {return requestProxy;}});
manager.setCookieManager(cookieManager);
manager.setId("Test Session Manager");
manager.setTrackSPSessions(true);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list