[java-idp-oidc] branch main updated: Null cleanup of test code in api-module.

Henri Mikkonen henri.mikkonen at iki.fi
Fri Mar 29 11:39:07 UTC 2024


This is an automated email from the git hooks/post-receive script.

hjmikkon 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=a3a6ecdf06aeb0a111d2642ef9f8d9d1ae6b9dae

The following commit(s) were added to refs/heads/main by this push:
     new a3a6ecdf Null cleanup of test code in api-module.
a3a6ecdf is described below

commit a3a6ecdf06aeb0a111d2642ef9f8d9d1ae6b9dae
Author: Henri Mikkonen <henri.mikkonen at iki.fi>
AuthorDate: Fri Mar 29 13:39:03 2024 +0200

    Null cleanup of test code in api-module.
---
 .../oidc/op/messaging/JSONErrorResponseTest.java     |  6 +-----
 .../oidc/op/messaging/JSONSuccessResponseTest.java   |  8 +-------
 .../OIDCAuthenticationResponseContextTest.java       |  3 ++-
 .../context/logic/ValidatedScopePredicateTest.java   |  7 +++----
 .../ServiceableProviderMetadataProviderTest.java     | 11 ++++++++---
 .../idp/plugin/oidc/op/profile/ScopeUtilTest.java    |  8 +++++++-
 ...tractAuthenticationRequestLookupFunctionTest.java |  6 ++++--
 ...stractAuthorizationRequestLookupFunctionTest.java |  4 +++-
 .../AbstractTokenClaimsLookupFunctionTest.java       |  3 ++-
 .../AbstractTokenRequestLookupFunctionTest.java      |  1 +
 .../BaseDefaultRequestLookupFunctionTest.java        |  3 ++-
 .../navigate/BaseTokenRequestLookupFunctionTest.java |  3 ++-
 .../navigate/DefaultAuthTimeLookupFunctionTest.java  |  1 +
 ...DefaultOIDCMetadataContextLookupFunctionTest.java |  2 +-
 .../DefaultRequestNonceLookupFunctionTest.java       |  8 ++++++--
 .../DefaultRequestRedirectURILookupFunctionTest.java |  8 ++++++--
 ...DefaultRequestResponseTypeLookupFunctionTest.java | 16 ++++++++++------
 .../DefaultRequestStateLookupFunctionTest.java       |  8 ++++++--
 .../DefaultRequestedAcrLookupFunctionTest.java       | 16 ++++++++++------
 .../DefaultRequestedClaimsLookupFunctionTest.java    |  8 ++++++--
 .../DefaultRequestedPromptLookupFunctionTest.java    | 16 ++++++++++------
 .../DefaultRequestedScopeLookupFunctionTest.java     | 16 ++++++++++------
 .../DefaultResponseClaimsSetLookupFunctionTest.java  | 10 +++++++---
 .../DefaultUserInfoSigningAlgLookupFunctionTest.java |  8 +++++---
 .../DefaultValidRedirectUrisLookupFunctionTest.java  |  8 +++++---
 ...henticationResponseContextLookupFunctionTest.java |  5 +++--
 ...egistrationResponseContextLookupFunctionTest.java |  5 +++--
 .../navigate/SectorIdentifierLookupFunctionTest.java | 20 +++++++++++++++-----
 ...RequestConsentedAttributesLookupFunctionTest.java |  6 +++++-
 ...TokenRequestDeliveryClaimsLookupFunctionTest.java |  6 +++++-
 ...questIDTokenDeliveryClaimsLookupFunctionTest.java |  6 +++++-
 .../TokenRequestNonceLookupFunctionTest.java         |  6 +++++-
 .../TokenRequestRedirectURILookupFunctionTest.java   |  4 ++--
 ...okenRequestRequestedClaimsLookupFunctionTest.java |  6 +++++-
 ...uestUserInfoDeliveryClaimsLookupFunctionTest.java |  6 +++++-
 ...kenRequestValidRequestURIsLookupFunctionTest.java |  7 ++++++-
 .../UserInfoRequestClientIDLookupFunctionTest.java   |  2 +-
 .../UserInfoResponseClaimsSetLookupFunctionTest.java | 10 +++++++---
 .../ValidatedRedirectURILookupFunctionTest.java      |  2 +-
 .../op/token/support/AccessTokenClaimsSetTest.java   |  1 +
 .../op/token/support/AuthorizeCodeClaimsSetTest.java |  1 +
 .../op/token/support/RefreshTokenClaimsSetTest.java  |  1 +
 .../support/testing/BaseTokenClaimsSetTest.java      |  4 +++-
 43 files changed, 193 insertions(+), 93 deletions(-)

diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/messaging/JSONErrorResponseTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/messaging/JSONErrorResponseTest.java
index a80520db..d6ef5e52 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/messaging/JSONErrorResponseTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/messaging/JSONErrorResponseTest.java
@@ -23,9 +23,9 @@ import com.nimbusds.oauth2.sdk.http.HTTPResponse;
 import net.minidev.json.JSONObject;
 import net.minidev.json.parser.JSONParser;
 import net.minidev.json.parser.ParseException;
-import net.shibboleth.shared.logic.ConstraintViolationException;
 
 /** Tests for {@link JSONErrorResponse}. */
+ at SuppressWarnings("null")
 public class JSONErrorResponseTest {
 
     private JSONErrorResponse response;
@@ -65,8 +65,4 @@ public class JSONErrorResponseTest {
         Assert.assertEquals("errorDescription", parsedContent.get("error_description"));
     }
 
-    @Test(expectedExceptions = ConstraintViolationException.class)
-    public void testFail() throws ParseException {
-        response = new JSONErrorResponse(null);
-    }
 }
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/messaging/JSONSuccessResponseTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/messaging/JSONSuccessResponseTest.java
index 58fb475b..eeb0f12f 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/messaging/JSONSuccessResponseTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/messaging/JSONSuccessResponseTest.java
@@ -21,9 +21,9 @@ import com.nimbusds.oauth2.sdk.http.HTTPResponse;
 import net.minidev.json.JSONObject;
 import net.minidev.json.parser.JSONParser;
 import net.minidev.json.parser.ParseException;
-import net.shibboleth.shared.logic.ConstraintViolationException;
 
 /** Tests for JSONSuccessResponse. */
+ at SuppressWarnings("null")
 public class JSONSuccessResponseTest {
 
     JSONSuccessResponse response;
@@ -64,10 +64,4 @@ public class JSONSuccessResponseTest {
         Assert.assertEquals(content.get("field1"), parsedContent.get("field1"));
         Assert.assertEquals(content.get("field2"), parsedContent.get("field2"));
     }
-
-    @Test(expectedExceptions = ConstraintViolationException.class)
-    public void testFail() throws ParseException {
-        response = new JSONSuccessResponse(null);
-
-    }
 }
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/OIDCAuthenticationResponseContextTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/OIDCAuthenticationResponseContextTest.java
index f1b97caf..4c352e50 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/OIDCAuthenticationResponseContextTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/OIDCAuthenticationResponseContextTest.java
@@ -33,6 +33,7 @@ import com.nimbusds.oauth2.sdk.id.Audience;
 import com.nimbusds.oauth2.sdk.id.Issuer;
 import com.nimbusds.oauth2.sdk.id.Subject;
 import com.nimbusds.openid.connect.sdk.OIDCClaimsRequest;
+import com.nimbusds.openid.connect.sdk.claims.ACR;
 import com.nimbusds.openid.connect.sdk.claims.IDTokenClaimsSet;
 import com.nimbusds.openid.connect.sdk.claims.UserInfo;
 
