[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