[java-idp-oidc] branch main updated: Adjust tests to rely on autowired data sealer.
Scott Cantor
cantor.2 at osu.edu
Wed Mar 2 20:34:23 UTC 2022
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch main
in repository java-idp-oidc.
View the commit online:
http://git.shibboleth.net/view/?p=java-idp-oidc.git;a=commit;h=83be34871d761cbb80f4a38d0374a95c0224221f
The following commit(s) were added to refs/heads/main by this push:
new 83be3487 Adjust tests to rely on autowired data sealer.
83be3487 is described below
commit 83be34871d761cbb80f4a38d0374a95c0224221f
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Wed Mar 2 15:34:20 2022 -0500
Adjust tests to rely on autowired data sealer.
---
.../oidc/op/profile/flow/AbstractOidcFlowTest.java | 11 +++++++++++
.../profile/flow/ClientCredentialsTokenFlowTest.java | 17 ++++-------------
.../idp/plugin/oidc/op/profile/flow/TokenFlowTest.java | 18 +++++-------------
3 files changed, 20 insertions(+), 26 deletions(-)
diff --git a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/AbstractOidcFlowTest.java b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/AbstractOidcFlowTest.java
index ed9a443c..8c05da65 100644
--- a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/AbstractOidcFlowTest.java
+++ b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/AbstractOidcFlowTest.java
@@ -34,6 +34,8 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.codec.binary.Base64;
import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.storage.StorageService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.test.context.ContextConfiguration;
@@ -67,6 +69,7 @@ import com.nimbusds.openid.connect.sdk.rp.OIDCClientMetadata;
import net.shibboleth.idp.test.flows.AbstractFlowTest;
import net.shibboleth.oidc.metadata.impl.BaseStorageServiceClientInformationComponent;
import net.shibboleth.utilities.java.support.net.HttpServletRequestResponseContext;
+import net.shibboleth.utilities.java.support.security.DataSealer;
/**
* Abstract unit test for the OIDC flows.
@@ -78,6 +81,10 @@ public abstract class AbstractOidcFlowTest extends AbstractFlowTest {
private String flowId;
+ @Autowired
+ @Qualifier("shibboleth.oidc.TokenSealer")
+ private DataSealer dataSealer;
+
protected AbstractOidcFlowTest(final String id) {
flowId = id;
}
@@ -102,6 +109,10 @@ public abstract class AbstractOidcFlowTest extends AbstractFlowTest {
HttpServletRequestResponseContext.loadCurrent((HttpServletRequest) request, (HttpServletResponse) response);
}
+ protected DataSealer getDataSealer() {
+ return dataSealer;
+ }
+
protected Response parseResponse(final FlowExecutionResult result) {
assertFlowExecutionOutcome(result.getOutcome(), END_STATE_ID);
final ProfileRequestContext prc = retrieveProfileRequestContext(result);
diff --git a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/ClientCredentialsTokenFlowTest.java b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/ClientCredentialsTokenFlowTest.java
index 73de8e7e..f9adef1b 100644
--- a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/ClientCredentialsTokenFlowTest.java
+++ b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/ClientCredentialsTokenFlowTest.java
@@ -23,7 +23,6 @@ import static org.testng.Assert.assertNull;
import static org.testng.Assert.assertTrue;
import java.io.IOException;
-import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.text.ParseException;
import java.time.Instant;
@@ -61,13 +60,11 @@ import com.nimbusds.oauth2.sdk.auth.ClientSecretJWT;
import com.nimbusds.oauth2.sdk.auth.JWTAuthentication;
import com.nimbusds.oauth2.sdk.token.AccessToken;
-import net.shibboleth.idp.plugin.oidc.op.profile.impl.BaseOIDCResponseActionTest;
import net.shibboleth.idp.plugin.oidc.op.token.support.AccessTokenClaimsSet;
import net.shibboleth.idp.plugin.oidc.op.token.support.TokenClaimsSet;
import net.shibboleth.oidc.profile.core.OidcError;
import net.shibboleth.utilities.java.support.annotation.constraint.NonnullElements;
import net.shibboleth.utilities.java.support.collection.Pair;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
import net.shibboleth.utilities.java.support.security.DataSealerException;
/**
@@ -285,10 +282,8 @@ public class ClientCredentialsTokenFlowTest extends AbstractOidcClientAuthentica
final AccessToken accessToken = tokenResponse.getTokens().getAccessToken();
Assert.assertNotNull(accessToken);
try {
- return AccessTokenClaimsSet.parse(accessToken.getValue(),
- BaseOIDCResponseActionTest.initializeDataSealer());
- } catch (final NoSuchAlgorithmException | java.text.ParseException | DataSealerException
- | ComponentInitializationException e) {
+ return AccessTokenClaimsSet.parse(accessToken.getValue(), getDataSealer());
+ } catch (final java.text.ParseException | DataSealerException e) {
return null;
}
}
@@ -349,21 +344,17 @@ public class ClientCredentialsTokenFlowTest extends AbstractOidcClientAuthentica
* @param audiences audiences to check for
* @param customClaims custom claim names to check for
*
- * @throws ComponentInitializationException
* @throws DataSealerException
* @throws ParseException
- * @throws NoSuchAlgorithmException
* @throws JOSEException
*/
private void verifyClaims(@Nullable final String type, @Nonnull final AccessToken token, @Nonnull final String cid,
@Nonnull final Scope s, @Nonnull @NonnullElements final Collection<String> audiences,
@Nullable final String...customClaims)
- throws NoSuchAlgorithmException, ParseException, DataSealerException, ComponentInitializationException,
- JOSEException {
+ throws ParseException, DataSealerException, JOSEException {
if (type == null) {
- final AccessTokenClaimsSet at = AccessTokenClaimsSet.parse(token.getValue(),
- BaseOIDCResponseActionTest.initializeDataSealer());
+ final AccessTokenClaimsSet at = AccessTokenClaimsSet.parse(token.getValue(), getDataSealer());
assertNotNull(at);
assertEquals(at.getACR(), null);
assertEquals(at.getAudience(), audiences);
diff --git a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/TokenFlowTest.java b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/TokenFlowTest.java
index 951f0840..79d337fa 100644
--- a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/TokenFlowTest.java
+++ b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/TokenFlowTest.java
@@ -18,7 +18,6 @@
package net.shibboleth.idp.plugin.oidc.op.profile.flow;
import java.io.IOException;
-import java.security.NoSuchAlgorithmException;
import java.text.ParseException;
import java.time.Instant;
import java.util.HashMap;
@@ -51,12 +50,10 @@ import com.nimbusds.openid.connect.sdk.OIDCTokenResponse;
import com.nimbusds.openid.connect.sdk.claims.ClaimsSet;
import net.minidev.json.JSONObject;
-import net.shibboleth.idp.plugin.oidc.op.profile.impl.BaseOIDCResponseActionTest;
import net.shibboleth.idp.plugin.oidc.op.profile.impl.ValidateGrantTest;
import net.shibboleth.idp.plugin.oidc.op.token.support.AccessTokenClaimsSet;
import net.shibboleth.idp.plugin.oidc.op.token.support.TokenClaimsSet;
import net.shibboleth.utilities.java.support.collection.Pair;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
import net.shibboleth.utilities.java.support.security.DataSealerException;
/**
@@ -172,9 +169,8 @@ public class TokenFlowTest extends AbstractOidcClientAuthenticationFlowTest {
Assert.assertNotNull(response.getTokens().getAccessToken());
Assert.assertNotNull(response.getOIDCTokens().getIDToken());
- final ValidateGrantTest test = new ValidateGrantTest();
final AccessTokenClaimsSet token =
- AccessTokenClaimsSet.parse(response.getTokens().getAccessToken().getValue(), test.getDataSealer());
+ AccessTokenClaimsSet.parse(response.getTokens().getAccessToken().getValue(), getDataSealer());
Assert.assertTrue(token.getScope().contains("openid"));
Assert.assertTrue(token.getScope().contains("profile"));
Assert.assertFalse(token.getScope().contains("email"));
@@ -248,16 +244,14 @@ public class TokenFlowTest extends AbstractOidcClientAuthenticationFlowTest {
throws Exception {
final String json = buildJsonForLegacyToken("jdoe", clientId, Scope.parse("openid email"), "ac",
consentedClaims);
- return new AuthorizationCode(BaseOIDCResponseActionTest.initializeDataSealer().wrap(json,
- Instant.now().plusSeconds(30))).getValue();
+ return new AuthorizationCode(getDataSealer().wrap(json, Instant.now().plusSeconds(30))).getValue();
}
protected String buildLegacyRefreshToken(final String clientId, final String... consentedClaims)
throws Exception {
final String json = buildJsonForLegacyToken("jdoe", clientId, Scope.parse("openid email"), "rf",
consentedClaims);
- return new RefreshToken(BaseOIDCResponseActionTest.initializeDataSealer().wrap(json,
- Instant.now().plusSeconds(30))).getValue();
+ return new RefreshToken(getDataSealer().wrap(json, Instant.now().plusSeconds(30))).getValue();
}
@Test
@@ -448,10 +442,8 @@ public class TokenFlowTest extends AbstractOidcClientAuthenticationFlowTest {
final AccessToken accessToken = tokenResponse.getTokens().getAccessToken();
Assert.assertNotNull(accessToken);
try {
- return AccessTokenClaimsSet.parse(accessToken.getValue(),
- BaseOIDCResponseActionTest.initializeDataSealer());
- } catch (final NoSuchAlgorithmException | java.text.ParseException | DataSealerException
- | ComponentInitializationException e) {
+ return AccessTokenClaimsSet.parse(accessToken.getValue(), getDataSealer());
+ } catch (final java.text.ParseException | DataSealerException e) {
return null;
}
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list