@@ -84,7 +85,7 @@ public class OIDCAuthenticationResponseContextTest {
         final JWSHeader header = new JWSHeader(JWSAlgorithm.ES256);
         final SignedJWT sJWT = new SignedJWT(header, token.toJWTClaimsSet());
         ctx.setProcessedToken(sJWT);
-        Assert.assertEquals(ctx.getAcr().toString(), "acrValue");
+        Assert.assertEquals(ctx.getAcr(), new ACR("acrValue"));
         ctx.setAcr(null);
         final OIDCClaimsRequest claims = new OIDCClaimsRequest();
         ctx.setRequestedClaims(claims);
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/ValidatedScopePredicateTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/ValidatedScopePredicateTest.java
index 1844b471..93a01caf 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/ValidatedScopePredicateTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/messaging/context/logic/ValidatedScopePredicateTest.java
@@ -14,8 +14,6 @@
 
 package net.shibboleth.idp.plugin.oidc.op.messaging.context.logic;
 
-import java.util.List;
-
 import org.opensaml.messaging.context.MessageContext;
 import org.opensaml.profile.context.ProfileRequestContext;
 import org.testng.Assert;
@@ -24,6 +22,7 @@ import org.testng.annotations.Test;
 import com.nimbusds.oauth2.sdk.Scope;
 
 import net.shibboleth.idp.plugin.oidc.op.messaging.context.OIDCAuthenticationResponseContext;
+import net.shibboleth.shared.collection.CollectionSupport;
 
 /**
  * Unit tests for {@link ValidatedScopePredicate}.
@@ -63,7 +62,7 @@ public class ValidatedScopePredicateTest {
 
     @Test
     public void testCollectionValues() {
-        predicate = new ValidatedScopePredicate(List.of("openid", "profile"));
+        predicate = new ValidatedScopePredicate(CollectionSupport.listOf("openid", "profile"));
         Assert.assertTrue(predicate.test(init(Scope.parse("openid profile"))));
         Assert.assertTrue(predicate.test(init(Scope.parse("openid profile email address"))));
         Assert.assertTrue(predicate.test(init(Scope.parse("openid email address profile"))));
@@ -71,7 +70,7 @@ public class ValidatedScopePredicateTest {
         Assert.assertFalse(predicate.test(init(Scope.parse("openid"))));
         Assert.assertFalse(predicate.test(init(null)));
 
-        predicate = ValidatedScopePredicate.fromValues(List.of("openid", "profile"));
+        predicate = ValidatedScopePredicate.fromValues(CollectionSupport.listOf("openid", "profile"));
         Assert.assertTrue(predicate.test(init(Scope.parse("openid profile"))));
         Assert.assertTrue(predicate.test(init(Scope.parse("openid profile email address"))));
         Assert.assertTrue(predicate.test(init(Scope.parse("openid email address profile"))));
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/metadata/resolver/ServiceableProviderMetadataProviderTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/metadata/resolver/ServiceableProviderMetadataProviderTest.java
index 1cf96990..0f108c48 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/metadata/resolver/ServiceableProviderMetadataProviderTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/metadata/resolver/ServiceableProviderMetadataProviderTest.java
@@ -23,6 +23,8 @@ import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
 
+import javax.annotation.Nonnull;
+
 import org.mockito.Mockito;
 import org.opensaml.profile.context.ProfileRequestContext;
 import org.testng.Assert;
@@ -105,7 +107,10 @@ public class ServiceableProviderMetadataProviderTest {
         Assert.assertTrue(metadata.getIssuer().getValue().equals("mock1") 
                 || metadata.getIssuer().getValue().equals("mock2"));
         Assert.assertFalse(iterator.hasNext());
-        Assert.assertEquals("mock1", provider.resolveSingle(null).getIssuer().getValue());
+        final OIDCProviderMetadata result = provider.resolveSingle(null);
+        Assert.assertNotNull(result);
+        assert result != null;
+        Assert.assertEquals("mock1", result.getIssuer().getValue());
     }
     
     @Test
@@ -118,7 +123,7 @@ public class ServiceableProviderMetadataProviderTest {
         Assert.assertEquals(lastRefresh, provider.getLastRefresh());
     }
     
-    protected ProviderMetadataResolver buildMetadataResolver(final String...names) throws ResolverException,
+    @Nonnull protected ProviderMetadataResolver buildMetadataResolver(final String...names) throws ResolverException,
             URISyntaxException {
         final RefreshableProviderMetadataResolver resolver = Mockito.mock(RefreshableProviderMetadataResolver.class);
         Mockito.when(resolver.resolve((ProfileRequestContext) Mockito.any())).thenReturn(createMetadataList(names));
@@ -129,7 +134,7 @@ public class ServiceableProviderMetadataProviderTest {
         return resolver;
     }
 
-    protected ProviderMetadataResolver buildMetadataResolver(final boolean refreshable, final String...names)
+    @Nonnull protected ProviderMetadataResolver buildMetadataResolver(final boolean refreshable, final String...names)
             throws ResolverException, URISyntaxException {
         final RefreshableProviderMetadataResolver resolver = Mockito.mock(RefreshableProviderMetadataResolver.class);
         Mockito.when(resolver.resolve((ProfileRequestContext) Mockito.any())).thenReturn(createMetadataList(names));
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/ScopeUtilTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/ScopeUtilTest.java
index 0dc2b689..a691ac8a 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/ScopeUtilTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/ScopeUtilTest.java
@@ -18,6 +18,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
+import org.mockito.Mockito;
 import org.testng.Assert;
 import org.testng.annotations.Test;
 
@@ -272,6 +273,7 @@ public class ScopeUtilTest {
     @Test
     public void removeValue_existingValueRemoved() {
         final Scope scope = Scope.parse("openid profile");
+        assert scope != null;
         ScopeUtil.removeValue(scope, "profile");
         assertScopeValues(scope, "openid");
     }
@@ -279,6 +281,7 @@ public class ScopeUtilTest {
     @Test
     public void removeValue_nonExistingValueKeepsOriginal() {
         final Scope scope = Scope.parse("openid profile");
+        assert scope != null;
         ScopeUtil.removeValue(scope, "email");
         assertScopeValues(scope, "openid", "profile");
     }
@@ -296,6 +299,7 @@ public class ScopeUtilTest {
     protected void assertStringValues(final ScriptedIdPAttribute attribute, final String... strings) {
         try {
             final Collection<Object> values = attribute.getValues();
+            assert values != null;
             Assert.assertEquals(values.size(), strings.length);
             final List<String> list = List.of(strings);
             for (final Object value : values) {
@@ -331,13 +335,15 @@ public class ScopeUtilTest {
             return values;
         }
 
+        @SuppressWarnings("null")
         @Override
         public IdPAttribute getNativeAttribute() throws ResolutionException {
-            return null;
+            return Mockito.mock(IdPAttribute.class);
         }
 
         @Override
         public String getId() {
+            assert id != null;
             return id;
         }
 
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/AbstractAuthenticationRequestLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/AbstractAuthenticationRequestLookupFunctionTest.java
index 9d2df127..323e2ae9 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/AbstractAuthenticationRequestLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/AbstractAuthenticationRequestLookupFunctionTest.java
@@ -44,6 +44,7 @@ public class AbstractAuthenticationRequestLookupFunctionTest {
 
     protected MockOKLookupFunction mock = new MockOKLookupFunction();
 
+    @SuppressWarnings("null")
     @BeforeMethod
     protected void setUpCtxs() throws Exception {
         final RequestContext requestCtx = new RequestContextBuilder().buildRequestContext();
@@ -55,7 +56,7 @@ public class AbstractAuthenticationRequestLookupFunctionTest {
         msgCtx.setMessage(req);
         prc.setOutboundMessageContext(new MessageContext());
         oidcCtx = new OIDCAuthenticationResponseContext();
-        prc.getOutboundMessageContext().addSubcontext(oidcCtx);
+        prc.ensureOutboundMessageContext().addSubcontext(oidcCtx);
     }
 
     @Test
@@ -84,7 +85,8 @@ public class AbstractAuthenticationRequestLookupFunctionTest {
         Assert.assertNull(mock.apply(prc));
     }
 
-    class MockOKLookupFunction extends AbstractAuthenticationRequestLookupFunction<String> {
+    @SuppressWarnings("null")
+   class MockOKLookupFunction extends AbstractAuthenticationRequestLookupFunction<String> {
 
         @Override
         protected String doLookup(AuthenticationRequest req) {
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/AbstractAuthorizationRequestLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/AbstractAuthorizationRequestLookupFunctionTest.java
index ac36a5f4..662f3d1e 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/AbstractAuthorizationRequestLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/AbstractAuthorizationRequestLookupFunctionTest.java
@@ -44,6 +44,7 @@ public class AbstractAuthorizationRequestLookupFunctionTest {
 
     protected MockOKLookupFunction mock = new MockOKLookupFunction();
 
+    @SuppressWarnings("null")
     @BeforeMethod
     protected void setUpCtxs() throws Exception {
         final RequestContext requestCtx = new RequestContextBuilder().buildRequestContext();
@@ -55,7 +56,7 @@ public class AbstractAuthorizationRequestLookupFunctionTest {
         msgCtx.setMessage(req);
         prc.setOutboundMessageContext(new MessageContext());
         oidcCtx = new OIDCAuthenticationResponseContext();
-        prc.getOutboundMessageContext().addSubcontext(oidcCtx);
+        prc.ensureOutboundMessageContext().addSubcontext(oidcCtx);
     }
 
     @Test
@@ -86,6 +87,7 @@ public class AbstractAuthorizationRequestLookupFunctionTest {
         Assert.assertNull(mock.apply(prc));
     }
 
+    @SuppressWarnings("null")
     class MockOKLookupFunction extends AbstractAuthorizationRequestLookupFunction<String> {
 
         @Override
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/AbstractTokenClaimsLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/AbstractTokenClaimsLookupFunctionTest.java
index 42a2b0c2..0e908ca4 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/AbstractTokenClaimsLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/AbstractTokenClaimsLookupFunctionTest.java
@@ -33,6 +33,7 @@ import org.testng.annotations.Test;
 import com.nimbusds.oauth2.sdk.Scope;
 import com.nimbusds.oauth2.sdk.id.ClientID;
 
+ at SuppressWarnings("null")
 public class AbstractTokenClaimsLookupFunctionTest {
 
     protected ProfileRequestContext prc;
@@ -47,7 +48,7 @@ public class AbstractTokenClaimsLookupFunctionTest {
         prc = new WebflowRequestContextProfileRequestContextLookup().apply(requestCtx);
         prc.setOutboundMessageContext(new MessageContext());
         oidcCtx = new OIDCAuthenticationResponseContext();
-        prc.getOutboundMessageContext().addSubcontext(oidcCtx);
+        prc.ensureOutboundMessageContext().addSubcontext(oidcCtx);
         oidcCtx.setAuthorizationGrantClaimsSet(
                 new AccessTokenClaimsSet.Builder()
                     .setJWTID(new SecureRandomIdentifierGenerationStrategy())
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/AbstractTokenRequestLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/AbstractTokenRequestLookupFunctionTest.java
index c0a67cfb..db6d2629 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/AbstractTokenRequestLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/AbstractTokenRequestLookupFunctionTest.java
@@ -69,6 +69,7 @@ public class AbstractTokenRequestLookupFunctionTest {
         Assert.assertNull(mock.apply(prc));
     }
 
+    @SuppressWarnings("null")
     class MockOKLookupFunction extends AbstractTokenRequestLookupFunction<Object> {
 
         @Override
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/BaseDefaultRequestLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/BaseDefaultRequestLookupFunctionTest.java
index 5b427d8c..f2122b16 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/BaseDefaultRequestLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/BaseDefaultRequestLookupFunctionTest.java
@@ -23,6 +23,7 @@ import org.opensaml.profile.context.ProfileRequestContext;
 import org.springframework.webflow.execution.RequestContext;
 import org.testng.annotations.BeforeMethod;
 
+ at SuppressWarnings("null")
 public class BaseDefaultRequestLookupFunctionTest {
 
     protected ProfileRequestContext prc;
@@ -37,7 +38,7 @@ public class BaseDefaultRequestLookupFunctionTest {
         prc.setInboundMessageContext(msgCtx);
         prc.setOutboundMessageContext(new MessageContext());
         oidcCtx = new OIDCAuthenticationResponseContext();
-        prc.getOutboundMessageContext().addSubcontext(oidcCtx);
+        prc.ensureOutboundMessageContext().addSubcontext(oidcCtx);
     }
 
 }
\ No newline at end of file
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/BaseTokenRequestLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/BaseTokenRequestLookupFunctionTest.java
index 8837fa8a..90d06af7 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/BaseTokenRequestLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/BaseTokenRequestLookupFunctionTest.java
@@ -97,12 +97,13 @@ public class BaseTokenRequestLookupFunctionTest {
     }
 
     @BeforeMethod
+    @SuppressWarnings("null")
     protected void setUpCtxs() throws Exception {
         final RequestContext requestCtx = new RequestContextBuilder().buildRequestContext();
         prc = new WebflowRequestContextProfileRequestContextLookup().apply(requestCtx);
         prc.setOutboundMessageContext(new MessageContext());
         oidcCtx = new OIDCAuthenticationResponseContext();
-        prc.getOutboundMessageContext().addSubcontext(oidcCtx);
+        prc.ensureOutboundMessageContext().addSubcontext(oidcCtx);
         oidcCtx.setAuthorizationGrantClaimsSet(
                 new AuthorizeCodeClaimsSet.Builder()
                     .setJWTID(new SecureRandomIdentifierGenerationStrategy())
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultAuthTimeLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultAuthTimeLookupFunctionTest.java
index 350e13ed..abd2218e 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultAuthTimeLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultAuthTimeLookupFunctionTest.java
@@ -49,6 +49,7 @@ public class DefaultAuthTimeLookupFunctionTest {
         prc = new WebflowRequestContextProfileRequestContextLookup().apply(requestCtx);
         authCtx = prc.ensureSubcontext(AuthenticationContext.class);
         result = new AuthenticationResult("id", new Subject());
+        assert instant != null;
         result.setAuthenticationInstant(instant);
         authCtx.setAuthenticationResult(result);
     }
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultOIDCMetadataContextLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultOIDCMetadataContextLookupFunctionTest.java
index b4c8b6ff..38ef0b19 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultOIDCMetadataContextLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultOIDCMetadataContextLookupFunctionTest.java
@@ -49,7 +49,7 @@ public class DefaultOIDCMetadataContextLookupFunctionTest {
 
     @Test
     public void testNoMetadataCtx() {
-        prc.getInboundMessageContext().removeSubcontext(OIDCMetadataContext.class);
+        prc.ensureInboundMessageContext().removeSubcontext(OIDCMetadataContext.class);
         Assert.assertNull(lookup.apply(prc));
     }
 
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestNonceLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestNonceLookupFunctionTest.java
index 233fceee..5e00a0c5 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestNonceLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestNonceLookupFunctionTest.java
@@ -42,7 +42,9 @@ public class DefaultRequestNonceLookupFunctionTest extends BaseDefaultRequestLoo
                 new ClientID("000123"), URI.create("https://example.com/callback")).nonce(new Nonce("reqparam"))
                         .state(new State()).build();
         msgCtx.setMessage(req);
-        Assert.assertEquals("reqparam", lookup.apply(prc).getValue());
+        final Nonce result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertEquals("reqparam", result.getValue());
     }
 
     @Test
@@ -53,7 +55,9 @@ public class DefaultRequestNonceLookupFunctionTest extends BaseDefaultRequestLoo
                         .state(new State()).requestObject(new PlainJWT(ro)).build();
         msgCtx.setMessage(req);
         oidcCtx.setRequestObject(req.getRequestObject());
-        Assert.assertEquals("reqobject", lookup.apply(prc).getValue());
+        final Nonce result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertEquals("reqobject", result.getValue());
     }
 
 }
\ No newline at end of file
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestRedirectURILookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestRedirectURILookupFunctionTest.java
index 2afe9e36..35a30833 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestRedirectURILookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestRedirectURILookupFunctionTest.java
@@ -41,7 +41,9 @@ public class DefaultRequestRedirectURILookupFunctionTest extends BaseDefaultRequ
         AuthenticationRequest req = new AuthenticationRequest.Builder(new ResponseType("code"), new Scope("openid"),
                 new ClientID("000123"), URI.create("https://example.com/callback")).state(new State()).build();
         msgCtx.setMessage(req);
-        Assert.assertEquals("https://example.com/callback", lookup.apply(prc).toString());
+        final URI result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertEquals("https://example.com/callback", result.toString());
     }
 
     @Test
@@ -53,7 +55,9 @@ public class DefaultRequestRedirectURILookupFunctionTest extends BaseDefaultRequ
                         .requestObject(new PlainJWT(ro)).build();
         msgCtx.setMessage(req);
         oidcCtx.setRequestObject(req.getRequestObject());
-        Assert.assertEquals("https://example.com/callback/reqobj", lookup.apply(prc).toString());
+        final URI result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertEquals("https://example.com/callback/reqobj", result.toString());
     }
 
 }
\ No newline at end of file
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestResponseTypeLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestResponseTypeLookupFunctionTest.java
index 4eb2f34d..2a8a002d 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestResponseTypeLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestResponseTypeLookupFunctionTest.java
@@ -41,8 +41,10 @@ public class DefaultRequestResponseTypeLookupFunctionTest extends BaseDefaultReq
         AuthenticationRequest req = new AuthenticationRequest.Builder(new ResponseType("code"), new Scope("openid"),
                 new ClientID("000123"), URI.create("https://example.com/callback")).state(new State()).build();
         msgCtx.setMessage(req);
-        Assert.assertTrue(lookup.apply(prc).contains("code"));
-        Assert.assertEquals(1, lookup.apply(prc).size());
+        final ResponseType result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertTrue(result.contains("code"));
+        Assert.assertEquals(1, result.size());
     }
 
     @Test
@@ -53,10 +55,12 @@ public class DefaultRequestResponseTypeLookupFunctionTest extends BaseDefaultReq
                         .requestObject(new PlainJWT(ro)).build();
         msgCtx.setMessage(req);
         oidcCtx.setRequestObject(req.getRequestObject());
-        Assert.assertTrue(lookup.apply(prc).contains("code"));
-        Assert.assertTrue(lookup.apply(prc).contains("id_token"));
-        Assert.assertTrue(lookup.apply(prc).contains("token"));
-        Assert.assertEquals(3, lookup.apply(prc).size());
+        final ResponseType result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertTrue(result.contains("code"));
+        Assert.assertTrue(result.contains("id_token"));
+        Assert.assertTrue(result.contains("token"));
+        Assert.assertEquals(3, result.size());
     }
 
 }
\ No newline at end of file
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestStateLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestStateLookupFunctionTest.java
index 6df4bd26..4c2bad43 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestStateLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestStateLookupFunctionTest.java
@@ -43,7 +43,9 @@ public class DefaultRequestStateLookupFunctionTest extends BaseDefaultRequestLoo
                 new ClientID("000123"), URI.create("https://example.com/callback")).loginHint("hint")
                         .state(new State(stateReqParam)).build();
         msgCtx.setMessage(req);
-        Assert.assertEquals(stateReqParam, lookup.apply(prc).getValue());
+        final State result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertEquals(stateReqParam, result.getValue());
     }
 
     @Test
@@ -56,7 +58,9 @@ public class DefaultRequestStateLookupFunctionTest extends BaseDefaultRequestLoo
                         .state(new State(stateReqParam)).requestObject(new PlainJWT(ro)).build();
         msgCtx.setMessage(req);
         oidcCtx.setRequestObject(req.getRequestObject());
-        Assert.assertEquals(stateReqObj, lookup.apply(prc).getValue());
+        final State result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertEquals(stateReqObj, result.getValue());
     }
 
 }
\ No newline at end of file
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestedAcrLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestedAcrLookupFunctionTest.java
index d1fd0114..e1e3a393 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestedAcrLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestedAcrLookupFunctionTest.java
@@ -48,9 +48,11 @@ public class DefaultRequestedAcrLookupFunctionTest extends BaseDefaultRequestLoo
                 new AuthenticationRequest.Builder(new ResponseType("code"), new Scope("openid"), new ClientID("000123"),
                         URI.create("https://example.com/callback")).acrValues(acrValues).state(new State()).build();
         msgCtx.setMessage(req);
-        Assert.assertTrue(lookup.apply(prc).contains(new ACR("1")));
-        Assert.assertTrue(lookup.apply(prc).contains(new ACR("2")));
-        Assert.assertEquals(2, lookup.apply(prc).size());
+        final List<ACR> result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertTrue(result.contains(new ACR("1")));
+        Assert.assertTrue(result.contains(new ACR("2")));
+        Assert.assertEquals(2, result.size());
     }
 
     @Test
@@ -63,9 +65,11 @@ public class DefaultRequestedAcrLookupFunctionTest extends BaseDefaultRequestLoo
                         .state(new State()).requestObject(new PlainJWT(ro)).build();
         msgCtx.setMessage(req);
         oidcCtx.setRequestObject(req.getRequestObject());
-        Assert.assertTrue(lookup.apply(prc).contains(new ACR("1")));
-        Assert.assertTrue(lookup.apply(prc).contains(new ACR("2")));
-        Assert.assertEquals(2, lookup.apply(prc).size());
+        final List<ACR> result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertTrue(result.contains(new ACR("1")));
+        Assert.assertTrue(result.contains(new ACR("2")));
+        Assert.assertEquals(2, result.size());
     }
 
 }
\ No newline at end of file
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestedClaimsLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestedClaimsLookupFunctionTest.java
index 21de5c92..3ca0bb59 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestedClaimsLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestedClaimsLookupFunctionTest.java
@@ -57,7 +57,9 @@ public class DefaultRequestedClaimsLookupFunctionTest extends BaseDefaultRequest
                 new AuthenticationRequest.Builder(new ResponseType("code"), new Scope("openid"), new ClientID("000123"),
                         URI.create("https://example.com/callback")).claims(cr).state(new State()).build();
         msgCtx.setMessage(req);
-        Assert.assertEquals(cr.toJSONObject(), lookup.apply(prc).toJSONObject());
+        final OIDCClaimsRequest result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertEquals(cr.toJSONObject(), result.toJSONObject());
     }
 
     @Test
@@ -83,6 +85,8 @@ public class DefaultRequestedClaimsLookupFunctionTest extends BaseDefaultRequest
         // request object JWT is serialized and parsed in order to simulate incoming authentication request better 
         msgCtx.setMessage(req);
         oidcCtx.setRequestObject(req.getRequestObject());
-        Assert.assertEquals(crRequestObject.toJSONObject(), lookup.apply(prc).toJSONObject());
+        final OIDCClaimsRequest result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertEquals(crRequestObject.toJSONObject(), result.toJSONObject());
     }
 }
\ No newline at end of file
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestedPromptLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestedPromptLookupFunctionTest.java
index 905982d1..e48a51dd 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestedPromptLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestedPromptLookupFunctionTest.java
@@ -47,9 +47,11 @@ public class DefaultRequestedPromptLookupFunctionTest extends BaseDefaultRequest
                 new AuthenticationRequest.Builder(new ResponseType("code"), new Scope("openid"), new ClientID("000123"),
                         URI.create("https://example.com/callback")).prompt(parameterPrompt).state(new State()).build();
         msgCtx.setMessage(req);
-        Assert.assertTrue(lookup.apply(prc).contains(Type.CONSENT));
-        Assert.assertTrue(lookup.apply(prc).contains(Type.LOGIN));
-        Assert.assertEquals(2, lookup.apply(prc).size());
+        final Prompt result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertTrue(result.contains(Type.CONSENT));
+        Assert.assertTrue(result.contains(Type.LOGIN));
+        Assert.assertEquals(2, result.size());
     }
 
     @Test
@@ -62,9 +64,11 @@ public class DefaultRequestedPromptLookupFunctionTest extends BaseDefaultRequest
                         .state(new State()).requestObject(new PlainJWT(ro)).build();
         msgCtx.setMessage(req);
         oidcCtx.setRequestObject(req.getRequestObject());
-        Assert.assertTrue(lookup.apply(prc).contains(Type.CONSENT));
-        Assert.assertTrue(lookup.apply(prc).contains(Type.LOGIN));
-        Assert.assertEquals(2, lookup.apply(prc).size());
+        final Prompt result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertTrue(result.contains(Type.CONSENT));
+        Assert.assertTrue(result.contains(Type.LOGIN));
+        Assert.assertEquals(2, result.size());
     }
 
 }
\ No newline at end of file
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestedScopeLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestedScopeLookupFunctionTest.java
index fb167cbf..aceb2b22 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestedScopeLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultRequestedScopeLookupFunctionTest.java
@@ -42,9 +42,11 @@ public class DefaultRequestedScopeLookupFunctionTest extends BaseDefaultRequestL
         AuthenticationRequest req = new AuthenticationRequest.Builder(new ResponseType("code"), parameterScope,
                 new ClientID("000123"), URI.create("https://example.com/callback")).state(new State()).build();
         msgCtx.setMessage(req);
-        Assert.assertTrue(lookup.apply(prc).contains("openid"));
-        Assert.assertTrue(lookup.apply(prc).contains("email"));
-        Assert.assertEquals(2, lookup.apply(prc).size());
+        final Scope result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertTrue(result.contains("openid"));
+        Assert.assertTrue(result.contains("email"));
+        Assert.assertEquals(2, result.size());
     }
 
     @Test
@@ -56,9 +58,11 @@ public class DefaultRequestedScopeLookupFunctionTest extends BaseDefaultRequestL
                         .requestObject(new PlainJWT(ro)).build();
         msgCtx.setMessage(req);
         oidcCtx.setRequestObject(req.getRequestObject());
-        Assert.assertTrue(lookup.apply(prc).contains("openid"));
-        Assert.assertTrue(lookup.apply(prc).contains("email"));
-        Assert.assertEquals(2, lookup.apply(prc).size());
+        final Scope result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertTrue(result.contains("openid"));
+        Assert.assertTrue(result.contains("email"));
+        Assert.assertEquals(2, result.size());
     }
 
 }
\ No newline at end of file
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultResponseClaimsSetLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultResponseClaimsSetLookupFunctionTest.java
index 8fc1924c..8f1d7a91 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultResponseClaimsSetLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultResponseClaimsSetLookupFunctionTest.java
@@ -28,6 +28,7 @@ import org.testng.annotations.Test;
 import com.nimbusds.oauth2.sdk.id.Audience;
 import com.nimbusds.oauth2.sdk.id.Issuer;
 import com.nimbusds.oauth2.sdk.id.Subject;
+import com.nimbusds.openid.connect.sdk.claims.ClaimsSet;
 import com.nimbusds.openid.connect.sdk.claims.IDTokenClaimsSet;
 
 import net.shibboleth.idp.plugin.oidc.op.messaging.context.OIDCAuthenticationResponseContext;
@@ -43,6 +44,7 @@ public class DefaultResponseClaimsSetLookupFunctionTest {
 
     private OIDCAuthenticationResponseContext oidcCtx;
 
+    @SuppressWarnings("null")
     @BeforeMethod
     protected void setUp() throws Exception {
         lookup = new DefaultResponseClaimsSetLookupFunction();
@@ -50,7 +52,7 @@ public class DefaultResponseClaimsSetLookupFunctionTest {
         prc = new WebflowRequestContextProfileRequestContextLookup().apply(requestCtx);
         prc.setOutboundMessageContext(new MessageContext());
         oidcCtx = new OIDCAuthenticationResponseContext();
-        prc.getOutboundMessageContext().addSubcontext(oidcCtx);
+        prc.ensureOutboundMessageContext().addSubcontext(oidcCtx);
         Issuer issuer = new Issuer("iss");
         Subject sub = new Subject("sub");
         List<Audience> aud = new ArrayList<Audience>();
@@ -60,7 +62,9 @@ public class DefaultResponseClaimsSetLookupFunctionTest {
 
     @Test
     public void testSuccess() {
-        Assert.assertEquals("sub", (String) lookup.apply(prc).getClaim("sub"));
+        final ClaimsSet result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertEquals("sub", (String) result.getClaim("sub"));
     }
 
     @Test
@@ -71,7 +75,7 @@ public class DefaultResponseClaimsSetLookupFunctionTest {
         oidcCtx.setIDToken(null);
         Assert.assertNull(lookup.apply(prc));
         // No oidc context
-        prc.getOutboundMessageContext().removeSubcontext(OIDCAuthenticationResponseContext.class);
+        prc.ensureOutboundMessageContext().removeSubcontext(OIDCAuthenticationResponseContext.class);
         Assert.assertNull(lookup.apply(prc));
         // No outbound message context
         prc.setOutboundMessageContext(null);
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultUserInfoSigningAlgLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultUserInfoSigningAlgLookupFunctionTest.java
index 838ab877..b45069c5 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultUserInfoSigningAlgLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultUserInfoSigningAlgLookupFunctionTest.java
@@ -48,10 +48,12 @@ public class DefaultUserInfoSigningAlgLookupFunctionTest {
         final RequestContext requestCtx = new RequestContextBuilder().buildRequestContext();
         prc = new WebflowRequestContextProfileRequestContextLookup().apply(requestCtx);
         prc.setInboundMessageContext(new MessageContext());
-        ctx = prc.getInboundMessageContext().ensureSubcontext(OIDCMetadataContext.class);
+        ctx = prc.ensureInboundMessageContext().ensureSubcontext(OIDCMetadataContext.class);
         ctx.setClientInformation(
                 new OIDCClientInformation(new ClientID("id"), new Date(), new OIDCClientMetadata(), new Secret()));
-        ctx.getClientInformation().getOIDCMetadata().setUserInfoJWSAlg(JWSAlgorithm.ES256);
+        final OIDCClientInformation clientInformation = ctx.getClientInformation();
+        assert clientInformation != null;
+        clientInformation.getOIDCMetadata().setUserInfoJWSAlg(JWSAlgorithm.ES256);
     }
 
     @Test
@@ -67,7 +69,7 @@ public class DefaultUserInfoSigningAlgLookupFunctionTest {
         ctx.setClientInformation(null);
         Assert.assertNull(lookup.apply(prc));
         // No metadata context
-        prc.getInboundMessageContext().removeSubcontext(OIDCMetadataContext.class);
+        prc.ensureInboundMessageContext().removeSubcontext(OIDCMetadataContext.class);
         Assert.assertNull(lookup.apply(prc));       
         // No inbound message context
         prc.setInboundMessageContext(null);
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultValidRedirectUrisLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultValidRedirectUrisLookupFunctionTest.java
index 85ecc031..b3976b62 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultValidRedirectUrisLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/DefaultValidRedirectUrisLookupFunctionTest.java
@@ -50,12 +50,14 @@ public class DefaultValidRedirectUrisLookupFunctionTest {
         final RequestContext requestCtx = new RequestContextBuilder().buildRequestContext();
         prc = new WebflowRequestContextProfileRequestContextLookup().apply(requestCtx);
         prc.setInboundMessageContext(new MessageContext());
-        ctx = prc.getInboundMessageContext().ensureSubcontext(OIDCMetadataContext.class);
+        ctx = prc.ensureInboundMessageContext().ensureSubcontext(OIDCMetadataContext.class);
         ctx.setClientInformation(
                 new OIDCClientInformation(new ClientID("id"), new Date(), new OIDCClientMetadata(), new Secret()));
         Set<URI> redirectURIs = new HashSet<URI>();
         redirectURIs.add(new URI("http://example.com"));
-        ctx.getClientInformation().getOIDCMetadata().setRedirectionURIs(redirectURIs);
+        final OIDCClientInformation clientInformation = ctx.getClientInformation();
+        assert clientInformation != null;
+        clientInformation.getOIDCMetadata().setRedirectionURIs(redirectURIs);
     }
 
     @Test
@@ -71,7 +73,7 @@ public class DefaultValidRedirectUrisLookupFunctionTest {
         ctx.setClientInformation(null);
         Assert.assertNull(lookup.apply(prc));
         // No metadata context
-        prc.getInboundMessageContext().removeSubcontext(OIDCMetadataContext.class);
+        prc.ensureInboundMessageContext().removeSubcontext(OIDCMetadataContext.class);
         Assert.assertNull(lookup.apply(prc));
         // No inbound message context
         prc.setInboundMessageContext(null);
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/OIDCAuthenticationResponseContextLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/OIDCAuthenticationResponseContextLookupFunctionTest.java
index 03b26668..bfe68299 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/OIDCAuthenticationResponseContextLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/OIDCAuthenticationResponseContextLookupFunctionTest.java
@@ -34,6 +34,7 @@ public class OIDCAuthenticationResponseContextLookupFunctionTest {
 
     private OIDCAuthenticationResponseContext ctx;
 
+    @SuppressWarnings("null")
     @BeforeMethod
     protected void setUp() throws Exception {
         lookup = new OIDCAuthenticationResponseContextLookupFunction();
@@ -41,7 +42,7 @@ public class OIDCAuthenticationResponseContextLookupFunctionTest {
         prc = new WebflowRequestContextProfileRequestContextLookup().apply(requestCtx);
         prc.setOutboundMessageContext(new MessageContext());
         ctx = new OIDCAuthenticationResponseContext();
-        prc.getOutboundMessageContext().addSubcontext(ctx);
+        prc.ensureOutboundMessageContext().addSubcontext(ctx);
     }
 
     @Test
@@ -54,7 +55,7 @@ public class OIDCAuthenticationResponseContextLookupFunctionTest {
         // No profile context
         Assert.assertNull(lookup.apply(null));
         // No response context
-        prc.getOutboundMessageContext().removeSubcontext(OIDCAuthenticationResponseContext.class);
+        prc.ensureOutboundMessageContext().removeSubcontext(OIDCAuthenticationResponseContext.class);
         Assert.assertNull(lookup.apply(prc));
         // No outbound message context
         prc.setOutboundMessageContext(null);
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/OIDCRegistrationResponseContextLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/OIDCRegistrationResponseContextLookupFunctionTest.java
index 20700a0a..f68988f4 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/OIDCRegistrationResponseContextLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/OIDCRegistrationResponseContextLookupFunctionTest.java
@@ -34,6 +34,7 @@ public class OIDCRegistrationResponseContextLookupFunctionTest {
 
     private OIDCClientRegistrationResponseContext ctx;
 
+    @SuppressWarnings("null")
     @BeforeMethod
     protected void setUp() throws Exception {
         lookup = new OIDCRegistrationResponseContextLookupFunction();
@@ -41,7 +42,7 @@ public class OIDCRegistrationResponseContextLookupFunctionTest {
         prc = new WebflowRequestContextProfileRequestContextLookup().apply(requestCtx);
         prc.setOutboundMessageContext(new MessageContext());
         ctx = new OIDCClientRegistrationResponseContext();
-        prc.getOutboundMessageContext().addSubcontext(ctx);
+        prc.ensureOutboundMessageContext().addSubcontext(ctx);
     }
 
     @Test
@@ -54,7 +55,7 @@ public class OIDCRegistrationResponseContextLookupFunctionTest {
         // No profile context
         Assert.assertNull(lookup.apply(null));
         // No response context
-        prc.getOutboundMessageContext().removeSubcontext(OIDCClientRegistrationResponseContext.class);
+        prc.ensureOutboundMessageContext().removeSubcontext(OIDCClientRegistrationResponseContext.class);
         Assert.assertNull(lookup.apply(prc));
         // No outbound message context
         prc.setOutboundMessageContext(null);
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/SectorIdentifierLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/SectorIdentifierLookupFunctionTest.java
index f2e1b558..a1aadd1d 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/SectorIdentifierLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/SectorIdentifierLookupFunctionTest.java
@@ -63,14 +63,18 @@ public class SectorIdentifierLookupFunctionTest {
     
     @Test
     public void testSuccessSectorID() {
-        ctx.getClientInformation().getOIDCMetadata().setSectorIDURI(sector);
+        final OIDCClientInformation clientInformation = ctx.getClientInformation();
+        assert clientInformation != null;
+        clientInformation.getOIDCMetadata().setSectorIDURI(sector);
         final String locatedSector = lookup.apply(prc);
         Assert.assertEquals(locatedSector, sector.getHost());
     }
     
     @Test
     public void testSuccessRedirectURI() {
-        ctx.getClientInformation().getOIDCMetadata().setRedirectionURI(sector);
+        final OIDCClientInformation clientInformation = ctx.getClientInformation();
+        assert clientInformation != null;
+        clientInformation.getOIDCMetadata().setRedirectionURI(sector);
         final String locatedSector = lookup.apply(prc);
         Assert.assertEquals(locatedSector, sector.getHost());
     }
@@ -79,7 +83,9 @@ public class SectorIdentifierLookupFunctionTest {
     public void testSuccessRedirectURIs() {
         final Set<URI> redirectURIs = new HashSet<URI>();
         redirectURIs.add(sector);
-        ctx.getClientInformation().getOIDCMetadata().setRedirectionURIs(redirectURIs);
+        final OIDCClientInformation clientInformation = ctx.getClientInformation();
+        assert clientInformation != null;
+        clientInformation.getOIDCMetadata().setRedirectionURIs(redirectURIs);
         final String locatedSector = lookup.apply(prc);
         Assert.assertEquals(locatedSector, sector.getHost());
     }
@@ -90,7 +96,9 @@ public class SectorIdentifierLookupFunctionTest {
         redirectURIs.add(sector);
         redirectURIs.add(new URI("https://example.org/uri2"));
         redirectURIs.add(new URI("https://example.org/uri3"));
-        ctx.getClientInformation().getOIDCMetadata().setRedirectionURIs(redirectURIs);
+        final OIDCClientInformation clientInformation = ctx.getClientInformation();
+        assert clientInformation != null;
+        clientInformation.getOIDCMetadata().setRedirectionURIs(redirectURIs);
         final String locatedSector = lookup.apply(prc);
         Assert.assertEquals(locatedSector, sector.getHost());
     }
@@ -100,7 +108,9 @@ public class SectorIdentifierLookupFunctionTest {
         final Set<URI> redirectURIs = new HashSet<>();
         redirectURIs.add(sector);
         redirectURIs.add(new URI("https://example2.org"));
-        ctx.getClientInformation().getOIDCMetadata().setRedirectionURIs(redirectURIs);
+        final OIDCClientInformation clientInformation = ctx.getClientInformation();
+        assert clientInformation != null;
+        clientInformation.getOIDCMetadata().setRedirectionURIs(redirectURIs);
         final String locatedSector = lookup.apply(prc);
         Assert.assertNull(locatedSector);
     }
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestConsentedAttributesLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestConsentedAttributesLookupFunctionTest.java
index 0bd59277..6e911a13 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestConsentedAttributesLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestConsentedAttributesLookupFunctionTest.java
@@ -16,6 +16,8 @@ package net.shibboleth.idp.plugin.oidc.op.profile.context.navigate;
 
 import org.testng.annotations.Test;
 
+import java.util.List;
+
 import org.testng.Assert;
 
 /** Test for {@link TokenRequestConsentedAttributesLookupFunction}. */
@@ -25,7 +27,9 @@ public class TokenRequestConsentedAttributesLookupFunctionTest extends BaseToken
 
     @Test
     public void testLookup() {
-        Assert.assertTrue(lookup.apply(prc).contains("consentedClaim"));
+        final List<Object> result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertTrue(result.contains("consentedClaim"));
     }
 
 }
\ No newline at end of file
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestDeliveryClaimsLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestDeliveryClaimsLookupFunctionTest.java
index 411d4659..7ef3f2ce 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestDeliveryClaimsLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestDeliveryClaimsLookupFunctionTest.java
@@ -16,6 +16,8 @@ package net.shibboleth.idp.plugin.oidc.op.profile.context.navigate;
 
 import org.testng.annotations.Test;
 
+import com.nimbusds.openid.connect.sdk.claims.ClaimsSet;
+
 import org.testng.Assert;
 
 /** Test for {@link TokenRequestDeliveryClaimsLookupFunction}. */
@@ -25,7 +27,9 @@ public class TokenRequestDeliveryClaimsLookupFunctionTest extends BaseTokenReque
 
     @Test
     public void testLookup() {
-        Assert.assertTrue(lookup.apply(prc).getClaim("tokenDelivery").equals("value"));
+        final ClaimsSet result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertTrue(result.getClaim("tokenDelivery").equals("value"));
     }
 
 }
\ No newline at end of file
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestIDTokenDeliveryClaimsLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestIDTokenDeliveryClaimsLookupFunctionTest.java
index f78f7856..19333eff 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestIDTokenDeliveryClaimsLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestIDTokenDeliveryClaimsLookupFunctionTest.java
@@ -16,6 +16,8 @@ package net.shibboleth.idp.plugin.oidc.op.profile.context.navigate;
 
 import org.testng.annotations.Test;
 
+import com.nimbusds.openid.connect.sdk.claims.ClaimsSet;
+
 import org.testng.Assert;
 
 /** Test for {@link TokenRequestIDTokenDeliveryClaimsLookupFunction}. */
@@ -26,7 +28,9 @@ public class TokenRequestIDTokenDeliveryClaimsLookupFunctionTest extends BaseTok
 
     @Test
     public void testLookup() {
-        Assert.assertTrue(lookup.apply(prc).getClaim("tokenToIdtokenDelivery").equals("value"));
+        final ClaimsSet result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertTrue(result.getClaim("tokenToIdtokenDelivery").equals("value"));
     }
 
 }
\ No newline at end of file
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestNonceLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestNonceLookupFunctionTest.java
index b78bfb88..07d514cb 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestNonceLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestNonceLookupFunctionTest.java
@@ -16,6 +16,8 @@ package net.shibboleth.idp.plugin.oidc.op.profile.context.navigate;
 
 import org.testng.annotations.Test;
 
+import com.nimbusds.openid.connect.sdk.Nonce;
+
 import org.testng.Assert;
 
 /** Test for {@link TokenRequestNonceLookupFunction}. */
@@ -25,7 +27,9 @@ public class TokenRequestNonceLookupFunctionTest extends BaseTokenRequestLookupF
 
     @Test
     public void testLookup() {
-        Assert.assertEquals(nonce.getValue(), lookup.apply(prc).getValue());
+        final Nonce result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertEquals(nonce.getValue(), result.getValue());
     }
 
 }
\ No newline at end of file
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestRedirectURILookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestRedirectURILookupFunctionTest.java
index d1f08477..434bb4e8 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestRedirectURILookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestRedirectURILookupFunctionTest.java
@@ -56,7 +56,7 @@ public class TokenRequestRedirectURILookupFunctionTest {
         params.put("code", Arrays.asList("xyz_code_abc"));
         params.put("redirect_uri", Arrays.asList("http://example.com/redirect"));
         TokenRequest req = new TokenRequest(new URI("http://example.com"), new ClientID("clientId"),AuthorizationCodeGrant.parse(params));
-        prc.getInboundMessageContext().setMessage(req);
+        prc.ensureInboundMessageContext().setMessage(req);
     }
 
     
@@ -71,7 +71,7 @@ public class TokenRequestRedirectURILookupFunctionTest {
         params.put("grant_type", Arrays.asList("authorization_code"));
         params.put("code", Arrays.asList("xyz_code_abc"));
         TokenRequest req = new TokenRequest(new URI("http://example.com"), new ClientID("clientId"),AuthorizationCodeGrant.parse(params));
-        prc.getInboundMessageContext().setMessage(req);
+        prc.ensureInboundMessageContext().setMessage(req);
         Assert.assertNull(lookup.apply(prc));
     }
 
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestRequestedClaimsLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestRequestedClaimsLookupFunctionTest.java
index d04c8e5d..9bea1960 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestRequestedClaimsLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestRequestedClaimsLookupFunctionTest.java
@@ -16,6 +16,8 @@ package net.shibboleth.idp.plugin.oidc.op.profile.context.navigate;
 
 import org.testng.annotations.Test;
 
+import com.nimbusds.openid.connect.sdk.OIDCClaimsRequest;
+
 import org.testng.Assert;
 
 /** Test for {@link TokenRequestRequestedClaimsLookupFunction}. */
@@ -25,7 +27,9 @@ public class TokenRequestRequestedClaimsLookupFunctionTest extends BaseTokenRequ
 
     @Test
     public void testLookup() {
-        Assert.assertFalse(lookup.apply(prc).getIDTokenClaimsRequest().getEntries().isEmpty());
+        final OIDCClaimsRequest result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertFalse(result.getIDTokenClaimsRequest().getEntries().isEmpty());
     }
 
 }
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestUserInfoDeliveryClaimsLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestUserInfoDeliveryClaimsLookupFunctionTest.java
index 282524ce..f54b8966 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestUserInfoDeliveryClaimsLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestUserInfoDeliveryClaimsLookupFunctionTest.java
@@ -16,6 +16,8 @@ package net.shibboleth.idp.plugin.oidc.op.profile.context.navigate;
 
 import org.testng.annotations.Test;
 
+import com.nimbusds.openid.connect.sdk.claims.ClaimsSet;
+
 import org.testng.Assert;
 
 /** Test for {@link TokenRequestUserInfoDeliveryClaimsLookupFunction}. */
@@ -26,7 +28,9 @@ public class TokenRequestUserInfoDeliveryClaimsLookupFunctionTest extends BaseTo
 
     @Test
     public void testLookup() {
-        Assert.assertTrue(lookup.apply(prc).getClaim("tokenToUserInfotokenDeliveryClaim").equals("value"));
+        final ClaimsSet result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertTrue(result.getClaim("tokenToUserInfotokenDeliveryClaim").equals("value"));
     }
 
 }
\ No newline at end of file
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestValidRequestURIsLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestValidRequestURIsLookupFunctionTest.java
index 0dfba8f7..347186e5 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestValidRequestURIsLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/TokenRequestValidRequestURIsLookupFunctionTest.java
@@ -16,6 +16,9 @@ package net.shibboleth.idp.plugin.oidc.op.profile.context.navigate;
 
 import org.testng.annotations.Test;
 
+import java.net.URI;
+import java.util.Set;
+
 import org.testng.Assert;
 
 /** Test for {@link TokenRequestValidRequestURIsLookupFunction}. */
@@ -25,7 +28,9 @@ public class TokenRequestValidRequestURIsLookupFunctionTest extends BaseTokenReq
 
     @Test
     public void testLookup() {
-        Assert.assertTrue(lookup.apply(prc).contains(redirectUri));
+        final Set<URI> result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertTrue(result.contains(redirectUri));
     }
 
 }
\ No newline at end of file
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/UserInfoRequestClientIDLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/UserInfoRequestClientIDLookupFunctionTest.java
index 580d129d..873c6cff 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/UserInfoRequestClientIDLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/UserInfoRequestClientIDLookupFunctionTest.java
@@ -35,7 +35,7 @@ public class UserInfoRequestClientIDLookupFunctionTest extends BaseTokenRequestL
         oidcCtx.setAuthorizationGrantClaimsSet(null);
         Assert.assertNull(lookup.apply(prc.getInboundMessageContext()));
         // No response context
-        prc.getOutboundMessageContext().removeSubcontext(OIDCAuthenticationResponseContext.class);
+        prc.ensureOutboundMessageContext().removeSubcontext(OIDCAuthenticationResponseContext.class);
         oidcCtx.setAuthorizationGrantClaimsSet(null);
         Assert.assertNull(lookup.apply(prc.getInboundMessageContext()));
         // No outbound message context
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/UserInfoResponseClaimsSetLookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/UserInfoResponseClaimsSetLookupFunctionTest.java
index e949404e..f9e3f4c1 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/UserInfoResponseClaimsSetLookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/UserInfoResponseClaimsSetLookupFunctionTest.java
@@ -22,6 +22,7 @@ import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
 import com.nimbusds.oauth2.sdk.id.Subject;
+import com.nimbusds.openid.connect.sdk.claims.ClaimsSet;
 import com.nimbusds.openid.connect.sdk.claims.UserInfo;
 
 import net.shibboleth.idp.plugin.oidc.op.messaging.context.OIDCAuthenticationResponseContext;
@@ -37,6 +38,7 @@ public class UserInfoResponseClaimsSetLookupFunctionTest {
 
     private OIDCAuthenticationResponseContext oidcCtx;
 
+    @SuppressWarnings("null")
     @BeforeMethod
     protected void setUp() throws Exception {
         lookup = new UserInfoResponseClaimsSetLookupFunction();
@@ -44,7 +46,7 @@ public class UserInfoResponseClaimsSetLookupFunctionTest {
         prc = new WebflowRequestContextProfileRequestContextLookup().apply(requestCtx);
         prc.setOutboundMessageContext(new MessageContext());
         oidcCtx = new OIDCAuthenticationResponseContext();
-        prc.getOutboundMessageContext().addSubcontext(oidcCtx);
+        prc.ensureOutboundMessageContext().addSubcontext(oidcCtx);
         Subject sub = new Subject("sub");
         UserInfo info = new UserInfo(sub);
         oidcCtx.setUserInfo(info);
@@ -52,7 +54,9 @@ public class UserInfoResponseClaimsSetLookupFunctionTest {
 
     @Test
     public void testSuccess() {
-        Assert.assertEquals("sub", (String) lookup.apply(prc).getClaim("sub"));
+        final ClaimsSet result = lookup.apply(prc);
+        assert result != null;
+        Assert.assertEquals("sub", (String) result.getClaim("sub"));
     }
 
     @Test
@@ -63,7 +67,7 @@ public class UserInfoResponseClaimsSetLookupFunctionTest {
         oidcCtx.setUserInfo(null);
         Assert.assertNull(lookup.apply(prc));
         // No oidc context
-        prc.getOutboundMessageContext().removeSubcontext(OIDCAuthenticationResponseContext.class);
+        prc.ensureOutboundMessageContext().removeSubcontext(OIDCAuthenticationResponseContext.class);
         Assert.assertNull(lookup.apply(prc));
         // No outbound message context
         prc.setOutboundMessageContext(null);
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/ValidatedRedirectURILookupFunctionTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/ValidatedRedirectURILookupFunctionTest.java
index 7d27e4bd..bc2b5fa0 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/ValidatedRedirectURILookupFunctionTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/context/navigate/ValidatedRedirectURILookupFunctionTest.java
@@ -42,7 +42,7 @@ public class ValidatedRedirectURILookupFunctionTest extends BaseDefaultRequestLo
         oidcCtx.setRedirectURI(null);
         Assert.assertNull(lookup.apply(prc));
         // No oidc context
-        prc.getOutboundMessageContext().removeSubcontext(OIDCAuthenticationResponseContext.class);
+        prc.ensureOutboundMessageContext().removeSubcontext(OIDCAuthenticationResponseContext.class);
         Assert.assertNull(lookup.apply(prc));
         // No outbound message context
         prc.setOutboundMessageContext(null);
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/token/support/AccessTokenClaimsSetTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/token/support/AccessTokenClaimsSetTest.java
index aa8ab229..feab98ed 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/token/support/AccessTokenClaimsSetTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/token/support/AccessTokenClaimsSetTest.java
@@ -27,6 +27,7 @@ import org.testng.Assert;
 /**
  * Tests for {@link AccessTokenClaimsSetTest}.
  */
+ at SuppressWarnings("null")
 public class AccessTokenClaimsSetTest extends BaseTokenClaimsSetTest {
 
     private AccessTokenClaimsSet atClaimsSet;
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/token/support/AuthorizeCodeClaimsSetTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/token/support/AuthorizeCodeClaimsSetTest.java
index 1afa0da2..077877dd 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/token/support/AuthorizeCodeClaimsSetTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/token/support/AuthorizeCodeClaimsSetTest.java
@@ -27,6 +27,7 @@ import org.testng.Assert;
 /**
  * Tests for {@link AuthorizeCodeClaimsSet}
  */
+ at SuppressWarnings("null")
 public class AuthorizeCodeClaimsSetTest extends BaseTokenClaimsSetTest {
 
     private AuthorizeCodeClaimsSet acClaimsSet;
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/token/support/RefreshTokenClaimsSetTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/token/support/RefreshTokenClaimsSetTest.java
index 266d92ed..cf92b88e 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/token/support/RefreshTokenClaimsSetTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/token/support/RefreshTokenClaimsSetTest.java
@@ -27,6 +27,7 @@ import org.testng.Assert;
 /**
  * Tests for {@link RefreshTokenClaimsSetTest}.
  */
+ at SuppressWarnings("null")
 public class RefreshTokenClaimsSetTest extends BaseTokenClaimsSetTest {
 
     private RefreshTokenClaimsSet rfClaimsSet;
diff --git a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/token/support/testing/BaseTokenClaimsSetTest.java b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/token/support/testing/BaseTokenClaimsSetTest.java
index 819084a5..d95dca9b 100644
--- a/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/token/support/testing/BaseTokenClaimsSetTest.java
+++ b/idp-oidc-extension-api/src/test/java/net/shibboleth/idp/plugin/oidc/op/token/support/testing/BaseTokenClaimsSetTest.java
@@ -93,7 +93,9 @@ public class BaseTokenClaimsSetTest {
         strategy.setKeyPassword("password");
         strategy.initialize();
         sealer.setKeyStrategy(strategy);
-        sealer.setRandom(SecureRandom.getInstance("SHA1PRNG"));
+        final SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
+        assert random != null;
+        sealer.setRandom(random);
         sealer.initialize();
     }
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list