[java-identity-provider] branch main updated: IDP-2069 Null handling
Rod Widdowson
rdw at steadingsoftware.com
Sat Feb 25 15:47:57 UTC 2023
This is an automated email from the git hooks/post-receive script.
rdw pushed a commit to branch main
in repository java-identity-provider.
View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=6a53af1444273f2b8fc607709a41f1e69ecc73d9
The following commit(s) were added to refs/heads/main by this push:
new 6a53af144 IDP-2069 Null handling
6a53af144 is described below
commit 6a53af1444273f2b8fc607709a41f1e69ecc73d9
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Sat Feb 25 15:37:53 2023 +0000
IDP-2069 Null handling
https://shibboleth.atlassian.net/browse/IDP-2069
Cleanup idp-authn-impl tests. Phew!
---
.../context/impl/AuthenticationContextTest.java | 9 +-
.../impl/BaseAttributeDefinitionParserTest.java | 43 ++---
...ontextDerivedAttributeDefinitionParserTest.java | 34 +++-
.../context/impl/SubjectDataConnectorTest.java | 25 ++-
.../SubjectDerivedAttributeValuesFunctionTest.java | 28 ++-
.../ExtractDuoAuthenticationFromHeadersTest.java | 1 -
...ttributeSourcedSubjectCanonicalizationTest.java | 56 +++---
.../DefaultAuthenticationResultSerializerTest.java | 68 ++++----
.../idp/authn/impl/ExtractRemoteUserTest.java | 26 +--
.../authn/impl/ExtractUserAgentAddressTest.java | 18 +-
.../authn/impl/ExtractUserAgentIdentifierTest.java | 5 +-
.../ExtractUsernamePasswordFromBasicAuthTest.java | 22 +--
...ExtractUsernamePasswordFromFormRequestTest.java | 18 +-
.../ExtractX509CertificateFromRequestTest.java | 10 +-
.../authn/impl/FilterFlowsByForceAuthnTest.java | 3 +
.../impl/FilterFlowsByNonBrowserSupportTest.java | 3 +
.../FinalizeMultiFactorAuthenticationTest.java | 15 +-
.../impl/HTPasswdCredentialValidatorTest.java | 94 ++++++----
.../InitializeRequestedPrincipalContextTest.java | 27 ++-
.../authn/impl/JAASCredentialValidatorTest.java | 100 +++++++----
.../authn/impl/LDAPCredentialValidatorTest.java | 191 +++++++++++++--------
.../impl/PopulateAuthenticationContextTest.java | 6 +-
...pulateMultiFactorAuthenticationContextTest.java | 15 +-
...PopulateSubjectCanonicalizationContextTest.java | 4 +-
.../impl/PreserveAuthenticationFlowStateTest.java | 29 +++-
...RelyingPartyMapJAASLoginConfigStrategyTest.java | 10 +-
.../authn/impl/SelectAuthenticationFlowTest.java | 66 +++++--
.../SelectSubjectCanonicalizationFlowTest.java | 21 ++-
.../impl/SimpleSubjectCanonicalizationTest.java | 18 +-
.../StorageBackedAccountLockoutManagerTest.java | 11 +-
.../idp/authn/impl/ValidateCredentialsTest.java | 90 ++++++----
.../impl/ValidateExternalAuthenticationTest.java | 59 ++++---
.../idp/authn/impl/ValidateFunctionResultTest.java | 34 ++--
.../idp/authn/impl/ValidateRemoteUserTest.java | 28 ++-
.../authn/impl/ValidateUserAgentAddressTest.java | 23 ++-
.../impl/X500SubjectCanonicalizationTest.java | 38 ++--
.../X509CertificateCredentialValidatorTest.java | 34 ++--
.../testing/BaseAuthenticationContextTest.java | 14 ++
.../impl/X500PrincipalSerializerTest.java | 2 +-
.../proxy/impl/ExtractDiscoveryResponseTest.java | 14 +-
.../InitializeProxyProfileRequestContextTest.java | 7 +-
.../impl/AttributeRevocationConditionTest.java | 8 +-
.../impl/RevocationCacheConditionTest.java | 3 +
.../spnego/impl/KerberosRealmSettingsTest.java | 4 +-
.../spnego/impl/SPNEGOAuthnControllerTest.java | 14 +-
.../spnego/impl/SPNEGOAutoLoginManagerTest.java | 4 +-
46 files changed, 870 insertions(+), 482 deletions(-)
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/AuthenticationContextTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/AuthenticationContextTest.java
index dea85d5f0..020d8cb05 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/AuthenticationContextTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/AuthenticationContextTest.java
@@ -127,7 +127,8 @@ public class AuthenticationContextTest {
Thread.sleep(50);
ctx.setCompletionInstant();
- Assert.assertTrue(ctx.getCompletionInstant().isAfter(now));
+ final Instant completion = ctx.getCompletionInstant();
+ assert completion != null && completion.isAfter(now);
}
/**
@@ -141,7 +142,7 @@ public class AuthenticationContextTest {
ctx.addRequestedPrincipalContext("foo", new TestPrincipal("bar"), false);
RequestedPrincipalContext rpCtx = ctx.getSubcontext(RequestedPrincipalContext.class);
- Assert.assertNotNull(rpCtx);
+ assert rpCtx!=null;
Assert.assertEquals(rpCtx.getOperator(), "foo");
Assert.assertEquals(rpCtx.getRequestedPrincipals(), Collections.singletonList(new TestPrincipal("bar")));
@@ -149,13 +150,13 @@ public class AuthenticationContextTest {
ctx.addRequestedPrincipalContext("fob", TestPrincipal.class.getName(), "baz", true);
rpCtx = ctx.getSubcontext(RequestedPrincipalContext.class);
- Assert.assertNotNull(rpCtx);
+ assert rpCtx!=null;
Assert.assertEquals(rpCtx.getOperator(), "fob");
Assert.assertEquals(rpCtx.getRequestedPrincipals(), Collections.singletonList(new TestPrincipal("baz")));
ctx.addRequestedPrincipalContext("fog", TestPrincipal.class.getName(), Arrays.asList("baf", "bag"), true);
rpCtx = ctx.getSubcontext(RequestedPrincipalContext.class);
- Assert.assertNotNull(rpCtx);
+ assert rpCtx!=null;
Assert.assertEquals(rpCtx.getOperator(), "fog");
Assert.assertEquals(rpCtx.getRequestedPrincipals().size(), 2);
}
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/BaseAttributeDefinitionParserTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/BaseAttributeDefinitionParserTest.java
index 659ae2a7a..3b40e18a7 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/BaseAttributeDefinitionParserTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/BaseAttributeDefinitionParserTest.java
@@ -22,6 +22,9 @@ import static org.testng.Assert.assertEquals;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
+import java.util.Map;
+
+import javax.annotation.Nonnull;
import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
@@ -31,12 +34,10 @@ import org.springframework.context.support.GenericApplicationContext;
import org.testng.annotations.AfterMethod;
import net.shibboleth.idp.attribute.resolver.AttributeDefinition;
-import net.shibboleth.idp.attribute.resolver.AttributeResolver;
import net.shibboleth.idp.attribute.resolver.DataConnector;
import net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl;
import net.shibboleth.idp.attribute.resolver.spring.ad.BaseAttributeDefinitionParser;
import net.shibboleth.idp.attribute.resolver.spring.ad.impl.SimpleAttributeDefinitionParser;
-import net.shibboleth.idp.attribute.resolver.spring.impl.AttributeResolverServiceStrategy;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.spring.config.IdentifiableBeanPostProcessor;
import net.shibboleth.shared.spring.config.StringToDurationConverter;
@@ -44,7 +45,6 @@ import net.shibboleth.shared.spring.config.StringToIPRangeConverter;
import net.shibboleth.shared.spring.config.StringToResourceConverter;
import net.shibboleth.shared.spring.context.FilesystemGenericApplicationContext;
import net.shibboleth.shared.spring.custom.SchemaTypeAwareXMLBeanDefinitionReader;
-import net.shibboleth.shared.spring.service.impl.SpringServiceableComponent;
/**
* Base class for tests for {@link SimpleAttributeDefinitionParser} and by extension {@link BaseAttributeDefinitionParser}.
@@ -95,7 +95,7 @@ public abstract class BaseAttributeDefinitionParserTest extends OpenSAMLInitBase
loadFile(fileName, context, false);
}
- protected <Type> Type getBean(final String fileName, final Class<Type> claz, final GenericApplicationContext context,
+ @Nonnull protected <Type> Type getBean(final String fileName, final Class<Type> claz, final GenericApplicationContext context,
final boolean supressValid) {
final ConversionServiceFactoryBean service = new ConversionServiceFactoryBean();
@@ -113,33 +113,34 @@ public abstract class BaseAttributeDefinitionParserTest extends OpenSAMLInitBase
final Collection<Type> beans = context.getBeansOfType(claz).values();
assertEquals(beans.size(), 1);
-
- return beans.iterator().next();
+ final Type result = beans.iterator().next();
+ assert result != null;
+ return result;
}
- protected <Type> Type getBean(final String fileName, final Class<Type> claz, final GenericApplicationContext context) {
+ @Nonnull protected <Type> Type getBean(final String fileName, final Class<Type> claz, final GenericApplicationContext context) {
return getBean(fileName, claz, context, false);
}
- protected <Type extends AttributeDefinition> Type getAttributeDefn(final String fileName, final Class<Type> claz,
+ @Nonnull protected <Type extends AttributeDefinition> Type getAttributeDefn(final String fileName, final Class<Type> claz,
final GenericApplicationContext context) {
return getBean(ATTRIBUTE_FILE_PATH + fileName, claz, context);
}
- private <Type extends AttributeDefinition> Type getAttributeDefn(final String fileName, final Class<Type> claz,
+ @Nonnull private <Type extends AttributeDefinition> Type getAttributeDefn(final String fileName, final Class<Type> claz,
final GenericApplicationContext context, final boolean supressValidation) {
return getBean(ATTRIBUTE_FILE_PATH + fileName, claz, context, supressValidation);
}
- protected <Type extends AttributeDefinition> Type getAttributeDefn(final String fileName, final String beanFileName,
+ @Nonnull protected <Type extends AttributeDefinition> Type getAttributeDefn(final String fileName, final String beanFileName,
final Class<Type> claz) {
return getAttributeDefn(fileName, beanFileName, claz, false);
}
- private <Type extends AttributeDefinition> Type getAttributeDefn(final String fileName, final String beanFileName,
+ @Nonnull private <Type extends AttributeDefinition> Type getAttributeDefn(final String fileName, final String beanFileName,
final Class<Type> claz, final boolean supressValidation) {
final GenericApplicationContext context = new GenericApplicationContext();
@@ -161,12 +162,12 @@ public abstract class BaseAttributeDefinitionParserTest extends OpenSAMLInitBase
return getAttributeDefn(fileName, claz, context, supressValidation);
}
- protected <Type extends AttributeDefinition> Type getAttributeDefn(final String fileName, final Class<Type> claz) {
+ @Nonnull protected <Type extends AttributeDefinition> Type getAttributeDefn(final String fileName, final Class<Type> claz) {
return getAttributeDefn(fileName, claz, false);
}
- protected <Type extends AttributeDefinition> Type getAttributeDefn(final String fileName, final Class<Type> claz,
+ @Nonnull protected <Type extends AttributeDefinition> Type getAttributeDefn(final String fileName, final Class<Type> claz,
final boolean supressValid) {
final GenericApplicationContext context = new FilesystemGenericApplicationContext();
@@ -176,11 +177,11 @@ public abstract class BaseAttributeDefinitionParserTest extends OpenSAMLInitBase
return getAttributeDefn(fileName, claz, context, supressValid);
}
- protected <Type extends DataConnector> Type getDataConnector(final String fileName, final Class<Type> claz) {
+ @Nonnull protected <Type extends DataConnector> Type getDataConnector(final String fileName, final Class<Type> claz) {
return getDataConnector(fileName, claz, false);
}
- private <Type extends DataConnector> Type
+ @Nonnull private <Type extends DataConnector> Type
getDataConnector(final String fileName, final Class<Type> claz, final boolean supressValid) {
final GenericApplicationContext context = new GenericApplicationContext();
@@ -191,12 +192,14 @@ public abstract class BaseAttributeDefinitionParserTest extends OpenSAMLInitBase
return getBean(DATACONNECTOR_FILE_PATH + fileName, claz, context, supressValid);
}
- static public AttributeResolverImpl getResolver(final ApplicationContext appContext) throws ComponentInitializationException {
- final Collection<AttributeDefinition> definitions =
- appContext.getBeansOfType(AttributeDefinition.class).values();
+ @Nonnull static public AttributeResolverImpl getResolver(final ApplicationContext appContext) throws ComponentInitializationException {
+ final Map<String, AttributeDefinition> attributesMap = appContext.getBeansOfType(AttributeDefinition.class);
+ final Collection<AttributeDefinition> definitions = attributesMap.values();
+ final Map<String, DataConnector> dataConnectorsMap = appContext.getBeansOfType(DataConnector.class);
+ final Collection<DataConnector> connectors = dataConnectorsMap.values();
+ assert connectors != null && definitions != null;
- final Collection<DataConnector> connectors = appContext.getBeansOfType(DataConnector.class).values();
- final AttributeResolverImpl resolver = new AttributeResolverImpl();
+ @Nonnull final AttributeResolverImpl resolver = new AttributeResolverImpl();
resolver.setAttributeDefinitions(definitions);
resolver.setDataConnectors(connectors);
resolver.setId("testResolver");
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/ContextDerivedAttributeDefinitionParserTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/ContextDerivedAttributeDefinitionParserTest.java
index fc063e502..f42a49f3c 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/ContextDerivedAttributeDefinitionParserTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/ContextDerivedAttributeDefinitionParserTest.java
@@ -24,8 +24,10 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import javax.annotation.Nonnull;
import javax.security.auth.Subject;
+import org.opensaml.messaging.context.BaseContext;
import org.springframework.beans.factory.BeanDefinitionStoreException;
import org.testng.annotations.Test;
@@ -52,9 +54,9 @@ import net.shibboleth.idp.saml.authn.principal.AuthenticationMethodPrincipal;
public class ContextDerivedAttributeDefinitionParserTest extends BaseAttributeDefinitionParserTest {
/** Simple result. */
- private static final String SIMPLE_VALUE = "simple";
+ @Nonnull private static final String SIMPLE_VALUE = "simple";
- private AttributeResolutionContext getCtx(final String attributeName, boolean c14n) {
+ @Nonnull private AttributeResolutionContext getCtx(@Nonnull final String attributeName, boolean c14n) {
final List<IdPAttributeValue> list = new ArrayList<>(2);
list.add(new StringAttributeValue(SIMPLE_VALUE));
list.add(new StringAttributeValue(SIMPLE_VALUE + "2"));
@@ -68,10 +70,12 @@ public class ContextDerivedAttributeDefinitionParserTest extends BaseAttributeDe
subject.getPrincipals().add(new IdPAttributePrincipal(attr));
subject.getPrincipals().add(new AuthenticationMethodPrincipal(SIMPLE_VALUE + "2"));
+ final BaseContext parent = ctx.getParent();
+ assert parent != null;
if (c14n) {
- ctx.getParent().getSubcontext(SubjectCanonicalizationContext.class, true).setSubject(subject);
+ parent.getOrCreateSubcontext(SubjectCanonicalizationContext.class).setSubject(subject);
} else {
- final SubjectContext sc = ctx.getParent().getSubcontext(SubjectContext.class, true);
+ final SubjectContext sc = parent.getOrCreateSubcontext(SubjectContext.class);
final Map<String, AuthenticationResult> authnResults = sc.getAuthenticationResults();
authnResults.put("one", new AuthenticationResult("1", subject));
}
@@ -83,7 +87,9 @@ public class ContextDerivedAttributeDefinitionParserTest extends BaseAttributeDe
final AttributeDefinition attrDef =
getAttributeDefn("subjectDerived.xml", ContextDerivedAttributeDefinition.class);
- final List<IdPAttributeValue> foo = attrDef.resolve(getCtx("Whatever", false)).getValues();
+ final IdPAttribute attr = attrDef.resolve(getCtx("Whatever", false));
+ assert attr != null;
+ final List<IdPAttributeValue> foo = attr.getValues();
assertEquals(2, foo.size());
assertTrue(foo.contains(new StringAttributeValue(SIMPLE_VALUE)));
@@ -95,7 +101,9 @@ public class ContextDerivedAttributeDefinitionParserTest extends BaseAttributeDe
final AttributeDefinition attrDef =
getAttributeDefn("subjectDerivedViaC14N.xml", ContextDerivedAttributeDefinition.class);
- final List<IdPAttributeValue> foo = attrDef.resolve(getCtx("Whatever", true)).getValues();
+ final IdPAttribute attr = attrDef.resolve(getCtx("Whatever", true));
+ assert attr != null;
+ final List<IdPAttributeValue> foo = attr.getValues();
assertEquals(2, foo.size());
assertTrue(foo.contains(new StringAttributeValue(SIMPLE_VALUE)));
@@ -107,7 +115,10 @@ public class ContextDerivedAttributeDefinitionParserTest extends BaseAttributeDe
final AttributeDefinition attrDef = getAttributeDefn("subjectDerivedComplex.xml", "contextDerivedBeans.xml",
ContextDerivedAttributeDefinition.class);
- final List<IdPAttributeValue> foo = attrDef.resolve(getCtx("BeanWhatever", false)).getValues();
+ assert attrDef != null;
+ final IdPAttribute attr = attrDef.resolve(getCtx("BeanWhatever", false));
+ assert attr != null;
+ final List<IdPAttributeValue> foo = attr.getValues();
assertEquals(2, foo.size());
assertTrue(foo.contains(new StringAttributeValue(SIMPLE_VALUE)));
@@ -118,7 +129,10 @@ public class ContextDerivedAttributeDefinitionParserTest extends BaseAttributeDe
final AttributeDefinition attrDef = getAttributeDefn("contextDerived.xml", "contextDerivedBeans.xml",
ContextDerivedAttributeDefinition.class);
- final List<IdPAttributeValue> foo = attrDef.resolve(getCtx("BeanWhatever", false)).getValues();
+ assert attrDef != null;
+ final IdPAttribute attr = attrDef.resolve(getCtx("BeanWhatever", false));
+ assert attr != null;
+ final List<IdPAttributeValue> foo = attr.getValues();
assertEquals(2, foo.size());
assertTrue(foo.contains(new StringAttributeValue(SIMPLE_VALUE)));
@@ -128,7 +142,9 @@ public class ContextDerivedAttributeDefinitionParserTest extends BaseAttributeDe
@Test public void warn() throws ResolutionException {
final AttributeDefinition attrDef =
getAttributeDefn("subjectDerivedWarn.xml", ContextDerivedAttributeDefinition.class);
- final List<IdPAttributeValue> foo = attrDef.resolve(getCtx("Whatever", false)).getValues();
+ final IdPAttribute attr = attrDef.resolve(getCtx("Whatever", false));
+ assert attr != null;
+ final List<IdPAttributeValue> foo = attr.getValues();
assertEquals(2, foo.size());
assertTrue(foo.contains(new StringAttributeValue(SIMPLE_VALUE)));
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/SubjectDataConnectorTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/SubjectDataConnectorTest.java
index 00027d31f..d36066052 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/SubjectDataConnectorTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/SubjectDataConnectorTest.java
@@ -23,8 +23,10 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import javax.annotation.Nonnull;
import javax.security.auth.Subject;
+import org.opensaml.messaging.context.BaseContext;
import org.testng.annotations.Test;
import net.shibboleth.idp.attribute.IdPAttribute;
@@ -46,7 +48,7 @@ import net.shibboleth.shared.component.ComponentInitializationException;
public class SubjectDataConnectorTest {
/** Simple result. */
- private static final String SIMPLE_VALUE = "simple";
+ @Nonnull private static final String SIMPLE_VALUE = "simple";
@Test public void simpleValue() throws ComponentInitializationException, ResolutionException {
final List<IdPAttributeValue> list = new ArrayList<>(2);
@@ -68,7 +70,9 @@ public class SubjectDataConnectorTest {
final AttributeResolutionContext ctx =
TestSources.createResolutionContext(TestSources.PRINCIPAL_ID, TestSources.IDP_ENTITY_ID,
TestSources.SP_ENTITY_ID);
- final SubjectContext sc = ctx.getParent().getSubcontext(SubjectContext.class, true);
+ final BaseContext parent = ctx.getParent();
+ assert parent != null;
+ final SubjectContext sc = parent.getOrCreateSubcontext(SubjectContext.class);
final Map<String, AuthenticationResult> authnResults = sc.getAuthenticationResults();
final Subject subject = new Subject();
subject.getPrincipals().add(new IdPAttributePrincipal(attr));
@@ -77,8 +81,7 @@ public class SubjectDataConnectorTest {
final Map<String,IdPAttribute> results = defn.resolve(ctx);
-
- assertEquals(1, results.size());
+ assert results != null && results.size() == 1;
final IdPAttribute copy = results.get("wibble");
@@ -108,7 +111,9 @@ public class SubjectDataConnectorTest {
final AttributeResolutionContext ctx =
TestSources.createResolutionContext(TestSources.PRINCIPAL_ID, TestSources.IDP_ENTITY_ID,
TestSources.SP_ENTITY_ID);
- final SubjectCanonicalizationContext sc = ctx.getParent().getSubcontext(SubjectCanonicalizationContext.class, true);
+ final BaseContext parent = ctx.getParent();
+ assert parent != null;
+ final SubjectCanonicalizationContext sc = parent.getOrCreateSubcontext(SubjectCanonicalizationContext.class);
final Subject subject = new Subject();
subject.getPrincipals().add(new IdPAttributePrincipal(attr));
subject.getPrincipals().add(new AuthenticationMethodPrincipal(SIMPLE_VALUE + "2"));
@@ -117,7 +122,7 @@ public class SubjectDataConnectorTest {
final Map<String,IdPAttribute> results = defn.resolve(ctx);
- assertEquals(1, results.size());
+ assert results != null && results.size() == 1;
final IdPAttribute copy = results.get("wibble");
@@ -142,7 +147,9 @@ public class SubjectDataConnectorTest {
final AttributeResolutionContext ctx =
TestSources.createResolutionContext(TestSources.PRINCIPAL_ID, TestSources.IDP_ENTITY_ID,
TestSources.SP_ENTITY_ID);
- final SubjectContext sc = ctx.getParent().getSubcontext(SubjectContext.class, true);
+ final BaseContext parent = ctx.getParent();
+ assert parent != null;
+ final SubjectContext sc = parent.getOrCreateSubcontext(SubjectContext.class);
final Map<String, AuthenticationResult> authnResults = sc.getAuthenticationResults();
final Subject subject = new Subject();
subject.getPrincipals().add(new AuthenticationMethodPrincipal(SIMPLE_VALUE + "2"));
@@ -169,7 +176,9 @@ public class SubjectDataConnectorTest {
final AttributeResolutionContext ctx =
TestSources.createResolutionContext(TestSources.PRINCIPAL_ID, TestSources.IDP_ENTITY_ID,
TestSources.SP_ENTITY_ID);
- final SubjectContext sc = ctx.getParent().getSubcontext(SubjectContext.class, true);
+ final BaseContext parent = ctx.getParent();
+ assert parent != null;
+ final SubjectContext sc = parent.getOrCreateSubcontext(SubjectContext.class);
final Map<String, AuthenticationResult> authnResults = sc.getAuthenticationResults();
final Subject subject = new Subject();
subject.getPrincipals().add(new AuthenticationMethodPrincipal(SIMPLE_VALUE + "2"));
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/SubjectDerivedAttributeValuesFunctionTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/SubjectDerivedAttributeValuesFunctionTest.java
index bc1956f2d..2d737e544 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/SubjectDerivedAttributeValuesFunctionTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/context/impl/SubjectDerivedAttributeValuesFunctionTest.java
@@ -26,8 +26,10 @@ import java.util.Collections;
import java.util.List;
import java.util.Map;
+import javax.annotation.Nonnull;
import javax.security.auth.Subject;
+import org.opensaml.messaging.context.BaseContext;
import org.testng.annotations.Test;
import net.shibboleth.idp.attribute.IdPAttribute;
@@ -52,6 +54,11 @@ public class SubjectDerivedAttributeValuesFunctionTest {
/** Simple result. */
private static final String SIMPLE_VALUE = "simple";
+ @Nonnull private List<IdPAttributeValue> doResolve(@Nonnull final ContextDerivedAttributeDefinition defn, @Nonnull final AttributeResolutionContext ctx) throws ResolutionException {
+ final IdPAttribute attr = defn.resolve(ctx);
+ assert attr!=null;
+ return attr.getValues();
+ }
@Test public void noSubjectContext() throws ComponentInitializationException, ResolutionException {
@@ -100,7 +107,9 @@ public class SubjectDerivedAttributeValuesFunctionTest {
final AttributeResolutionContext ctx =
TestSources.createResolutionContext(TestSources.PRINCIPAL_ID, TestSources.IDP_ENTITY_ID,
TestSources.SP_ENTITY_ID);
- final SubjectContext sc = ctx.getParent().getSubcontext(SubjectContext.class, true);
+ final BaseContext parent = ctx.getParent();
+ assert parent != null;
+ final SubjectContext sc = parent.getOrCreateSubcontext(SubjectContext.class);
final Map<String, AuthenticationResult> authnResults = sc.getAuthenticationResults();
final Subject subject = new Subject();
subject.getPrincipals().add(new IdPAttributePrincipal(attr));
@@ -108,7 +117,7 @@ public class SubjectDerivedAttributeValuesFunctionTest {
authnResults.put("one", new AuthenticationResult("1", subject));
- final List<IdPAttributeValue> foo = defn.resolve(ctx).getValues();
+ final List<IdPAttributeValue> foo = doResolve(defn, ctx);
assertEquals(2, foo.size());
assertTrue(foo.contains(new StringAttributeValue(SIMPLE_VALUE)));
@@ -145,7 +154,7 @@ public class SubjectDerivedAttributeValuesFunctionTest {
TestSources.createResolutionContext(TestSources.PRINCIPAL_ID, TestSources.IDP_ENTITY_ID,
TestSources.SP_ENTITY_ID);
- final List<IdPAttributeValue> foo = defn.resolve(ctx).getValues();
+ final List<IdPAttributeValue> foo = doResolve(defn, ctx);
assertEquals(2, foo.size());
assertTrue(foo.contains(new StringAttributeValue(SIMPLE_VALUE)));
@@ -180,10 +189,13 @@ public class SubjectDerivedAttributeValuesFunctionTest {
final AttributeResolutionContext ctx =
TestSources.createResolutionContext(TestSources.PRINCIPAL_ID, TestSources.IDP_ENTITY_ID,
- TestSources.SP_ENTITY_ID);
- ctx.getParent().getSubcontext(SubjectCanonicalizationContext.class, true).setSubject(subject);
+ TestSources.SP_ENTITY_ID);
+ final BaseContext parent = ctx.getParent();
+ assert parent != null;
+ final SubjectCanonicalizationContext sc = parent.getOrCreateSubcontext(SubjectCanonicalizationContext.class);
+ sc.setSubject(subject);
- final List<IdPAttributeValue> foo = defn.resolve(ctx).getValues();
+ final List<IdPAttributeValue> foo = doResolve(defn, ctx);
assertEquals(2, foo.size());
assertTrue(foo.contains(new StringAttributeValue(SIMPLE_VALUE)));
@@ -212,7 +224,9 @@ public class SubjectDerivedAttributeValuesFunctionTest {
final AttributeResolutionContext ctx =
TestSources.createResolutionContext(TestSources.PRINCIPAL_ID, TestSources.IDP_ENTITY_ID,
TestSources.SP_ENTITY_ID);
- final SubjectContext sc = ctx.getParent().getSubcontext(SubjectContext.class, true);
+ final BaseContext parent = ctx.getParent();
+ assert parent != null;
+ final SubjectContext sc = parent.getOrCreateSubcontext(SubjectContext.class);
final Map<String, AuthenticationResult> authnResults = sc.getAuthenticationResults();
final Subject subject = new Subject();
subject.getPrincipals().add(new IdPAttributePrincipal(attr));
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/duo/impl/ExtractDuoAuthenticationFromHeadersTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/duo/impl/ExtractDuoAuthenticationFromHeadersTest.java
index 6b7dfc2b9..b61a810fe 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/duo/impl/ExtractDuoAuthenticationFromHeadersTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/duo/impl/ExtractDuoAuthenticationFromHeadersTest.java
@@ -24,7 +24,6 @@ import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
-import jakarta.servlet.http.HttpServletRequest;
import net.shibboleth.idp.authn.AuthnEventIds;
import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.authn.duo.DuoAuthAPI;
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/AttributeSourcedSubjectCanonicalizationTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/AttributeSourcedSubjectCanonicalizationTest.java
index 71df1e281..4438180b3 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/AttributeSourcedSubjectCanonicalizationTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/AttributeSourcedSubjectCanonicalizationTest.java
@@ -18,7 +18,6 @@
package net.shibboleth.idp.authn.impl;
import java.util.Collections;
-import java.util.List;
import javax.security.auth.Subject;
@@ -36,6 +35,7 @@ import net.shibboleth.idp.authn.context.SubjectCanonicalizationContext;
import net.shibboleth.idp.authn.impl.testing.BaseAuthenticationContextTest;
import net.shibboleth.idp.authn.principal.IdPAttributePrincipal;
import net.shibboleth.idp.profile.testing.ActionTestingSupport;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
/** {@link AttributeSourcedSubjectCanonicalization} unit test. */
@@ -48,7 +48,7 @@ public class AttributeSourcedSubjectCanonicalizationTest extends BaseAuthenticat
super.setUp();
action = new AttributeSourcedSubjectCanonicalization();
- action.setAttributeSourceIds(List.of("attr1", "attr2"));
+ action.setAttributeSourceIds(CollectionSupport.listOf("attr1", "attr2"));
}
@Test(expectedExceptions=ComponentInitializationException.class)
@@ -69,12 +69,13 @@ public class AttributeSourcedSubjectCanonicalizationTest extends BaseAuthenticat
action.initialize();
Subject subject = new Subject();
- prc.getSubcontext(SubjectCanonicalizationContext.class, true).setSubject(subject);
+ prc.getOrCreateSubcontext(SubjectCanonicalizationContext.class).setSubject(subject);
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, AuthnEventIds.INVALID_SUBJECT);
- Assert.assertNotNull(prc.getSubcontext(SubjectCanonicalizationContext.class, false).getException());
+ SubjectCanonicalizationContext scc = prc.getSubcontext(SubjectCanonicalizationContext.class, false);
+ assert scc != null && scc.getException()!=null;
}
@Test public void testNoSubjectSourcedAttributes() throws ComponentInitializationException {
@@ -82,12 +83,13 @@ public class AttributeSourcedSubjectCanonicalizationTest extends BaseAuthenticat
action.initialize();
Subject subject = new Subject();
- prc.getSubcontext(SubjectCanonicalizationContext.class, true).setSubject(subject);
+ prc.getOrCreateSubcontext(SubjectCanonicalizationContext.class).setSubject(subject);
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, AuthnEventIds.INVALID_SUBJECT);
- Assert.assertNotNull(prc.getSubcontext(SubjectCanonicalizationContext.class, false).getException());
+ SubjectCanonicalizationContext scc = prc.getSubcontext(SubjectCanonicalizationContext.class, false);
+ assert scc != null && scc.getException()!=null;
}
@Test public void testSuccess() throws ComponentInitializationException {
@@ -96,10 +98,10 @@ public class AttributeSourcedSubjectCanonicalizationTest extends BaseAuthenticat
final IdPAttribute inputAttribute = new IdPAttribute("attr2");
inputAttribute.setValues(Collections.singletonList(new StringAttributeValue("foo")));
- final SubjectCanonicalizationContext sc = prc.getSubcontext(SubjectCanonicalizationContext.class, true);
+ final SubjectCanonicalizationContext sc = prc.getOrCreateSubcontext(SubjectCanonicalizationContext.class);
sc.setSubject(new Subject());
- sc.getSubcontext(AttributeContext.class, true).setIdPAttributes(Collections.singleton(inputAttribute));
+ sc.getOrCreateSubcontext(AttributeContext.class).setIdPAttributes(Collections.singleton(inputAttribute));
final Event event = action.execute(src);
@@ -113,9 +115,10 @@ public class AttributeSourcedSubjectCanonicalizationTest extends BaseAuthenticat
final IdPAttribute inputAttribute = new IdPAttribute("attr2");
inputAttribute.setValues(Collections.singletonList(new StringAttributeValue("foo")));
- final SubjectCanonicalizationContext sc = prc.getSubcontext(SubjectCanonicalizationContext.class, true);
- sc.setSubject(new Subject());
- sc.getSubject().getPrincipals().add(new IdPAttributePrincipal(inputAttribute));
+ final SubjectCanonicalizationContext sc = prc.getOrCreateSubcontext(SubjectCanonicalizationContext.class);
+ final Subject subject = new Subject();
+ sc.setSubject(subject);
+ subject.getPrincipals().add(new IdPAttributePrincipal(inputAttribute));
final Event event = action.execute(src);
@@ -129,9 +132,10 @@ public class AttributeSourcedSubjectCanonicalizationTest extends BaseAuthenticat
final IdPAttribute inputAttribute = new IdPAttribute("attr2");
inputAttribute.setValues(Collections.singletonList(new ScopedStringAttributeValue("foo", "scope")));
- final SubjectCanonicalizationContext sc = prc.getSubcontext(SubjectCanonicalizationContext.class, true);
- sc.setSubject(new Subject());
- sc.getSubject().getPrincipals().add(new IdPAttributePrincipal(inputAttribute));
+ final SubjectCanonicalizationContext sc = prc.getOrCreateSubcontext(SubjectCanonicalizationContext.class);
+ final Subject subject = new Subject();
+ sc.setSubject(subject);
+ subject.getPrincipals().add(new IdPAttributePrincipal(inputAttribute));
final Event event = action.execute(src);
@@ -149,20 +153,21 @@ public class AttributeSourcedSubjectCanonicalizationTest extends BaseAuthenticat
final IdPAttribute attr2bar = new IdPAttribute("attr2");
attr2bar.setValues(Collections.singletonList(new StringAttributeValue("bar")));
- final SubjectCanonicalizationContext sc = prc.getSubcontext(SubjectCanonicalizationContext.class, true);
- sc.setSubject(new Subject());
- sc.getSubject().getPrincipals().add(new IdPAttributePrincipal(attr2));
+ final SubjectCanonicalizationContext sc = prc.getOrCreateSubcontext(SubjectCanonicalizationContext.class);
+ final Subject subject = new Subject();
+ sc.setSubject(subject);
+ subject.getPrincipals().add(new IdPAttributePrincipal(attr2));
- sc.getSubcontext(AttributeContext.class, true).setIdPAttributes(Collections.singleton(attr2bar));
+ sc.getOrCreateSubcontext(AttributeContext.class).setIdPAttributes(Collections.singleton(attr2bar));
Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
Assert.assertEquals(sc.getPrincipalName(), "foo");
- sc.getSubject().getPrincipals().clear();
- sc.getSubject().getPrincipals().add(new IdPAttributePrincipal(attr2bar));
- sc.getSubcontext(AttributeContext.class, true).setIdPAttributes(Collections.singleton(attr2));
+ subject.getPrincipals().clear();
+ subject.getPrincipals().add(new IdPAttributePrincipal(attr2bar));
+ sc.getOrCreateSubcontext(AttributeContext.class).setIdPAttributes(Collections.singleton(attr2));
event = action.execute(src);
@@ -180,11 +185,12 @@ public class AttributeSourcedSubjectCanonicalizationTest extends BaseAuthenticat
final IdPAttribute attr1 = new IdPAttribute("attr1");
attr1.setValues(Collections.singletonList(new StringAttributeValue("foo")));
- final SubjectCanonicalizationContext sc = prc.getSubcontext(SubjectCanonicalizationContext.class, true);
- sc.setSubject(new Subject());
- sc.getSubject().getPrincipals().add(new IdPAttributePrincipal(attr2));
+ final SubjectCanonicalizationContext sc = prc.getOrCreateSubcontext(SubjectCanonicalizationContext.class);
+ final Subject subject = new Subject();
+ sc.setSubject(subject);
+ subject.getPrincipals().add(new IdPAttributePrincipal(attr2));
- sc.getSubcontext(AttributeContext.class, true).setIdPAttributes(Collections.singleton(attr1));
+ sc.getOrCreateSubcontext(AttributeContext.class).setIdPAttributes(Collections.singleton(attr1));
final Event event = action.execute(src);
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/DefaultAuthenticationResultSerializerTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/DefaultAuthenticationResultSerializerTest.java
index 08c700c16..473e66f66 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/DefaultAuthenticationResultSerializerTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/DefaultAuthenticationResultSerializerTest.java
@@ -17,18 +17,30 @@
package net.shibboleth.idp.authn.impl;
-import static org.testng.Assert.*;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertTrue;
+import static org.testng.Assert.fail;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.URISyntaxException;
import java.time.Instant;
-import java.util.Collections;
import java.util.List;
+import javax.annotation.Nonnull;
import javax.security.auth.Subject;
+import org.ldaptive.LdapAttribute;
+import org.ldaptive.LdapEntry;
+import org.ldaptive.jaas.LdapPrincipal;
+import org.opensaml.profile.context.ProfileRequestContext;
+import org.opensaml.profile.testing.RequestContextBuilder;
+import org.opensaml.security.x509.X509Support;
+import org.springframework.core.io.ClassPathResource;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
import net.shibboleth.idp.attribute.ByteAttributeValue;
import net.shibboleth.idp.attribute.EmptyAttributeValue;
import net.shibboleth.idp.attribute.IdPAttribute;
@@ -51,23 +63,13 @@ import net.shibboleth.idp.authn.principal.impl.IdPAttributePrincipalSerializer;
import net.shibboleth.idp.authn.principal.impl.LDAPPrincipalSerializer;
import net.shibboleth.idp.authn.principal.impl.ProxyAuthenticationPrincipalSerializer;
import net.shibboleth.idp.authn.testing.TestPrincipal;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.logic.PredicateSupport;
import net.shibboleth.shared.security.DataSealer;
import net.shibboleth.shared.security.impl.BasicKeystoreKeyStrategy;
import net.shibboleth.shared.spring.resource.ResourceHelper;
-import org.ldaptive.LdapAttribute;
-import org.ldaptive.LdapEntry;
-import org.ldaptive.jaas.LdapPrincipal;
-import org.opensaml.profile.context.ProfileRequestContext;
-import org.opensaml.profile.testing.RequestContextBuilder;
-import org.opensaml.security.x509.X509Support;
-import org.springframework.core.io.ClassPathResource;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Test;
-
-import com.google.common.base.Predicates;
-
/** {@link DefaultAuthenticationResultSerializer} unit test. */
public class DefaultAuthenticationResultSerializerTest {
@@ -172,11 +174,13 @@ public class DefaultAuthenticationResultSerializerTest {
final GenericPrincipalSerializer generic = new GenericPrincipalSerializer();
generic.initialize();
+ assert manager!= null;
serializer = new DefaultAuthenticationResultSerializer(manager, generic);
flowDescriptor = new AuthenticationFlowDescriptor();
flowDescriptor.setId("test");
+ assert serializer != null;
flowDescriptor.setResultSerializer(serializer);
- flowDescriptor.setReuseCondition(Predicates.alwaysTrue());
+ flowDescriptor.setReuseCondition(PredicateSupport.alwaysTrue());
}
@Test public void testInvalid() throws Exception {
@@ -219,7 +223,7 @@ public class DefaultAuthenticationResultSerializerTest {
result.getAdditionalData().put("frobnitz", "zorkmid");
result.getSubject().getPrincipals().add(new UsernamePrincipal("bob"));
- final ProfileRequestContext prc = getProfileRequestContext(Collections.singletonList(flowDescriptor));
+ final ProfileRequestContext prc = getProfileRequestContext(CollectionSupport.singletonList(flowDescriptor));
assertTrue(result.getReuseCondition().test(prc));
flowDescriptor.serialize(result);
@@ -253,7 +257,7 @@ public class DefaultAuthenticationResultSerializerTest {
final String s2 = fileToString(DATAPATH + "complexAuthenticationResult.json");
assertEquals(s, s2);
- final ProfileRequestContext prc = getProfileRequestContext(Collections.singletonList(flowDescriptor));
+ final ProfileRequestContext prc = getProfileRequestContext(CollectionSupport.singletonList(flowDescriptor));
assertTrue(result.getReuseCondition().test(prc));
final AuthenticationResult result2 = flowDescriptor.deserialize(1, CONTEXT, KEY, s2,
@@ -279,7 +283,7 @@ public class DefaultAuthenticationResultSerializerTest {
result.getSubject().getPublicCredentials().add(X509Support.decodeCertificate(entityCertBase64));
result.getSubject().getPrivateCredentials().add(new PasswordPrincipal("bar"));
- final ProfileRequestContext prc = getProfileRequestContext(Collections.singletonList(flowDescriptor));
+ final ProfileRequestContext prc = getProfileRequestContext(CollectionSupport.singletonList(flowDescriptor));
assertTrue(result.getReuseCondition().test(prc));
final String s = flowDescriptor.serialize(result);
@@ -299,7 +303,7 @@ public class DefaultAuthenticationResultSerializerTest {
@Test public void testSymbolic() throws Exception {
final GenericPrincipalSerializer generic = new GenericPrincipalSerializer();
- generic.setSymbolics(Collections.singletonMap(TestPrincipal.class.getName(), 1));
+ generic.setSymbolics(CollectionSupport.singletonMap(TestPrincipal.class.getName(), 1));
generic.initialize();
serializer = new DefaultAuthenticationResultSerializer(manager, generic);
serializer.initialize();
@@ -311,7 +315,7 @@ public class DefaultAuthenticationResultSerializerTest {
result.getSubject().getPrincipals().add(new TestPrincipal("foo"));
result.getSubject().getPrincipals().add(new TestPrincipal("bar"));
- final ProfileRequestContext prc = getProfileRequestContext(Collections.singletonList(flowDescriptor));
+ final ProfileRequestContext prc = getProfileRequestContext(CollectionSupport.singletonList(flowDescriptor));
assertTrue(result.getReuseCondition().test(prc));
final String s = flowDescriptor.serialize(result);
@@ -350,7 +354,7 @@ public class DefaultAuthenticationResultSerializerTest {
new LdapAttribute("mail", "bob at shibboleth.net"));
result.getSubject().getPrincipals().add(new LdapPrincipal("bob", LdapEntry.sort(entry)));
- final ProfileRequestContext prc = getProfileRequestContext(Collections.singletonList(flowDescriptor));
+ final ProfileRequestContext prc = getProfileRequestContext(CollectionSupport.singletonList(flowDescriptor));
assertTrue(result.getReuseCondition().test(prc));
final String s = flowDescriptor.serialize(result);
@@ -385,7 +389,7 @@ public class DefaultAuthenticationResultSerializerTest {
result.getSubject().getPrincipals().add(prin);
- final ProfileRequestContext prc = getProfileRequestContext(Collections.singletonList(flowDescriptor));
+ final ProfileRequestContext prc = getProfileRequestContext(CollectionSupport.singletonList(flowDescriptor));
assertTrue(result.getReuseCondition().test(prc));
final String s = flowDescriptor.serialize(result);
@@ -419,12 +423,12 @@ public class DefaultAuthenticationResultSerializerTest {
flowDescriptor.initialize();
final AuthenticationResult result = createResult(flowDescriptor, new Subject());
- final ProxyAuthenticationPrincipal prin = new ProxyAuthenticationPrincipal(List.of("foo","bar","baz"));
+ final ProxyAuthenticationPrincipal prin = new ProxyAuthenticationPrincipal(CollectionSupport.listOf("foo","bar","baz"));
prin.setProxyCount(10);
prin.getAudiences().add("zorkmid");
result.getSubject().getPrincipals().add(prin);
- final ProfileRequestContext prc = getProfileRequestContext(Collections.singletonList(flowDescriptor));
+ final ProfileRequestContext prc = getProfileRequestContext(CollectionSupport.singletonList(flowDescriptor));
assertTrue(result.getReuseCondition().test(prc));
final String s = flowDescriptor.serialize(result);
@@ -459,6 +463,7 @@ public class DefaultAuthenticationResultSerializerTest {
final AuthenticationFlowDescriptor nestedDescriptor = new AuthenticationFlowDescriptor();
nestedDescriptor.setId("nested");
+ assert serializer != null;
nestedDescriptor.setResultSerializer(serializer);
nestedDescriptor.initialize();
@@ -468,7 +473,8 @@ public class DefaultAuthenticationResultSerializerTest {
result.getSubject().getPrincipals().add(new AuthenticationResultPrincipal(nested));
- final ProfileRequestContext prc = getProfileRequestContext(List.of(flowDescriptor, nestedDescriptor));
+ assert flowDescriptor != null;
+ final ProfileRequestContext prc = getProfileRequestContext(CollectionSupport.listOf(flowDescriptor, nestedDescriptor));
assertTrue(result.getReuseCondition().test(prc));
final String s = flowDescriptor.serialize(result);
@@ -496,23 +502,23 @@ public class DefaultAuthenticationResultSerializerTest {
assertTrue(nested2.getReuseCondition().test(prc));
}
- private AuthenticationResult createResult(AuthenticationFlowDescriptor flow, Subject subject) {
+ @Nonnull private AuthenticationResult createResult(@Nonnull AuthenticationFlowDescriptor flow, @Nonnull Subject subject) {
final AuthenticationResult result = flow.newAuthenticationResult(subject);
result.setAuthenticationInstant(INSTANT);
result.setLastActivityInstant(Instant.ofEpochMilli(ACTIVITY));
return result;
}
- private ProfileRequestContext getProfileRequestContext(final List<AuthenticationFlowDescriptor> flows) {
+ @Nonnull private ProfileRequestContext getProfileRequestContext(@Nonnull final List<AuthenticationFlowDescriptor> flows) {
final ProfileRequestContext prc = new RequestContextBuilder().buildProfileRequestContext();
- final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class, true);
+ final AuthenticationContext ac = prc.getOrCreateSubcontext(AuthenticationContext.class);
for (final AuthenticationFlowDescriptor flow : flows) {
ac.getAvailableFlows().put(flow.getId(), flow);
}
return prc;
}
- private String fileToString(String pathname) throws URISyntaxException, IOException {
+ @Nonnull private String fileToString(String pathname) throws URISyntaxException, IOException {
try (final FileInputStream stream = new FileInputStream(
new File(DefaultAuthenticationResultSerializerTest.class.getResource(pathname).toURI()))) {
int avail = stream.available();
@@ -531,7 +537,9 @@ public class DefaultAuthenticationResultSerializerTest {
}
avail = stream.available();
} while (avail > 0 && numRead >= 0);
- return new String(data, 0, pos, "UTF-8").trim();
+ final String str = new String(data, 0, pos, "UTF-8").trim();
+ assert str != null;
+ return str;
}
}
}
\ No newline at end of file
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractRemoteUserTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractRemoteUserTest.java
index 10e9e59ad..94e27efbb 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractRemoteUserTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractRemoteUserTest.java
@@ -74,32 +74,34 @@ public class ExtractRemoteUserTest extends BaseAuthenticationContextTest {
}
@Test public void testRemoteUser() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).setRemoteUser("foo");
+ getMockHttpServletRequest(action).setRemoteUser("foo");
action.initialize();
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class, false);
- UsernameContext unCtx = authCtx.getSubcontext(UsernameContext.class, false);
- Assert.assertNotNull(unCtx, "No UsernameContext attached");
+ assert authCtx != null;
+ final UsernameContext unCtx = authCtx.getSubcontext(UsernameContext.class, false);
+ assert unCtx != null;
Assert.assertEquals(unCtx.getUsername(), "foo");
}
@Test public void testAttribute() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).setAttribute("Username", "foo");
+ getMockHttpServletRequest(action).setAttribute("Username", "foo");
action.setCheckAttributes(Arrays.asList("Username"));
action.initialize();
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class, false);
- UsernameContext unCtx = authCtx.getSubcontext(UsernameContext.class, false);
- Assert.assertNotNull(unCtx, "No UsernameContext attached");
+ assert authCtx != null;
+ final UsernameContext unCtx = authCtx.getSubcontext(UsernameContext.class, false);
+ assert unCtx != null;
Assert.assertEquals(unCtx.getUsername(), "foo");
}
@Test public void testHeader() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addHeader("X-Username", "foo");
+ getMockHttpServletRequest(action).addHeader("X-Username", "foo");
action.setCheckAttributes(Arrays.asList("Username"));
action.setCheckHeaders(Arrays.asList("X-Username"));
action.initialize();
@@ -107,13 +109,14 @@ public class ExtractRemoteUserTest extends BaseAuthenticationContextTest {
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class, false);
+ assert authCtx != null;
UsernameContext unCtx = authCtx.getSubcontext(UsernameContext.class, false);
- Assert.assertNotNull(unCtx, "No UsernameContext attached");
+ assert unCtx != null;
Assert.assertEquals(unCtx.getUsername(), "foo");
}
@Test public void testTransforms() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).setRemoteUser(" Foo at osu.edu ");
+ getMockHttpServletRequest(action).setRemoteUser(" Foo at osu.edu ");
action.setTrim(true);
action.setTransforms(Arrays.asList(new Pair<>("^(.+)@osu\\.edu$", "$1")));
action.setLowercase(true);
@@ -122,8 +125,9 @@ public class ExtractRemoteUserTest extends BaseAuthenticationContextTest {
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class, false);
- UsernameContext unCtx = authCtx.getSubcontext(UsernameContext.class, false);
- Assert.assertNotNull(unCtx, "No UsernameContext attached");
+ assert authCtx != null;
+ final UsernameContext unCtx = authCtx.getSubcontext(UsernameContext.class, false);
+ assert unCtx != null;
Assert.assertEquals(unCtx.getUsername(), "foo");
}
}
\ No newline at end of file
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractUserAgentAddressTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractUserAgentAddressTest.java
index e3270f079..e990d9c02 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractUserAgentAddressTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractUserAgentAddressTest.java
@@ -18,6 +18,8 @@
package net.shibboleth.idp.authn.impl;
+import java.net.InetAddress;
+
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.webflow.execution.Event;
import org.testng.Assert;
@@ -35,7 +37,9 @@ import net.shibboleth.shared.testing.ConstantSupplier;
/** {@link ExtractUserAgentAddress} unit test. */
public class ExtractUserAgentAddressTest extends BaseAuthenticationContextTest {
- private ExtractUserAgentAddress action;
+ private ExtractUserAgentAddress action;
+
+ public Object nullObj;
@BeforeMethod public void setUp() throws ComponentInitializationException {
super.setUp();
@@ -46,8 +50,9 @@ public class ExtractUserAgentAddressTest extends BaseAuthenticationContextTest {
action.initialize();
}
+ @SuppressWarnings("null")
@Test public void testMissingAddress() {
- ((MockHttpServletRequest) action.getHttpServletRequest()).setRemoteAddr(null);
+ getMockHttpServletRequest(action).setRemoteAddr((String) nullObj);
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, AuthnEventIds.NO_CREDENTIALS);
@@ -57,13 +62,16 @@ public class ExtractUserAgentAddressTest extends BaseAuthenticationContextTest {
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class, false);
+ assert authCtx!=null;
UserAgentContext uaCtx = authCtx.getSubcontext(UserAgentContext.class, false);
- Assert.assertNotNull(uaCtx, "No UserAgentContext attached");
- Assert.assertEquals(uaCtx.getAddress().getHostAddress(), MockHttpServletRequest.DEFAULT_REMOTE_ADDR);
+ assert uaCtx!=null;
+ InetAddress addr = uaCtx.getAddress();
+ assert addr !=null;
+ Assert.assertEquals(addr.getHostAddress(), MockHttpServletRequest.DEFAULT_REMOTE_ADDR);
}
@Test public void testInvalidAddress() {
- ((MockHttpServletRequest) action.getHttpServletRequest()).setRemoteAddr("zorkmids");
+ getMockHttpServletRequest(action).setRemoteAddr("zorkmids");
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, AuthnEventIds.NO_CREDENTIALS);
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractUserAgentIdentifierTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractUserAgentIdentifierTest.java
index 63a4fa563..e978e1605 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractUserAgentIdentifierTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractUserAgentIdentifierTest.java
@@ -61,13 +61,14 @@ public class ExtractUserAgentIdentifierTest extends BaseAuthenticationContextTes
}
@Test public void testValidHeader() {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addHeader("User-Agent", "foo bar baz");
+ getMockHttpServletRequest(action).addHeader("User-Agent", "foo bar baz");
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class, false);
+ assert authCtx != null;
UserAgentContext uaCtx = authCtx.getSubcontext(UserAgentContext.class, false);
- Assert.assertNotNull(uaCtx, "No UserAgentContext attached");
+ assert uaCtx != null;
Assert.assertEquals(uaCtx.getIdentifier(), "foo bar baz");
}
}
\ No newline at end of file
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractUsernamePasswordFromBasicAuthTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractUsernamePasswordFromBasicAuthTest.java
index 9945295f8..7fdba5403 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractUsernamePasswordFromBasicAuthTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractUsernamePasswordFromBasicAuthTest.java
@@ -63,21 +63,21 @@ public class ExtractUsernamePasswordFromBasicAuthTest extends BaseAuthentication
}
@Test public void testMissingIdentity2() {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addHeader(HttpHeaders.AUTHORIZATION, "foo");
+ getMockHttpServletRequest(action).addHeader(HttpHeaders.AUTHORIZATION, "foo");
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, AuthnEventIds.NO_CREDENTIALS);
}
@Test public void testInvalid() {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addHeader(HttpHeaders.AUTHORIZATION, "Basic foo:bar");
+ getMockHttpServletRequest(action).addHeader(HttpHeaders.AUTHORIZATION, "Basic foo:bar");
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, AuthnEventIds.INVALID_CREDENTIALS);
}
@Test public void testInvalid2() {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addHeader(HttpHeaders.AUTHORIZATION, "Basic Zm9vOg==");
+ getMockHttpServletRequest(action).addHeader(HttpHeaders.AUTHORIZATION, "Basic Zm9vOg==");
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, AuthnEventIds.INVALID_CREDENTIALS);
@@ -85,31 +85,33 @@ public class ExtractUsernamePasswordFromBasicAuthTest extends BaseAuthentication
/* Test invalid base64 trailing bits. */
@Test public void testInvalidBase64() {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addHeader(HttpHeaders.AUTHORIZATION, "Basic AB==");
+ getMockHttpServletRequest(action).addHeader(HttpHeaders.AUTHORIZATION, "Basic AB==");
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, AuthnEventIds.INVALID_CREDENTIALS);
}
@Test public void testValid() {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addHeader(HttpHeaders.AUTHORIZATION, "Basic Zm9vOmJhcg==");
+ getMockHttpServletRequest(action).addHeader(HttpHeaders.AUTHORIZATION, "Basic Zm9vOmJhcg==");
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class, false);
- UsernamePasswordContext upCtx = authCtx.getSubcontext(UsernamePasswordContext.class, false);
- Assert.assertNotNull(upCtx, "No UsernamePasswordContext attached");
+ assert authCtx != null;
+ final UsernamePasswordContext upCtx = authCtx.getSubcontext(UsernamePasswordContext.class, false);
+ assert upCtx != null;
Assert.assertEquals(upCtx.getUsername(), "foo");
Assert.assertEquals(upCtx.getPassword(), "bar");
}
@Test public void idp1968() {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addHeader(HttpHeaders.AUTHORIZATION, "Basic Zm9vOuKYr++4j2Jhcg==");
+ getMockHttpServletRequest(action).addHeader(HttpHeaders.AUTHORIZATION, "Basic Zm9vOuKYr++4j2Jhcg==");
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class, false);
- UsernamePasswordContext upCtx = authCtx.getSubcontext(UsernamePasswordContext.class, false);
- Assert.assertNotNull(upCtx, "No UsernamePasswordContext attached");
+ assert authCtx != null;
+ final UsernamePasswordContext upCtx = authCtx.getSubcontext(UsernamePasswordContext.class, false);
+ assert upCtx != null;
Assert.assertEquals(upCtx.getUsername(), "foo");
Assert.assertEquals(upCtx.getPassword(), "☯️bar");
}
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractUsernamePasswordFromFormRequestTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractUsernamePasswordFromFormRequestTest.java
index 7439033cb..935b95fb2 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractUsernamePasswordFromFormRequestTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractUsernamePasswordFromFormRequestTest.java
@@ -64,37 +64,39 @@ public class ExtractUsernamePasswordFromFormRequestTest extends BaseAuthenticati
}
@Test public void testMissingIdentity2() {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("j_username", "foo");
+ getMockHttpServletRequest(action).addParameter("j_username", "foo");
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, AuthnEventIds.NO_CREDENTIALS);
}
@Test public void testValid() {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("j_username", "foo");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("j_password", "bar");
+ getMockHttpServletRequest(action).addParameter("j_username", "foo");
+ getMockHttpServletRequest(action).addParameter("j_password", "bar");
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class, false);
+ assert authCtx != null;
Assert.assertTrue(authCtx.isResultCacheable());
UsernamePasswordContext upCtx = authCtx.getSubcontext(UsernamePasswordContext.class, false);
- Assert.assertNotNull(upCtx, "No UsernamePasswordContext attached");
+ assert upCtx!= null;
Assert.assertEquals(upCtx.getUsername(), "foo");
Assert.assertEquals(upCtx.getPassword(), "bar");
}
@Test public void testSSOBypass() {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("j_username", "foo");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("j_password", "bar");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("donotcache", "1");
+ getMockHttpServletRequest(action).addParameter("j_username", "foo");
+ getMockHttpServletRequest(action).addParameter("j_password", "bar");
+ getMockHttpServletRequest(action).addParameter("donotcache", "1");
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class, false);
+ assert authCtx != null;
Assert.assertFalse(authCtx.isResultCacheable());
UsernamePasswordContext upCtx = authCtx.getSubcontext(UsernamePasswordContext.class, false);
- Assert.assertNotNull(upCtx, "No UsernamePasswordContext attached");
+ assert upCtx != null;
Assert.assertEquals(upCtx.getUsername(), "foo");
Assert.assertEquals(upCtx.getPassword(), "bar");
}
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractX509CertificateFromRequestTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractX509CertificateFromRequestTest.java
index 3c1792933..10b09b88b 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractX509CertificateFromRequestTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ExtractX509CertificateFromRequestTest.java
@@ -115,13 +115,14 @@ public class ExtractX509CertificateFromRequestTest extends BaseAuthenticationCon
final X509Certificate[] certs = new X509Certificate[]{entityCert, otherCert1};
- ((MockHttpServletRequest) action.getHttpServletRequest()).setAttribute("jakarta.servlet.request.X509Certificate", certs);
+ getMockHttpServletRequest(action).setAttribute("jakarta.servlet.request.X509Certificate", certs);
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
final CertificateContext certCtx = authCtx.getSubcontext(CertificateContext.class);
- Assert.assertNotNull(certCtx, "No CertificateContext attached");
+ assert certCtx!= null;
Assert.assertSame(certCtx.getCertificate(), entityCert);
Assert.assertSame(certCtx.getIntermediates().iterator().next(), otherCert1);
@@ -134,13 +135,14 @@ public class ExtractX509CertificateFromRequestTest extends BaseAuthenticationCon
final X509Certificate[] certs = new X509Certificate[]{entityCert, otherCert1};
- ((MockHttpServletRequest) action.getHttpServletRequest()).setAttribute("jakarta.servlet.request.X509Certificate", certs);
+ getMockHttpServletRequest(action).setAttribute("jakarta.servlet.request.X509Certificate", certs);
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
final CertificateContext certCtx = authCtx.getSubcontext(CertificateContext.class);
- Assert.assertNotNull(certCtx, "No CertificateContext attached");
+ assert certCtx!= null;
Assert.assertSame(certCtx.getCertificate(), entityCert);
Assert.assertSame(certCtx.getIntermediates().iterator().next(), otherCert1);
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/FilterFlowsByForceAuthnTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/FilterFlowsByForceAuthnTest.java
index 8da09f33e..70bea6b9d 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/FilterFlowsByForceAuthnTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/FilterFlowsByForceAuthnTest.java
@@ -44,6 +44,7 @@ public class FilterFlowsByForceAuthnTest extends BaseAuthenticationContextTest {
@Test public void testNonForced() {
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
authCtx.setForceAuthn(false);
final Event event = action.execute(src);
@@ -53,6 +54,7 @@ public class FilterFlowsByForceAuthnTest extends BaseAuthenticationContextTest {
@Test public void testNoFiltering() {
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
authCtx.setForceAuthn(true);
for (final AuthenticationFlowDescriptor fd : authCtx.getPotentialFlows().values()) {
fd.setForcedAuthenticationSupported(true);
@@ -65,6 +67,7 @@ public class FilterFlowsByForceAuthnTest extends BaseAuthenticationContextTest {
@Test public void testPartialFiltering() {
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
authCtx.setMaxAge(Duration.ofHours(1));
authCtx.getPotentialFlows().get("test2").setForcedAuthenticationSupported(true);
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/FilterFlowsByNonBrowserSupportTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/FilterFlowsByNonBrowserSupportTest.java
index bccfdaf22..3d129868f 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/FilterFlowsByNonBrowserSupportTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/FilterFlowsByNonBrowserSupportTest.java
@@ -41,6 +41,7 @@ public class FilterFlowsByNonBrowserSupportTest extends BaseAuthenticationContex
@Test public void testBrowserProfile() {
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
prc.setBrowserProfile(true);
final Event event = action.execute(src);
@@ -50,6 +51,7 @@ public class FilterFlowsByNonBrowserSupportTest extends BaseAuthenticationContex
@Test public void testNoFiltering() {
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
@@ -58,6 +60,7 @@ public class FilterFlowsByNonBrowserSupportTest extends BaseAuthenticationContex
@Test public void testPartialFiltering() {
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
authCtx.getPotentialFlows().get("test1").setNonBrowserSupported(false);
final Event event = action.execute(src);
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/FinalizeMultiFactorAuthenticationTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/FinalizeMultiFactorAuthenticationTest.java
index bc19518bc..6abde37a0 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/FinalizeMultiFactorAuthenticationTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/FinalizeMultiFactorAuthenticationTest.java
@@ -57,6 +57,7 @@ public class FinalizeMultiFactorAuthenticationTest extends BaseMultiFactorAuthen
* @throws ComponentInitializationException ...
*/
@Test public void testNoContext() throws ComponentInitializationException {
+ assert mfa != null;
ac.removeSubcontext(mfa);
action.initialize();
final Event event = action.execute(src);
@@ -86,7 +87,7 @@ public class FinalizeMultiFactorAuthenticationTest extends BaseMultiFactorAuthen
ActionTestingSupport.assertProceedEvent(event);
final AuthenticationResult result = ac.getAuthenticationResult();
- Assert.assertNotNull(result);
+ assert result!=null;
Assert.assertEquals(result.getAuthenticationFlowId(), "authn/MFA");
final Subject merged = result.getSubject();
Assert.assertEquals(merged.getPrincipals().size(), 3);
@@ -96,8 +97,9 @@ public class FinalizeMultiFactorAuthenticationTest extends BaseMultiFactorAuthen
Assert.assertTrue(merged.getPrincipals(TestPrincipal.class).contains(new TestPrincipal("bar")));
Assert.assertFalse(merged.getPrincipals(TestPrincipal.class).contains(new TestPrincipal("baz")));
- Assert.assertNotNull(prc.getSubcontext(SubjectCanonicalizationContext.class));
- Assert.assertSame(merged, prc.getSubcontext(SubjectCanonicalizationContext.class).getSubject());
+ final SubjectCanonicalizationContext scc = prc.getSubcontext(SubjectCanonicalizationContext.class);
+ assert scc != null;
+ Assert.assertSame(merged, scc.getSubject());
}
/**
@@ -116,7 +118,7 @@ public class FinalizeMultiFactorAuthenticationTest extends BaseMultiFactorAuthen
ActionTestingSupport.assertProceedEvent(event);
final AuthenticationResult result = ac.getAuthenticationResult();
- Assert.assertNotNull(result);
+ assert result != null;
Assert.assertEquals(result.getAuthenticationFlowId(), "authn/MFA");
final Subject merged = result.getSubject();
Assert.assertEquals(merged.getPrincipals().size(), 5);
@@ -127,7 +129,8 @@ public class FinalizeMultiFactorAuthenticationTest extends BaseMultiFactorAuthen
Assert.assertTrue(merged.getPrincipals(TestPrincipal.class).contains(new TestPrincipal("bar")));
Assert.assertFalse(merged.getPrincipals(TestPrincipal.class).contains(new TestPrincipal("baz")));
- Assert.assertNotNull(prc.getSubcontext(SubjectCanonicalizationContext.class));
- Assert.assertSame(merged, prc.getSubcontext(SubjectCanonicalizationContext.class).getSubject());
+ final SubjectCanonicalizationContext scc = prc.getSubcontext(SubjectCanonicalizationContext.class);
+ assert scc != null;
+ Assert.assertSame(merged, scc.getSubject());
}
}
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/HTPasswdCredentialValidatorTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/HTPasswdCredentialValidatorTest.java
index 5b9a6e31c..2ff8df1c2 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/HTPasswdCredentialValidatorTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/HTPasswdCredentialValidatorTest.java
@@ -34,6 +34,7 @@ import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+import net.shibboleth.idp.authn.AuthenticationResult;
import net.shibboleth.idp.authn.AuthnEventIds;
import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.authn.context.AuthenticationErrorContext;
@@ -84,7 +85,9 @@ public class HTPasswdCredentialValidatorTest extends BaseAuthenticationContextTe
}
@Test public void testMissingUser() throws ComponentInitializationException {
- prc.getSubcontext(AuthenticationContext.class).setAttemptedFlow(authenticationFlows.get(0));
+ final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
+ ac.setAttemptedFlow(authenticationFlows.get(0));
validator.initialize();
action.initialize();
@@ -95,6 +98,7 @@ public class HTPasswdCredentialValidatorTest extends BaseAuthenticationContextTe
@Test public void testMissingUser2() throws ComponentInitializationException {
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
ac.getSubcontext(UsernamePasswordContext.class, true);
@@ -106,13 +110,14 @@ public class HTPasswdCredentialValidatorTest extends BaseAuthenticationContextTe
}
@Test public void testUnsupported() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "foo");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "bar");
+ getMockHttpServletRequest(action).addParameter("username", "foo");
+ getMockHttpServletRequest(action).addParameter("password", "bar");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
- final RequestedPrincipalContext rpc = ac.getSubcontext(RequestedPrincipalContext.class, true);
+ final RequestedPrincipalContext rpc = ac.getOrCreateSubcontext(RequestedPrincipalContext.class);
rpc.getPrincipalEvalPredicateFactoryRegistry().register(
TestPrincipal.class, "exact", new ExactPrincipalEvalPredicateFactory());
rpc.setOperator("exact");
@@ -130,10 +135,11 @@ public class HTPasswdCredentialValidatorTest extends BaseAuthenticationContextTe
}
@Test public void testUnmatchedUser() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "foo");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "bar");
+ getMockHttpServletRequest(action).addParameter("username", "foo");
+ getMockHttpServletRequest(action).addParameter("password", "bar");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
ac.getSubcontext(UsernamePasswordContext.class, true);
@@ -149,10 +155,11 @@ public class HTPasswdCredentialValidatorTest extends BaseAuthenticationContextTe
}
@Test public void testBadUsername() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "foo");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "bar");
+ getMockHttpServletRequest(action).addParameter("username", "foo");
+ getMockHttpServletRequest(action).addParameter("password", "bar");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.initialize();
@@ -164,16 +171,18 @@ public class HTPasswdCredentialValidatorTest extends BaseAuthenticationContextTe
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, AuthnEventIds.UNKNOWN_USERNAME);
AuthenticationErrorContext errorCtx = ac.getSubcontext(AuthenticationErrorContext.class);
+ assert errorCtx!= null;
Assert.assertTrue(errorCtx.getExceptions().get(0) instanceof LoginException);
Assert.assertTrue(errorCtx.isClassifiedError(AuthnEventIds.UNKNOWN_USERNAME));
Assert.assertFalse(errorCtx.isClassifiedError("InvalidPassword"));
}
@Test public void testBadPassword() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "bar");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "bar");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.initialize();
@@ -185,16 +194,18 @@ public class HTPasswdCredentialValidatorTest extends BaseAuthenticationContextTe
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, "InvalidPassword");
AuthenticationErrorContext errorCtx = ac.getSubcontext(AuthenticationErrorContext.class);
+ assert errorCtx != null;
Assert.assertTrue(errorCtx.getExceptions().get(0) instanceof LoginException);
Assert.assertFalse(errorCtx.isClassifiedError("UnknownUsername"));
Assert.assertTrue(errorCtx.isClassifiedError("InvalidPassword"));
}
@Test public void testAuthorizedMD5() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "changeit");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "changeit");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.initialize();
@@ -206,16 +217,18 @@ public class HTPasswdCredentialValidatorTest extends BaseAuthenticationContextTe
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(UsernamePrincipal.class).iterator()
+ final AuthenticationResult result = ac.getAuthenticationResult();
+ assert result != null;
+ Assert.assertEquals(result.getSubject().getPrincipals(UsernamePrincipal.class).iterator()
.next().getName(), "PETER_THE_PRINCIPAL");
}
@Test public void testAuthorizedMD5WithFile() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "changeit");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "changeit");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.setResource(new FileSystemResource(DATA_PATH + "htpasswd.txt"));
@@ -228,16 +241,18 @@ public class HTPasswdCredentialValidatorTest extends BaseAuthenticationContextTe
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(UsernamePrincipal.class).iterator()
+ final AuthenticationResult result = ac.getAuthenticationResult();
+ assert result != null;
+ Assert.assertEquals(result.getSubject().getPrincipals(UsernamePrincipal.class).iterator()
.next().getName(), "PETER_THE_PRINCIPAL");
}
@Test public void testAuthorizedSHA() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL2");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "changeit");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL2");
+ getMockHttpServletRequest(action).addParameter("password", "changeit");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.initialize();
@@ -249,16 +264,18 @@ public class HTPasswdCredentialValidatorTest extends BaseAuthenticationContextTe
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(UsernamePrincipal.class).iterator()
+ final AuthenticationResult result = ac.getAuthenticationResult();
+ assert result != null;
+ Assert.assertEquals(result.getSubject().getPrincipals(UsernamePrincipal.class).iterator()
.next().getName(), "PETER_THE_PRINCIPAL2");
}
@Test public void testAuthorizedCrypt() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL3");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "changeit");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL3");
+ getMockHttpServletRequest(action).addParameter("password", "changeit");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.initialize();
@@ -270,16 +287,18 @@ public class HTPasswdCredentialValidatorTest extends BaseAuthenticationContextTe
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(UsernamePrincipal.class).iterator()
+ final AuthenticationResult result = ac.getAuthenticationResult();
+ assert result != null;
+ Assert.assertEquals(result.getSubject().getPrincipals(UsernamePrincipal.class).iterator()
.next().getName(), "PETER_THE_PRINCIPAL3");
}
@Test public void testAuthorizedAndKeep() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "changeit");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "changeit");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.initialize();
@@ -291,19 +310,21 @@ public class HTPasswdCredentialValidatorTest extends BaseAuthenticationContextTe
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(UsernamePrincipal.class).iterator()
+ final AuthenticationResult result = ac.getAuthenticationResult();
+ assert result != null;
+ Assert.assertEquals(result.getSubject().getPrincipals(UsernamePrincipal.class).iterator()
.next().getName(), "PETER_THE_PRINCIPAL");
}
@Test public void testSupported() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "changeit");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "changeit");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
- final RequestedPrincipalContext rpc = ac.getSubcontext(RequestedPrincipalContext.class, true);
+ final RequestedPrincipalContext rpc = ac.getOrCreateSubcontext(RequestedPrincipalContext.class);
rpc.getPrincipalEvalPredicateFactoryRegistry().register(
TestPrincipal.class, "exact", new ExactPrincipalEvalPredicateFactory());
rpc.setOperator("exact");
@@ -319,10 +340,11 @@ public class HTPasswdCredentialValidatorTest extends BaseAuthenticationContextTe
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(UsernamePrincipal.class).iterator()
+ final AuthenticationResult result = ac.getAuthenticationResult();
+ assert result != null;
+ Assert.assertEquals(result.getSubject().getPrincipals(UsernamePrincipal.class).iterator()
.next().getName(), "PETER_THE_PRINCIPAL");
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(TestPrincipal.class).iterator()
+ Assert.assertEquals(result.getSubject().getPrincipals(TestPrincipal.class).iterator()
.next().getName(), "test1");
}
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/InitializeRequestedPrincipalContextTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/InitializeRequestedPrincipalContextTest.java
index 1b5ca896e..24e9dcfff 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/InitializeRequestedPrincipalContextTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/InitializeRequestedPrincipalContextTest.java
@@ -34,6 +34,7 @@ import net.shibboleth.idp.profile.context.navigate.WebflowRequestContextProfileR
import net.shibboleth.idp.profile.testing.ActionTestingSupport;
import net.shibboleth.idp.profile.testing.MockProfileConfiguration;
import net.shibboleth.idp.profile.testing.RequestContextBuilder;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import org.springframework.webflow.execution.Event;
@@ -71,11 +72,14 @@ public class InitializeRequestedPrincipalContextTest {
*/
@Test public void testNoReplace() throws Exception {
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class, true);
- authCtx.getSubcontext(RequestedPrincipalContext.class, true).setOperator("foo");
+ assert authCtx != null;
+ authCtx.getOrCreateSubcontext(RequestedPrincipalContext.class).setOperator("foo");
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertEquals(authCtx.getSubcontext(RequestedPrincipalContext.class).getOperator(), "foo");
+ final RequestedPrincipalContext rpc = authCtx.getSubcontext(RequestedPrincipalContext.class);
+ assert rpc != null;
+ Assert.assertEquals(rpc.getOperator(), "foo");
}
/**
@@ -89,6 +93,7 @@ public class InitializeRequestedPrincipalContextTest {
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, IdPEventIds.INVALID_RELYING_PARTY_CTX);
+ assert authCtx != null;
Assert.assertNull(authCtx.getSubcontext(RequestedPrincipalContext.class));
}
@@ -102,6 +107,7 @@ public class InitializeRequestedPrincipalContextTest {
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, IdPEventIds.INVALID_PROFILE_CONFIG);
+ assert authCtx != null;
Assert.assertNull(authCtx.getSubcontext(RequestedPrincipalContext.class));
}
@@ -118,6 +124,7 @@ public class InitializeRequestedPrincipalContextTest {
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, IdPEventIds.INVALID_PROFILE_CONFIG);
+ assert authCtx != null;
Assert.assertNull(authCtx.getSubcontext(RequestedPrincipalContext.class));
}
@@ -128,13 +135,14 @@ public class InitializeRequestedPrincipalContextTest {
*/
@Test public void testNoMethods() throws Exception {
final MockAuthenticationProfileConfiguration mock =
- new MockAuthenticationProfileConfiguration("mock", Collections.<Principal>emptyList());
+ new MockAuthenticationProfileConfiguration("mock", CollectionSupport.<Principal>emptyList());
src = new RequestContextBuilder().setRelyingPartyProfileConfigurations(
Collections.<ProfileConfiguration>singleton(mock)).buildRequestContext();
prc = new WebflowRequestContextProfileRequestContextLookup().apply(src);
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class, true);
+ assert authCtx != null;
- authCtx.getSubcontext(RequestedPrincipalContext.class, true).setOperator("foo");
+ authCtx.getOrCreateSubcontext(RequestedPrincipalContext.class).setOperator("foo");
action = new InitializeRequestedPrincipalContext();
action.setReplaceExistingContext(true);
@@ -142,7 +150,9 @@ public class InitializeRequestedPrincipalContextTest {
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertEquals(authCtx.getSubcontext(RequestedPrincipalContext.class).getOperator(), "foo");
+ final RequestedPrincipalContext rpc = authCtx.getSubcontext(RequestedPrincipalContext.class);
+ assert rpc != null;
+ Assert.assertEquals(rpc.getOperator(), "foo");
}
/**
@@ -153,13 +163,14 @@ public class InitializeRequestedPrincipalContextTest {
@Test public void testWithMethods() throws Exception {
final Principal method = new TestPrincipal("test");
final MockAuthenticationProfileConfiguration mock =
- new MockAuthenticationProfileConfiguration("mock", Collections.singletonList(method));
+ new MockAuthenticationProfileConfiguration("mock", CollectionSupport.singletonList(method));
src = new RequestContextBuilder().setRelyingPartyProfileConfigurations(
Collections.<ProfileConfiguration>singleton(mock)).buildRequestContext();
prc = new WebflowRequestContextProfileRequestContextLookup().apply(src);
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class, true);
+ assert authCtx != null;
- authCtx.getSubcontext(RequestedPrincipalContext.class, true).setOperator("foo");
+ authCtx.getOrCreateSubcontext(RequestedPrincipalContext.class).setOperator("foo");
action = new InitializeRequestedPrincipalContext();
action.setReplaceExistingContext(true);
@@ -168,7 +179,7 @@ public class InitializeRequestedPrincipalContextTest {
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
RequestedPrincipalContext rpCtx = authCtx.getSubcontext(RequestedPrincipalContext.class, false);
- Assert.assertNotNull(rpCtx);
+ assert rpCtx != null;
Assert.assertEquals(rpCtx.getOperator(), "exact");
Assert.assertEquals(rpCtx.getRequestedPrincipals().size(), 1);
Assert.assertSame(method, rpCtx.getRequestedPrincipals().get(0));
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/JAASCredentialValidatorTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/JAASCredentialValidatorTest.java
index 0192dac7e..2c0a4e48a 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/JAASCredentialValidatorTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/JAASCredentialValidatorTest.java
@@ -41,6 +41,7 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+import net.shibboleth.idp.authn.AuthenticationResult;
import net.shibboleth.idp.authn.AuthnEventIds;
import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.authn.context.AuthenticationErrorContext;
@@ -51,6 +52,7 @@ import net.shibboleth.idp.authn.principal.UsernamePrincipal;
import net.shibboleth.idp.authn.principal.impl.ExactPrincipalEvalPredicateFactory;
import net.shibboleth.idp.authn.testing.TestPrincipal;
import net.shibboleth.idp.profile.testing.ActionTestingSupport;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.collection.Pair;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.net.URISupport;
@@ -120,7 +122,9 @@ public class JAASCredentialValidatorTest extends BaseAuthenticationContextTest {
}
@Test public void testMissingUser() throws ComponentInitializationException {
- prc.getSubcontext(AuthenticationContext.class).setAttemptedFlow(authenticationFlows.get(0));
+ final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
+ ac.setAttemptedFlow(authenticationFlows.get(0));
validator.initialize();
action.initialize();
@@ -131,6 +135,7 @@ public class JAASCredentialValidatorTest extends BaseAuthenticationContextTest {
@Test public void testMissingUser2() throws ComponentInitializationException {
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
ac.getSubcontext(UsernamePasswordContext.class, true);
@@ -142,10 +147,11 @@ public class JAASCredentialValidatorTest extends BaseAuthenticationContextTest {
}
@Test public void testNoConfig() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "foo");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "bar");
+ getMockHttpServletRequest(action).addParameter("username", "foo");
+ getMockHttpServletRequest(action).addParameter("password", "bar");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac!= null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.initialize();
@@ -156,15 +162,17 @@ public class JAASCredentialValidatorTest extends BaseAuthenticationContextTest {
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, AuthnEventIds.INVALID_CREDENTIALS);
AuthenticationErrorContext errorCtx = ac.getSubcontext(AuthenticationErrorContext.class);
+ assert errorCtx != null;
Assert.assertEquals(errorCtx.getExceptions().size(), 1);
Assert.assertTrue(errorCtx.getExceptions().get(0) instanceof LoginException);
}
@Test public void testBadConfig() throws ComponentInitializationException, URISyntaxException, IOException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "foo");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "bar");
+ getMockHttpServletRequest(action).addParameter("username", "foo");
+ getMockHttpServletRequest(action).addParameter("password", "bar");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.setLoginConfigNames(Collections.singletonList("ShibBadAuth"));
validator.setLoginConfigType("JavaLoginConfig");
@@ -179,22 +187,25 @@ public class JAASCredentialValidatorTest extends BaseAuthenticationContextTest {
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, AuthnEventIds.INVALID_CREDENTIALS);
AuthenticationErrorContext errorCtx = ac.getSubcontext(AuthenticationErrorContext.class);
+ assert errorCtx != null;
Assert.assertEquals(errorCtx.getExceptions().size(), 1);
Assert.assertTrue(errorCtx.getExceptions().get(0) instanceof LoginException);
}
@Test public void testUnsupportedConfig() throws ComponentInitializationException, URISyntaxException, IOException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "foo");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "bar");
+ getMockHttpServletRequest(action).addParameter("username", "foo");
+ getMockHttpServletRequest(action).addParameter("password", "bar");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
final RequestedPrincipalContext rpc = ac.getSubcontext(RequestedPrincipalContext.class, true);
+ assert rpc!= null;
rpc.getPrincipalEvalPredicateFactoryRegistry().register(
TestPrincipal.class, "exact", new ExactPrincipalEvalPredicateFactory());
rpc.setOperator("exact");
- rpc.setRequestedPrincipals(Collections.<Principal>singletonList(new TestPrincipal("test1")));
+ rpc.setRequestedPrincipals(CollectionSupport.<Principal>singletonList(new TestPrincipal("test1")));
validator.setLoginConfigurations(Collections.singletonList(new Pair<String,Collection<Principal>>("ShibUserPassAuth",
Collections.singletonList(new TestPrincipal("test2")))));
@@ -212,10 +223,11 @@ public class JAASCredentialValidatorTest extends BaseAuthenticationContextTest {
}
@Test public void testUnmatchedUser() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "foo");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "bar");
+ getMockHttpServletRequest(action).addParameter("username", "foo");
+ getMockHttpServletRequest(action).addParameter("password", "bar");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
ac.getSubcontext(UsernamePasswordContext.class, true);
@@ -231,10 +243,11 @@ public class JAASCredentialValidatorTest extends BaseAuthenticationContextTest {
}
@Test public void testBadUsername() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "foo");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "bar");
+ getMockHttpServletRequest(action).addParameter("username", "foo");
+ getMockHttpServletRequest(action).addParameter("password", "bar");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.setLoginConfigType("JavaLoginConfig");
validator.setLoginConfigResource(new ClassPathResource(DATA_CLASSPATH + "jaas.config"));
@@ -247,16 +260,18 @@ public class JAASCredentialValidatorTest extends BaseAuthenticationContextTest {
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, "UnknownUsername");
AuthenticationErrorContext errorCtx = ac.getSubcontext(AuthenticationErrorContext.class);
+ assert errorCtx != null;
Assert.assertTrue(errorCtx.getExceptions().get(0) instanceof LoginException);
Assert.assertTrue(errorCtx.isClassifiedError("UnknownUsername"));
Assert.assertFalse(errorCtx.isClassifiedError("InvalidPassword"));
}
@Test public void testBadPassword() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "bar");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "bar");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.setLoginConfigType("JavaLoginConfig");
validator.setLoginConfigResource(new ClassPathResource(DATA_CLASSPATH + "jaas.config"));
@@ -269,16 +284,18 @@ public class JAASCredentialValidatorTest extends BaseAuthenticationContextTest {
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, "InvalidPassword");
AuthenticationErrorContext errorCtx = ac.getSubcontext(AuthenticationErrorContext.class);
+ assert errorCtx != null;
Assert.assertTrue(errorCtx.getExceptions().get(0) instanceof LoginException);
Assert.assertFalse(errorCtx.isClassifiedError("UnknownUsername"));
Assert.assertTrue(errorCtx.isClassifiedError("InvalidPassword"));
}
@Test public void testAuthorized() throws ComponentInitializationException, URISyntaxException, IOException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "changeit");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "changeit");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.setLoginConfigType("JavaLoginConfig");
@@ -293,16 +310,18 @@ public class JAASCredentialValidatorTest extends BaseAuthenticationContextTest {
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(UsernamePrincipal.class).iterator()
+ final AuthenticationResult ar = ac.getAuthenticationResult();
+ assert ar != null;
+ Assert.assertEquals(ar.getSubject().getPrincipals(UsernamePrincipal.class).iterator()
.next().getName(), "PETER_THE_PRINCIPAL");
}
@Test public void testAuthorizedAndKeep() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "changeit");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "changeit");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac!= null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.setLoginConfigType("JavaLoginConfig");
@@ -316,23 +335,25 @@ public class JAASCredentialValidatorTest extends BaseAuthenticationContextTest {
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(UsernamePrincipal.class).iterator()
+ final AuthenticationResult ar = ac.getAuthenticationResult();
+ assert ar != null;
+ Assert.assertEquals(ar.getSubject().getPrincipals(UsernamePrincipal.class).iterator()
.next().getName(), "PETER_THE_PRINCIPAL");
}
@Test public void testSupported() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "changeit");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "changeit");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
- final RequestedPrincipalContext rpc = ac.getSubcontext(RequestedPrincipalContext.class, true);
+ final RequestedPrincipalContext rpc = ac.getOrCreateSubcontext(RequestedPrincipalContext.class);
rpc.getPrincipalEvalPredicateFactoryRegistry().register(
TestPrincipal.class, "exact", new ExactPrincipalEvalPredicateFactory());
rpc.setOperator("exact");
- rpc.setRequestedPrincipals(Collections.<Principal>singletonList(new TestPrincipal("test1")));
+ rpc.setRequestedPrincipals(CollectionSupport.<Principal>singletonList(new TestPrincipal("test1")));
validator.setLoginConfigurations(Collections.singletonList(new Pair<String,Collection<Principal>>("ShibUserPassAuth",
Collections.<Principal>singletonList(new TestPrincipal("test1")))));
@@ -347,18 +368,20 @@ public class JAASCredentialValidatorTest extends BaseAuthenticationContextTest {
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(UsernamePrincipal.class).iterator()
+ final AuthenticationResult ar = ac.getAuthenticationResult();
+ assert ar != null;
+ Assert.assertEquals(ar.getSubject().getPrincipals(UsernamePrincipal.class).iterator()
.next().getName(), "PETER_THE_PRINCIPAL");
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(TestPrincipal.class).iterator()
+ Assert.assertEquals(ar.getSubject().getPrincipals(TestPrincipal.class).iterator()
.next().getName(), "test1");
}
@Test public void testMultiConfigAuthorized() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "changeit");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "changeit");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.setLoginConfigNames(Arrays.asList("ShibBadAuth", "ShibUserPassAuth"));
@@ -373,16 +396,18 @@ public class JAASCredentialValidatorTest extends BaseAuthenticationContextTest {
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(UsernamePrincipal.class).iterator()
+ final AuthenticationResult ar = ac.getAuthenticationResult();
+ assert ar != null;
+ Assert.assertEquals(ar.getSubject().getPrincipals(UsernamePrincipal.class).iterator()
.next().getName(), "PETER_THE_PRINCIPAL");
}
@Test public void testMatchAndAuthorized() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "changeit");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "changeit");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.setLoginConfigType("JavaLoginConfig");
@@ -397,8 +422,9 @@ public class JAASCredentialValidatorTest extends BaseAuthenticationContextTest {
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(UsernamePrincipal.class).iterator()
+ final AuthenticationResult ar = ac.getAuthenticationResult();
+ assert ar != null;
+ Assert.assertEquals(ar.getSubject().getPrincipals(UsernamePrincipal.class).iterator()
.next().getName(), "PETER_THE_PRINCIPAL");
}
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/LDAPCredentialValidatorTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/LDAPCredentialValidatorTest.java
index 01855af8d..9ca6c3279 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/LDAPCredentialValidatorTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/LDAPCredentialValidatorTest.java
@@ -30,6 +30,7 @@ import java.util.regex.Pattern;
import org.ldaptive.DefaultConnectionFactory;
import org.ldaptive.auth.AccountState;
+import org.ldaptive.auth.AuthenticationResponse;
import org.ldaptive.auth.AuthenticationResultCode;
import org.ldaptive.auth.Authenticator;
import org.ldaptive.auth.SearchDnResolver;
@@ -147,7 +148,9 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
}
@Test public void testMissingUser() throws ComponentInitializationException {
- prc.getSubcontext(AuthenticationContext.class).setAttemptedFlow(authenticationFlows.get(0));
+ AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
+ ac.setAttemptedFlow(authenticationFlows.get(0));
validator.setAuthenticator(authenticator);
validator.initialize();
@@ -160,6 +163,7 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
@Test public void testMissingUser2() throws ComponentInitializationException {
AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
ac.getSubcontext(UsernamePasswordContext.class, true);
@@ -173,15 +177,16 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
Assert.assertNull(ac.getSubcontext(LDAPResponseContext.class));
ActionTestingSupport.assertEvent(event, AuthnEventIds.NO_CREDENTIALS);
final AuthenticationErrorContext aec = ac.getSubcontext(AuthenticationErrorContext.class);
- Assert.assertNotNull(aec);
+ assert aec != null;
Assert.assertTrue(aec.isClassifiedError(AuthnEventIds.NO_CREDENTIALS));
}
@Test public void testUnmatchedUser() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "foo");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "bar");
+ getMockHttpServletRequest(action).addParameter("username", "foo");
+ getMockHttpServletRequest(action).addParameter("password", "bar");
AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
ac.getSubcontext(UsernamePasswordContext.class, true);
@@ -198,10 +203,11 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
}
@Test public void testBadConfig() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "foo");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "changeit");
+ getMockHttpServletRequest(action).addParameter("username", "foo");
+ getMockHttpServletRequest(action).addParameter("password", "changeit");
AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.setAuthenticator(new Authenticator(new SearchDnResolver(), authHandler));
@@ -214,22 +220,25 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
final Event event = action.execute(src);
Assert.assertNull(ac.getAuthenticationResult());
LDAPResponseContext lrc = ac.getSubcontext(LDAPResponseContext.class);
- Assert.assertNotNull(lrc.getAuthenticationResponse());
- Assert.assertEquals(lrc.getAuthenticationResponse().getAuthenticationResultCode(),
+ assert lrc != null;
+ final AuthenticationResponse lar = lrc.getAuthenticationResponse();
+ assert lar != null;
+ Assert.assertEquals(lar.getAuthenticationResultCode(),
AuthenticationResultCode.DN_RESOLUTION_FAILURE);
AuthenticationErrorContext aec = ac.getSubcontext(AuthenticationErrorContext.class);
- Assert.assertNotNull(aec);
+ assert aec != null;
ActionTestingSupport.assertEvent(event, "UnknownUsername");
Assert.assertEquals(aec.getClassifiedErrors().size(), 1);
Assert.assertTrue(aec.isClassifiedError("UnknownUsername"));
}
@Test public void testBadConfig2() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "bar");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "bar");
AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.setAuthenticator(new Authenticator(dnResolver,
@@ -245,7 +254,7 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
Assert.assertNull(ac.getAuthenticationResult());
Assert.assertNull(ac.getSubcontext(LDAPResponseContext.class));
final AuthenticationErrorContext aec = ac.getSubcontext(AuthenticationErrorContext.class);
- Assert.assertNotNull(aec);
+ assert aec != null;
ActionTestingSupport.assertEvent(event, AuthnEventIds.AUTHN_EXCEPTION);
Assert.assertEquals(aec.getExceptions().size(), 1);
Assert.assertEquals(aec.getClassifiedErrors().size(), 1);
@@ -253,10 +262,11 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
}
@Test public void testBadUsername() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "foo");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "bar");
+ getMockHttpServletRequest(action).addParameter("username", "foo");
+ getMockHttpServletRequest(action).addParameter("password", "bar");
AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.setAuthenticator(authenticator);
@@ -269,22 +279,25 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
final Event event = action.execute(src);
Assert.assertNull(ac.getAuthenticationResult());
LDAPResponseContext lrc = ac.getSubcontext(LDAPResponseContext.class);
- Assert.assertNotNull(lrc.getAuthenticationResponse());
- Assert.assertEquals(lrc.getAuthenticationResponse().getAuthenticationResultCode(),
+ assert lrc != null;
+ final AuthenticationResponse lar = lrc.getAuthenticationResponse();
+ assert lar != null;
+ Assert.assertEquals(lar.getAuthenticationResultCode(),
AuthenticationResultCode.DN_RESOLUTION_FAILURE);
AuthenticationErrorContext aec = ac.getSubcontext(AuthenticationErrorContext.class);
- Assert.assertNotNull(aec);
+ assert aec != null;
ActionTestingSupport.assertEvent(event, "UnknownUsername");
Assert.assertEquals(aec.getClassifiedErrors().size(), 1);
Assert.assertTrue(aec.isClassifiedError("UnknownUsername"));
}
@Test public void testEmptyPassword() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "");
AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.setAuthenticator(authenticator);
@@ -299,15 +312,16 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
Assert.assertNull(ac.getSubcontext(LDAPResponseContext.class));
ActionTestingSupport.assertEvent(event, AuthnEventIds.INVALID_CREDENTIALS);
final AuthenticationErrorContext aec = ac.getSubcontext(AuthenticationErrorContext.class);
- Assert.assertNotNull(aec);
+ assert aec != null;
Assert.assertTrue(aec.isClassifiedError(AuthnEventIds.INVALID_CREDENTIALS));
}
@Test public void testBadPassword() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "bar");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "bar");
AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.setAuthenticator(authenticator);
@@ -320,22 +334,25 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
final Event event = action.execute(src);
Assert.assertNull(ac.getAuthenticationResult());
LDAPResponseContext lrc = ac.getSubcontext(LDAPResponseContext.class);
- Assert.assertNotNull(lrc.getAuthenticationResponse());
- Assert.assertEquals(lrc.getAuthenticationResponse().getAuthenticationResultCode(),
+ assert lrc != null;
+ final AuthenticationResponse lar = lrc.getAuthenticationResponse();
+ assert lar != null;
+ Assert.assertEquals(lar.getAuthenticationResultCode(),
AuthenticationResultCode.AUTHENTICATION_HANDLER_FAILURE);
AuthenticationErrorContext aec = ac.getSubcontext(AuthenticationErrorContext.class);
- Assert.assertNotNull(aec);
+ assert aec != null;
ActionTestingSupport.assertEvent(event, "InvalidPassword");
Assert.assertEquals(aec.getClassifiedErrors().size(), 1);
Assert.assertTrue(aec.isClassifiedError("InvalidPassword"));
}
@Test public void testExpiredPassword() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "bar");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "bar");
AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
Authenticator errorAuthenticator = new Authenticator(dnResolver, authHandler);
@@ -352,12 +369,14 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
final Event event = action.execute(src);
Assert.assertNull(ac.getAuthenticationResult());
LDAPResponseContext lrc = ac.getSubcontext(LDAPResponseContext.class);
- Assert.assertNotNull(lrc.getAuthenticationResponse());
- Assert.assertEquals(lrc.getAuthenticationResponse().getAuthenticationResultCode(),
+ assert lrc != null;
+ final AuthenticationResponse lar = lrc.getAuthenticationResponse();
+ assert lar != null;
+ Assert.assertEquals(lar.getAuthenticationResultCode(),
AuthenticationResultCode.AUTHENTICATION_HANDLER_FAILURE);
AuthenticationErrorContext aec = ac.getSubcontext(AuthenticationErrorContext.class);
- Assert.assertNotNull(aec);
+ assert aec != null;
ActionTestingSupport.assertEvent(event, "ExpiredPassword");
Assert.assertEquals(aec.getClassifiedErrors().size(), 2);
Assert.assertTrue(aec.isClassifiedError("ExpiredPassword"));
@@ -365,10 +384,11 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
}
@Test public void testChangeAfterReset() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "changeit");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "changeit");
AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
Authenticator errorAuthenticator = new Authenticator(dnResolver, authHandler);
@@ -384,16 +404,18 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
final Event event = action.execute(src);
AuthenticationResult result = ac.getAuthenticationResult();
- Assert.assertNotNull(result);
LDAPResponseContext lrc = ac.getSubcontext(LDAPResponseContext.class);
- Assert.assertNotNull(lrc.getAuthenticationResponse());
- Assert.assertEquals(lrc.getAuthenticationResponse().getAuthenticationResultCode(),
+ assert lrc != null;
+ final AuthenticationResponse lar = lrc.getAuthenticationResponse();
+ assert lar != null;
+ Assert.assertEquals(lar.getAuthenticationResultCode(),
AuthenticationResultCode.AUTHENTICATION_HANDLER_SUCCESS);
AuthenticationErrorContext aec = ac.getSubcontext(AuthenticationErrorContext.class);
- Assert.assertNull(aec);
AuthenticationWarningContext awc = ac.getSubcontext(AuthenticationWarningContext.class);
- Assert.assertNotNull(awc);
+ assert awc != null && result != null;
+
+
ActionTestingSupport.assertEvent(event, "ExpiredPassword");
Assert.assertEquals(awc.getClassifiedWarnings().size(), 1);
Assert.assertTrue(awc.isClassifiedWarning("ExpiredPassword"));
@@ -408,10 +430,11 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
}
@Test public void testExpiringPassword() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "changeit");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "changeit");
AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
Authenticator warningAuthenticator = new Authenticator(dnResolver, authHandler);
@@ -433,14 +456,16 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
AuthenticationResult result = ac.getAuthenticationResult();
Assert.assertNotNull(result);
LDAPResponseContext lrc = ac.getSubcontext(LDAPResponseContext.class);
- Assert.assertNotNull(lrc.getAuthenticationResponse());
- Assert.assertEquals(lrc.getAuthenticationResponse().getAuthenticationResultCode(),
+ assert lrc != null;
+ final AuthenticationResponse lar = lrc.getAuthenticationResponse();
+ assert lar != null;
+ Assert.assertEquals(lar.getAuthenticationResultCode(),
AuthenticationResultCode.AUTHENTICATION_HANDLER_SUCCESS);
ActionTestingSupport.assertEvent(event, "ExpiringPassword");
AuthenticationWarningContext awc = ac.getSubcontext(AuthenticationWarningContext.class);
- Assert.assertNotNull(awc);
+ assert awc != null && result != null;
Assert.assertEquals(awc.getClassifiedWarnings().size(), 1);
Assert.assertTrue(awc.isClassifiedWarning("ExpiringPassword"));
@@ -454,10 +479,11 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
}
@Test public void testAuthorized() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "changeit");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "changeit");
AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.setAuthenticator(authenticator);
@@ -474,10 +500,12 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
Assert.assertNull(aec);
AuthenticationResult result = ac.getAuthenticationResult();
- Assert.assertNotNull(result);
+ assert result != null;
LDAPResponseContext lrc = ac.getSubcontext(LDAPResponseContext.class);
- Assert.assertNotNull(lrc.getAuthenticationResponse());
- Assert.assertEquals(lrc.getAuthenticationResponse().getAuthenticationResultCode(),
+ assert lrc != null;
+ final AuthenticationResponse lar = lrc.getAuthenticationResponse();
+ assert lar != null;
+ Assert.assertEquals(lar.getAuthenticationResultCode(),
AuthenticationResultCode.AUTHENTICATION_HANDLER_SUCCESS);
UsernamePrincipal up = result.getSubject().getPrincipals(UsernamePrincipal.class).iterator().next();
@@ -490,19 +518,22 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
}
@Test public void testComputedAndAuthorized() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "change");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "change");
AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.setAuthenticator(authenticator);
validator.setPasswordLookupStrategy(
new Function<ProfileRequestContext,char[]>() {
public char[] apply(final ProfileRequestContext input) {
- return (input.getSubcontext(
- AuthenticationContext.class).getSubcontext(
- UsernamePasswordContext.class).getPassword() + "it").toCharArray();
+ final AuthenticationContext ac = input.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
+ final UsernamePasswordContext uc = ac.getSubcontext(UsernamePasswordContext.class);
+ assert uc != null;
+ return (uc.getPassword() + "it").toCharArray();
}
});
validator.initialize();
@@ -518,10 +549,12 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
Assert.assertNull(aec);
AuthenticationResult result = ac.getAuthenticationResult();
- Assert.assertNotNull(result);
+ assert result != null;
LDAPResponseContext lrc = ac.getSubcontext(LDAPResponseContext.class);
- Assert.assertNotNull(lrc.getAuthenticationResponse());
- Assert.assertEquals(lrc.getAuthenticationResponse().getAuthenticationResultCode(),
+ assert lrc != null;
+ final AuthenticationResponse lar = lrc.getAuthenticationResponse();
+ assert lar != null;
+ Assert.assertEquals(lar.getAuthenticationResultCode(),
AuthenticationResultCode.AUTHENTICATION_HANDLER_SUCCESS);
UsernamePrincipal up = result.getSubject().getPrincipals(UsernamePrincipal.class).iterator().next();
@@ -540,10 +573,11 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
Authenticator defaultFilterAuthenticator = new Authenticator(testResolver, authHandler);
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "changeit");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "changeit");
AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.setAuthenticator(defaultFilterAuthenticator);
validator.initialize();
@@ -559,10 +593,12 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
Assert.assertNull(aec);
AuthenticationResult result = ac.getAuthenticationResult();
- Assert.assertNotNull(result);
+ assert result != null;
LDAPResponseContext lrc = ac.getSubcontext(LDAPResponseContext.class);
- Assert.assertNotNull(lrc.getAuthenticationResponse());
- Assert.assertEquals(lrc.getAuthenticationResponse().getAuthenticationResultCode(),
+ assert lrc != null;
+ final AuthenticationResponse lar = lrc.getAuthenticationResponse();
+ assert lar != null;
+ Assert.assertEquals(lar.getAuthenticationResultCode(),
AuthenticationResultCode.AUTHENTICATION_HANDLER_SUCCESS);
UsernamePrincipal up = result.getSubject().getPrincipals(UsernamePrincipal.class).iterator().next();
@@ -581,10 +617,11 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
Authenticator defaultFilterAuthenticator = new Authenticator(testResolver, authHandler);
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "changeit");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "changeit");
AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.setAuthenticator(defaultFilterAuthenticator);
validator.initialize();
@@ -599,11 +636,13 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
AuthenticationErrorContext aec = ac.getSubcontext(AuthenticationErrorContext.class);
Assert.assertNull(aec);
- AuthenticationResult result = ac.getAuthenticationResult();
- Assert.assertNotNull(result);
+ final AuthenticationResult result = ac.getAuthenticationResult();
+ assert result != null;
LDAPResponseContext lrc = ac.getSubcontext(LDAPResponseContext.class);
- Assert.assertNotNull(lrc.getAuthenticationResponse());
- Assert.assertEquals(lrc.getAuthenticationResponse().getAuthenticationResultCode(),
+ assert lrc != null;
+ final AuthenticationResponse lar = lrc.getAuthenticationResponse();
+ assert lar != null;
+ Assert.assertEquals(lar.getAuthenticationResultCode(),
AuthenticationResultCode.AUTHENTICATION_HANDLER_SUCCESS);
UsernamePrincipal up = result.getSubject().getPrincipals(UsernamePrincipal.class).iterator().next();
@@ -616,10 +655,11 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
}
@Test public void testMatchAndAuthorized() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "changeit");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "changeit");
AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.setAuthenticator(authenticator);
@@ -634,13 +674,13 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
ActionTestingSupport.assertProceedEvent(event);
AuthenticationErrorContext aec = ac.getSubcontext(AuthenticationErrorContext.class);
- Assert.assertNull(aec);
-
AuthenticationResult result = ac.getAuthenticationResult();
- Assert.assertNotNull(result);
+ assert result != null;
LDAPResponseContext lrc = ac.getSubcontext(LDAPResponseContext.class);
- Assert.assertNotNull(lrc.getAuthenticationResponse());
- Assert.assertEquals(lrc.getAuthenticationResponse().getAuthenticationResultCode(),
+ assert lrc != null;
+ final AuthenticationResponse lar = lrc.getAuthenticationResponse();
+ assert lar != null;
+ Assert.assertEquals(lar.getAuthenticationResultCode(),
AuthenticationResultCode.AUTHENTICATION_HANDLER_SUCCESS);
UsernamePrincipal up = result.getSubject().getPrincipals(UsernamePrincipal.class).iterator().next();
@@ -653,10 +693,11 @@ public class LDAPCredentialValidatorTest extends BaseAuthenticationContextTest {
}
@Test public void testAuthorizedAndKeepContext() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "changeit");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "changeit");
AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.setAuthenticator(authenticator);
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PopulateAuthenticationContextTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PopulateAuthenticationContextTest.java
index 024496dfa..95d391d48 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PopulateAuthenticationContextTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PopulateAuthenticationContextTest.java
@@ -57,7 +57,7 @@ final public class PopulateAuthenticationContextTest extends BaseAuthenticationC
ActionTestingSupport.assertProceedEvent(prc);
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
- Assert.assertNotNull(authCtx);
+ assert authCtx != null;
Assert.assertEquals(authCtx.getAvailableFlows().size(), 3);
Assert.assertNotNull(authCtx.getAvailableFlows().get("test1"));
@@ -86,7 +86,7 @@ final public class PopulateAuthenticationContextTest extends BaseAuthenticationC
ActionTestingSupport.assertProceedEvent(prc);
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
- Assert.assertNotNull(authCtx);
+ assert authCtx != null;
Assert.assertEquals(authCtx.getAvailableFlows().size(), 3);
Assert.assertNotNull(authCtx.getAvailableFlows().get("test1"));
@@ -118,7 +118,7 @@ final public class PopulateAuthenticationContextTest extends BaseAuthenticationC
ActionTestingSupport.assertProceedEvent(prc);
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
- Assert.assertNotNull(authCtx);
+ assert authCtx != null;
Assert.assertEquals(authCtx.getAvailableFlows().size(), 3);
Assert.assertNotNull(authCtx.getAvailableFlows().get("test1"));
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PopulateMultiFactorAuthenticationContextTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PopulateMultiFactorAuthenticationContextTest.java
index 0d87f48ae..0ec0b6836 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PopulateMultiFactorAuthenticationContextTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PopulateMultiFactorAuthenticationContextTest.java
@@ -55,11 +55,12 @@ public class PopulateMultiFactorAuthenticationContextTest {
@BeforeMethod public void setUp() throws ComponentInitializationException {
rc = new RequestContextBuilder().buildRequestContext();
prc = new WebflowRequestContextProfileRequestContextLookup().apply(rc);
- ac = prc.getSubcontext(AuthenticationContext.class, true);
- ac.setAttemptedFlow(new AuthenticationFlowDescriptor());
- ac.getAttemptedFlow().setId("authn/MFA");
- ac.getAttemptedFlow().setResultSerializer(new DefaultAuthenticationResultSerializer());
- ac.getAttemptedFlow().initialize();
+ final AuthenticationContext authCtx = ac = prc.getOrCreateSubcontext(AuthenticationContext.class);
+ final AuthenticationFlowDescriptor flow =new AuthenticationFlowDescriptor();
+ authCtx.setAttemptedFlow(flow);
+ flow.setId("authn/MFA");
+ flow.setResultSerializer(new DefaultAuthenticationResultSerializer());
+ flow.initialize();
action = new PopulateMultiFactorAuthenticationContext();
}
@@ -81,7 +82,7 @@ public class PopulateMultiFactorAuthenticationContextTest {
ActionTestingSupport.assertProceedEvent(event);
final MultiFactorAuthenticationContext mfa = ac.getSubcontext(MultiFactorAuthenticationContext.class);
- Assert.assertNotNull(mfa);
+ assert mfa != null;
Assert.assertEquals(ac.getAttemptedFlow(), mfa.getAuthenticationFlowDescriptor());
Assert.assertEquals(mfa.getTransitionMap().size(), 1);
Assert.assertNotNull(mfa.getTransitionMap().get(null));
@@ -144,7 +145,7 @@ public class PopulateMultiFactorAuthenticationContextTest {
ActionTestingSupport.assertProceedEvent(event);
final MultiFactorAuthenticationContext mfa = ac.getSubcontext(MultiFactorAuthenticationContext.class);
- Assert.assertNotNull(mfa);
+ assert mfa != null;
Assert.assertEquals(ac.getAttemptedFlow(), mfa.getAuthenticationFlowDescriptor());
Assert.assertEquals(mfa.getActiveResults().size(), 2);
Assert.assertNull(mfa.getActiveResults().get("foo"));
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PopulateSubjectCanonicalizationContextTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PopulateSubjectCanonicalizationContextTest.java
index 47a9201d6..e8fb4a1e3 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PopulateSubjectCanonicalizationContextTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PopulateSubjectCanonicalizationContextTest.java
@@ -45,7 +45,7 @@ public class PopulateSubjectCanonicalizationContextTest {
@BeforeMethod public void setUp() throws Exception {
src = new RequestContextBuilder().buildRequestContext();
prc = new WebflowRequestContextProfileRequestContextLookup().apply(src);
- prc.getSubcontext(SubjectCanonicalizationContext.class, true).setSubject(new Subject());
+ prc.getOrCreateSubcontext(SubjectCanonicalizationContext.class).setSubject(new Subject());
c14nFlows = List.of(new SubjectCanonicalizationFlowDescriptor(),
new SubjectCanonicalizationFlowDescriptor(), new SubjectCanonicalizationFlowDescriptor());
@@ -69,7 +69,7 @@ public class PopulateSubjectCanonicalizationContextTest {
ActionTestingSupport.assertProceedEvent(prc);
final SubjectCanonicalizationContext c14nCtx = prc.getSubcontext(SubjectCanonicalizationContext.class, false);
- Assert.assertNotNull(c14nCtx);
+ assert c14nCtx!=null;
Assert.assertEquals(c14nCtx.getPotentialFlows().size(), 3);
Assert.assertNotNull(c14nCtx.getPotentialFlows().get("test1"));
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PreserveAuthenticationFlowStateTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PreserveAuthenticationFlowStateTest.java
index 752a5ec6c..dd29ad0ce 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PreserveAuthenticationFlowStateTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/PreserveAuthenticationFlowStateTest.java
@@ -18,7 +18,10 @@
package net.shibboleth.idp.authn.impl;
+import static org.testng.Assert.assertTrue;
+
import java.util.Arrays;
+import java.util.Map;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.webflow.execution.Event;
@@ -54,7 +57,10 @@ public class PreserveAuthenticationFlowStateTest extends BaseAuthenticationConte
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertTrue(prc.getSubcontext(AuthenticationContext.class).getAuthenticationStateMap().isEmpty());
+ final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
+ final Map<String, Object> asm = ac.getAuthenticationStateMap();
+ Assert.assertTrue(asm.isEmpty());
}
@Test public void testNoParameters() throws ComponentInitializationException {
@@ -66,7 +72,10 @@ public class PreserveAuthenticationFlowStateTest extends BaseAuthenticationConte
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertTrue(prc.getSubcontext(AuthenticationContext.class).getAuthenticationStateMap().isEmpty());
+ final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
+ final Map<String, Object> asm = ac.getAuthenticationStateMap();
+ Assert.assertTrue(asm.isEmpty());
}
@Test public void testNoneFound(){
@@ -74,18 +83,22 @@ public class PreserveAuthenticationFlowStateTest extends BaseAuthenticationConte
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertTrue(prc.getSubcontext(AuthenticationContext.class).getAuthenticationStateMap().isEmpty());
+ final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
+ final Map<String, Object> asm = ac.getAuthenticationStateMap();
+ Assert.assertTrue(asm.isEmpty());
}
@Test public void testNoValues() {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("foo", (String) null);
+ getMockHttpServletRequest(action).addParameter("foo", (String) null);
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
Assert.assertEquals(authCtx.getAuthenticationStateMap().size(), 1);
Assert.assertTrue(authCtx.getAuthenticationStateMap().containsKey("foo"));
Assert.assertNull(authCtx.getAuthenticationStateMap().get("foo"));
@@ -93,14 +106,15 @@ public class PreserveAuthenticationFlowStateTest extends BaseAuthenticationConte
@Test public void testSingleValued() {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("foo", "bar");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("foo2", "bar2");
+ getMockHttpServletRequest(action).addParameter("foo", "bar");
+ getMockHttpServletRequest(action).addParameter("foo2", "bar2");
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
Assert.assertEquals(authCtx.getAuthenticationStateMap().size(), 2);
Assert.assertEquals(authCtx.getAuthenticationStateMap().get("foo"), "bar");
Assert.assertEquals(authCtx.getAuthenticationStateMap().get("foo2"), "bar2");
@@ -108,13 +122,14 @@ public class PreserveAuthenticationFlowStateTest extends BaseAuthenticationConte
@Test public void testMultiValued() {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("foo", new String[]{"bar", "bar2"});
+ getMockHttpServletRequest(action).addParameter("foo", new String[]{"bar", "bar2"});
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
Assert.assertEquals(authCtx.getAuthenticationStateMap().size(), 1);
Assert.assertEquals(authCtx.getAuthenticationStateMap().get("foo"), Arrays.asList("bar", "bar2"));
}
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/RelyingPartyMapJAASLoginConfigStrategyTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/RelyingPartyMapJAASLoginConfigStrategyTest.java
index b2a5740aa..e025b5692 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/RelyingPartyMapJAASLoginConfigStrategyTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/RelyingPartyMapJAASLoginConfigStrategyTest.java
@@ -19,6 +19,7 @@ package net.shibboleth.idp.authn.impl;
import java.util.Collection;
import java.util.HashMap;
+import java.util.Map;
import javax.security.auth.Subject;
@@ -45,6 +46,8 @@ public class RelyingPartyMapJAASLoginConfigStrategyTest {
private String entityID = "https://www.example.org/saml";
private HashMap<String, String> rpMap;
+
+ private Object nullObj;
@BeforeMethod
public void setUp() {
@@ -62,6 +65,7 @@ public class RelyingPartyMapJAASLoginConfigStrategyTest {
public void testNoRelyingPartyContext() {
profileRequestContext.removeSubcontext(RelyingPartyContext.class);
+ assert rpMap != null;
strategy = new RelyingPartyMapJAASLoginConfigStrategy(rpMap);
Collection<Pair<String,Subject>> result = strategy.apply(profileRequestContext);
@@ -76,6 +80,7 @@ public class RelyingPartyMapJAASLoginConfigStrategyTest {
public void testNoRelyingPartyId() {
relyingPartyContext.setRelyingPartyId(null);
+ assert rpMap != null;
strategy = new RelyingPartyMapJAASLoginConfigStrategy(rpMap);
Collection<Pair<String,Subject>> result = strategy.apply(profileRequestContext);
@@ -90,6 +95,7 @@ public class RelyingPartyMapJAASLoginConfigStrategyTest {
public void testNoMappingFound() {
relyingPartyContext.setRelyingPartyId("SomeOtherRP");
+ assert rpMap != null;
strategy = new RelyingPartyMapJAASLoginConfigStrategy(rpMap);
Collection<Pair<String,Subject>> result = strategy.apply(profileRequestContext);
@@ -102,6 +108,7 @@ public class RelyingPartyMapJAASLoginConfigStrategyTest {
@Test
public void testMappingFound() {
+ assert rpMap != null;
strategy = new RelyingPartyMapJAASLoginConfigStrategy(rpMap);
Collection<Pair<String,Subject>> result = strategy.apply(profileRequestContext);
@@ -112,9 +119,10 @@ public class RelyingPartyMapJAASLoginConfigStrategyTest {
Assert.assertEquals(resultPair.getFirst(), "MyJAAS");
}
+ @SuppressWarnings({ "null", "unchecked" })
@Test(expectedExceptions=ConstraintViolationException.class)
public void testNullInputMap() {
- strategy = new RelyingPartyMapJAASLoginConfigStrategy(null);
+ strategy = new RelyingPartyMapJAASLoginConfigStrategy((Map<String, String>) nullObj);
}
}
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/SelectAuthenticationFlowTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/SelectAuthenticationFlowTest.java
index b454dc0d4..7ecaa84ac 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/SelectAuthenticationFlowTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/SelectAuthenticationFlowTest.java
@@ -24,6 +24,12 @@ import java.util.List;
import javax.security.auth.Subject;
+import org.springframework.webflow.execution.Event;
+import org.testng.Assert;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import net.shibboleth.idp.authn.AuthenticationFlowDescriptor;
import net.shibboleth.idp.authn.AuthenticationResult;
import net.shibboleth.idp.authn.AuthnEventIds;
import net.shibboleth.idp.authn.context.AuthenticationContext;
@@ -35,11 +41,6 @@ import net.shibboleth.idp.authn.testing.TestPrincipal;
import net.shibboleth.idp.profile.testing.ActionTestingSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
-import org.springframework.webflow.execution.Event;
-import org.testng.Assert;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Test;
-
/** {@link SelectAuthenticationFlow} unit test. */
public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest {
@@ -54,42 +55,52 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
@Test public void testNoRequestNoneActive() {
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
-
+ assert authCtx != null;
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, "test1");
Assert.assertNull(authCtx.getAuthenticationResult());
- Assert.assertEquals(authCtx.getAttemptedFlow(), authCtx.getPotentialFlows().get(event.getId()));
- Assert.assertEquals(authCtx.getAttemptedFlow().getId(), "test1");
+ final AuthenticationFlowDescriptor attemptedFlow = authCtx.getAttemptedFlow();
+ assert attemptedFlow != null && event != null;
+
+ Assert.assertEquals(attemptedFlow, authCtx.getPotentialFlows().get(event.getId()));
+ Assert.assertEquals(attemptedFlow.getId(), "test1");
}
@Test public void testNoRequestNoneActivePassive() {
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
authCtx.setIsPassive(true);
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, "test2");
Assert.assertNull(authCtx.getAuthenticationResult());
- Assert.assertEquals(authCtx.getAttemptedFlow(), authCtx.getPotentialFlows().get(event.getId()));
- Assert.assertEquals(authCtx.getAttemptedFlow().getId(), "test2");
+ final AuthenticationFlowDescriptor attemptedFlow = authCtx.getAttemptedFlow();
+ assert attemptedFlow != null && event != null;
+ Assert.assertEquals(attemptedFlow, authCtx.getPotentialFlows().get(event.getId()));
+ Assert.assertEquals(attemptedFlow.getId(), "test2");
}
@Test public void testNoRequestNoneActiveIntermediate() {
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
authCtx.getIntermediateFlows().put("test1", authCtx.getPotentialFlows().get("test1"));
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, "test2");
Assert.assertNull(authCtx.getAuthenticationResult());
- Assert.assertEquals(authCtx.getAttemptedFlow(), authCtx.getPotentialFlows().get(event.getId()));
- Assert.assertEquals(authCtx.getAttemptedFlow().getId(), "test2");
+ final AuthenticationFlowDescriptor attemptedFlow = authCtx.getAttemptedFlow();
+ assert attemptedFlow != null && event != null;
+ Assert.assertEquals(attemptedFlow, authCtx.getPotentialFlows().get(event.getId()));
+ Assert.assertEquals(attemptedFlow.getId(), "test2");
}
@Test public void testNoRequestActive() {
final AuthenticationResult active = new AuthenticationResult("test2", new Subject());
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
authCtx.setActiveResults(Arrays.asList(active));
final Event event = action.execute(src);
@@ -101,10 +112,12 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
@Test public void testNoRequestForced() {
final AuthenticationResult active = new AuthenticationResult("test2", new Subject());
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
authCtx.setActiveResults(Arrays.asList(active));
authCtx.setForceAuthn(true);
final Event event = action.execute(src);
+ assert event != null;
Assert.assertNull(authCtx.getAuthenticationResult());
Assert.assertEquals(authCtx.getAttemptedFlow(), authCtx.getPotentialFlows().get(event.getId()));
@@ -115,6 +128,7 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
final RequestedPrincipalContext rpc = new RequestedPrincipalContext();
rpc.setOperator("exact");
rpc.setRequestedPrincipals(Arrays.<Principal>asList(new TestPrincipal("foo")));
+ assert authCtx != null;
authCtx.addSubcontext(rpc, true);
final Event event = action.execute(src);
@@ -127,13 +141,17 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
final List<Principal> principals = Arrays.<Principal>asList(new TestPrincipal("test3"));
final PreferredPrincipalContext ppc = new PreferredPrincipalContext();
ppc.setPreferredPrincipals(principals);
+ assert authCtx != null;
authCtx.addSubcontext(ppc, true);
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, "test3");
Assert.assertNull(authCtx.getAuthenticationResult());
- Assert.assertEquals(authCtx.getAttemptedFlow().getId(), "test3");
+ final AuthenticationFlowDescriptor attemptedFlow = authCtx.getAttemptedFlow();
+ assert attemptedFlow != null && event != null;
+
+ Assert.assertEquals(attemptedFlow.getId(), "test3");
}
@Test public void testPreferredNoneActive() {
@@ -141,6 +159,7 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
final List<Principal> principals = Arrays.<Principal>asList(new TestPrincipal("test3"));
final PreferredPrincipalContext ppc = new PreferredPrincipalContext();
ppc.setPreferredPrincipals(principals);
+ assert authCtx != null;
authCtx.addSubcontext(ppc, true);
authCtx.getPotentialFlows().get("test3").setSupportedPrincipals(principals);
@@ -148,7 +167,10 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
ActionTestingSupport.assertEvent(event, "test3");
Assert.assertNull(authCtx.getAuthenticationResult());
- Assert.assertEquals(authCtx.getAttemptedFlow().getId(), "test3");
+ final AuthenticationFlowDescriptor attemptedFlow = authCtx.getAttemptedFlow();
+ assert attemptedFlow != null;
+
+ Assert.assertEquals(attemptedFlow.getId(), "test3");
}
@Test public void testPreferredPickActiveNonMatch() {
@@ -157,6 +179,7 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
new TestPrincipal("test2"));
final PreferredPrincipalContext ppc = new PreferredPrincipalContext();
ppc.setPreferredPrincipals(principals);
+ assert authCtx != null;
authCtx.addSubcontext(ppc, true);
final AuthenticationResult active = new AuthenticationResult("test1", new Subject());
active.getSubject().getPrincipals().add(new TestPrincipal("test1"));
@@ -175,6 +198,7 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
new TestPrincipal("test2"));
final PreferredPrincipalContext ppc = new PreferredPrincipalContext();
ppc.setPreferredPrincipals(principals);
+ assert authCtx != null;
authCtx.addSubcontext(ppc, true);
final AuthenticationResult active1 = new AuthenticationResult("test1", new Subject());
final AuthenticationResult active3 = new AuthenticationResult("test3", new Subject());
@@ -197,6 +221,7 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
TestPrincipal.class, "exact", new ExactPrincipalEvalPredicateFactory());
rpc.setOperator("exact");
rpc.setRequestedPrincipals(principals);
+ assert authCtx != null;
authCtx.addSubcontext(rpc, true);
authCtx.getPotentialFlows().get("test3").setSupportedPrincipals(principals);
@@ -204,11 +229,14 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
ActionTestingSupport.assertEvent(event, "test3");
Assert.assertNull(authCtx.getAuthenticationResult());
- Assert.assertEquals(authCtx.getAttemptedFlow().getId(), "test3");
+ final AuthenticationFlowDescriptor attemptedFlow = authCtx.getAttemptedFlow();
+ assert attemptedFlow != null;
+ Assert.assertEquals(attemptedFlow.getId(), "test3");
}
@Test public void testRequestNoneActiveIntermediate() {
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
authCtx.getIntermediateFlows().put("test2", authCtx.getPotentialFlows().get("test2"));
final List<Principal> principals = Arrays.<Principal>asList(new TestPrincipal("test3"),
new TestPrincipal("test2"));
@@ -225,7 +253,10 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
ActionTestingSupport.assertEvent(event, "test3");
Assert.assertNull(authCtx.getAuthenticationResult());
- Assert.assertEquals(authCtx.getAttemptedFlow().getId(), "test3");
+ final AuthenticationFlowDescriptor flow = authCtx.getAttemptedFlow();
+ assert flow != null;
+
+ Assert.assertEquals(flow.getId(), "test3");
}
@Test public void testRequestPickInactive() {
@@ -237,6 +268,7 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
TestPrincipal.class, "exact", new ExactPrincipalEvalPredicateFactory());
rpc.setOperator("exact");
rpc.setRequestedPrincipals(principals);
+ assert authCtx != null;
authCtx.addSubcontext(rpc, true);
final AuthenticationResult active = new AuthenticationResult("test2", new Subject());
active.getSubject().getPrincipals().add(new TestPrincipal("test2"));
@@ -259,6 +291,7 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
TestPrincipal.class, "exact", new ExactPrincipalEvalPredicateFactory());
rpc.setOperator("exact");
rpc.setRequestedPrincipals(principals);
+ assert authCtx != null;
authCtx.addSubcontext(rpc, true);
final AuthenticationResult active = new AuthenticationResult("test3", new Subject());
active.getSubject().getPrincipals().add(new TestPrincipal("test3"));
@@ -273,6 +306,7 @@ public class SelectAuthenticationFlowTest extends BaseAuthenticationContextTest
@Test public void testRequestFavorSSO() throws ComponentInitializationException {
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
final List<Principal> principals = Arrays.<Principal>asList(new TestPrincipal("test3"),
new TestPrincipal("test2"));
final RequestedPrincipalContext rpc = new RequestedPrincipalContext();
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/SelectSubjectCanonicalizationFlowTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/SelectSubjectCanonicalizationFlowTest.java
index 930723f50..1b32130a7 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/SelectSubjectCanonicalizationFlowTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/SelectSubjectCanonicalizationFlowTest.java
@@ -17,15 +17,15 @@
package net.shibboleth.idp.authn.impl;
-import net.shibboleth.idp.authn.context.SubjectCanonicalizationContext;
-
import org.opensaml.profile.context.ProfileRequestContext;
import org.springframework.webflow.execution.Event;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
-import com.google.common.base.Predicates;
+import net.shibboleth.idp.authn.SubjectCanonicalizationFlowDescriptor;
+import net.shibboleth.idp.authn.context.SubjectCanonicalizationContext;
+import net.shibboleth.shared.logic.PredicateSupport;
/** {@link SelectSubjectCanonicalizationFlow} unit test. */
public class SelectSubjectCanonicalizationFlowTest extends PopulateSubjectCanonicalizationContextTest {
@@ -46,9 +46,12 @@ public class SelectSubjectCanonicalizationFlowTest extends PopulateSubjectCanoni
@Test public void testSelect() {
final Event event = action.execute(src);
+ assert event != null;
+ final SubjectCanonicalizationFlowDescriptor flow = c14nCtx.getAttemptedFlow();
+ assert flow != null;
Assert.assertEquals(c14nCtx.getAttemptedFlow(), c14nCtx.getPotentialFlows().get(event.getId()));
- Assert.assertEquals(c14nCtx.getAttemptedFlow().getId(), "test1");
+ Assert.assertEquals(flow.getId(), "test1");
}
@Test public void testIntermediate() {
@@ -56,17 +59,21 @@ public class SelectSubjectCanonicalizationFlowTest extends PopulateSubjectCanoni
final Event event = action.execute(src);
+ final SubjectCanonicalizationFlowDescriptor flow = c14nCtx.getAttemptedFlow();
+ assert flow != null && event != null;
Assert.assertEquals(c14nCtx.getAttemptedFlow(), c14nCtx.getPotentialFlows().get(event.getId()));
- Assert.assertEquals(c14nCtx.getAttemptedFlow().getId(), "test2");
+ Assert.assertEquals(flow.getId(), "test2");
}
@Test public void testPredicate() {
- c14nCtx.getPotentialFlows().get("test1").setActivationCondition(Predicates.<ProfileRequestContext>alwaysFalse());
+ c14nCtx.getPotentialFlows().get("test1").setActivationCondition(PredicateSupport.<ProfileRequestContext>alwaysFalse());
final Event event = action.execute(src);
+ final SubjectCanonicalizationFlowDescriptor flow = c14nCtx.getAttemptedFlow();
+ assert flow != null && event != null;
Assert.assertEquals(c14nCtx.getAttemptedFlow(), c14nCtx.getPotentialFlows().get(event.getId()));
- Assert.assertEquals(c14nCtx.getAttemptedFlow().getId(), "test2");
+ Assert.assertEquals(flow.getId(), "test2");
}
}
\ No newline at end of file
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/SimpleSubjectCanonicalizationTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/SimpleSubjectCanonicalizationTest.java
index dc028cd23..02443fe0e 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/SimpleSubjectCanonicalizationTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/SimpleSubjectCanonicalizationTest.java
@@ -55,47 +55,53 @@ public class SimpleSubjectCanonicalizationTest extends BaseAuthenticationContext
@Test public void testNoPrincipal() {
Subject subject = new Subject();
- prc.getSubcontext(SubjectCanonicalizationContext.class, true).setSubject(subject);
+ prc.getOrCreateSubcontext(SubjectCanonicalizationContext.class).setSubject(subject);
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, AuthnEventIds.INVALID_SUBJECT);
- Assert.assertNotNull(prc.getSubcontext(SubjectCanonicalizationContext.class, false).getException());
+ final SubjectCanonicalizationContext scc = prc.getSubcontext(SubjectCanonicalizationContext.class);
+ assert scc != null;
+ Assert.assertNotNull(scc.getException());
}
@Test public void testMultiPrincipals() {
Subject subject = new Subject();
subject.getPrincipals().add(new UsernamePrincipal("foo"));
subject.getPrincipals().add(new UsernamePrincipal("bar"));
- prc.getSubcontext(SubjectCanonicalizationContext.class, true).setSubject(subject);
+ prc.getOrCreateSubcontext(SubjectCanonicalizationContext.class).setSubject(subject);
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, AuthnEventIds.INVALID_SUBJECT);
- Assert.assertNotNull(prc.getSubcontext(SubjectCanonicalizationContext.class, false).getException());
+ final SubjectCanonicalizationContext scc = prc.getSubcontext(SubjectCanonicalizationContext.class);
+ assert scc != null;
+ Assert.assertNotNull(scc.getException());
}
@Test public void testSuccess() {
Subject subject = new Subject();
subject.getPrincipals().add(new UsernamePrincipal("foo"));
- prc.getSubcontext(SubjectCanonicalizationContext.class, true).setSubject(subject);
+ prc.getOrCreateSubcontext(SubjectCanonicalizationContext.class).setSubject(subject);
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
SubjectCanonicalizationContext sc = prc.getSubcontext(SubjectCanonicalizationContext.class, false);
+ assert sc != null;
Assert.assertEquals(sc.getPrincipalName(), "foo");
}
@Test public void testTransform() {
Subject subject = new Subject();
subject.getPrincipals().add(new UsernamePrincipal("foo at osu.edu"));
- prc.getSubcontext(SubjectCanonicalizationContext.class, true).setSubject(subject);
+ prc.getOrCreateSubcontext(SubjectCanonicalizationContext.class).setSubject(subject);
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
SubjectCanonicalizationContext sc = prc.getSubcontext(SubjectCanonicalizationContext.class, false);
+ assert sc != null;
Assert.assertEquals(sc.getPrincipalName(), "foo");
}
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/StorageBackedAccountLockoutManagerTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/StorageBackedAccountLockoutManagerTest.java
index 3e814eec4..9cf1cb76f 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/StorageBackedAccountLockoutManagerTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/StorageBackedAccountLockoutManagerTest.java
@@ -59,11 +59,16 @@ public class StorageBackedAccountLockoutManagerTest extends BaseAuthenticationCo
manager.initialize();
((MockHttpServletRequest) src.getExternalContext().getNativeRequest()).setRemoteAddr("192.168.1.1");
- prc.getSubcontext(AuthenticationContext.class).getSubcontext(UsernamePasswordContext.class, true).setUsername("jdoe");
+ final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
+ authCtx.getOrCreateSubcontext(UsernamePasswordContext.class).setUsername("jdoe");
}
- @Test public void noKey() {
- prc.getSubcontext(AuthenticationContext.class).clearSubcontexts();
+ @Test public void noKey() {
+ final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
+
+ authCtx.clearSubcontexts();
Assert.assertFalse(manager.check(prc));
Assert.assertFalse(manager.increment(prc));
Assert.assertFalse(manager.clear(prc));
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateCredentialsTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateCredentialsTest.java
index bc616a8c8..f97421c77 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateCredentialsTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateCredentialsTest.java
@@ -27,6 +27,7 @@ import java.util.Map;
import java.util.Set;
import org.ldaptive.DefaultConnectionFactory;
+import org.ldaptive.auth.AuthenticationResponse;
import org.ldaptive.auth.AuthenticationResultCode;
import org.ldaptive.auth.Authenticator;
import org.ldaptive.auth.SimpleBindAuthenticationHandler;
@@ -112,6 +113,7 @@ public class ValidateCredentialsTest extends BaseAuthenticationContextTest {
final LDAPCredentialValidator ldap = new LDAPCredentialValidator();
ldap.setId("ldap");
+ assert authenticator != null;
ldap.setAuthenticator(authenticator);
ldap.initialize();
@@ -135,10 +137,11 @@ public class ValidateCredentialsTest extends BaseAuthenticationContextTest {
}
@Test public void testBadUsername() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "foo");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "bar");
+ getMockHttpServletRequest(action).addParameter("username", "foo");
+ getMockHttpServletRequest(action).addParameter("password", "bar");
AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
action.initialize();
@@ -148,22 +151,26 @@ public class ValidateCredentialsTest extends BaseAuthenticationContextTest {
final Event event = action.execute(src);
Assert.assertNull(ac.getAuthenticationResult());
LDAPResponseContext lrc = ac.getSubcontext(LDAPResponseContext.class);
- Assert.assertNotNull(lrc.getAuthenticationResponse());
- Assert.assertEquals(lrc.getAuthenticationResponse().getAuthenticationResultCode(),
+ assert lrc != null;
+ final AuthenticationResponse lar = lrc.getAuthenticationResponse();
+ assert lar != null;
+ Assert.assertEquals(lar.getAuthenticationResultCode(),
AuthenticationResultCode.DN_RESOLUTION_FAILURE);
AuthenticationErrorContext aec = ac.getSubcontext(AuthenticationErrorContext.class);
- Assert.assertNotNull(aec);
+ assert aec != null;
+
ActionTestingSupport.assertEvent(event, "UnknownUsername");
Assert.assertEquals(aec.getClassifiedErrors().size(), 1);
Assert.assertTrue(aec.isClassifiedError("UnknownUsername"));
}
@Test public void testEmptyPassword() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "");
AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
action.initialize();
@@ -174,17 +181,18 @@ public class ValidateCredentialsTest extends BaseAuthenticationContextTest {
Assert.assertNull(ac.getAuthenticationResult());
AuthenticationErrorContext aec = ac.getSubcontext(AuthenticationErrorContext.class);
- Assert.assertNotNull(aec);
+ assert aec != null;
ActionTestingSupport.assertEvent(event, "InvalidPassword");
Assert.assertEquals(aec.getClassifiedErrors().size(), 1);
Assert.assertTrue(aec.isClassifiedError("InvalidPassword"));
}
@Test public void testBadPassword() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "bar");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "bar");
AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
action.initialize();
@@ -194,12 +202,14 @@ public class ValidateCredentialsTest extends BaseAuthenticationContextTest {
final Event event = action.execute(src);
Assert.assertNull(ac.getAuthenticationResult());
LDAPResponseContext lrc = ac.getSubcontext(LDAPResponseContext.class);
- Assert.assertNotNull(lrc.getAuthenticationResponse());
- Assert.assertEquals(lrc.getAuthenticationResponse().getAuthenticationResultCode(),
+ assert lrc != null;
+ final AuthenticationResponse lar = lrc.getAuthenticationResponse();
+ assert lar != null;
+ Assert.assertEquals(lar.getAuthenticationResultCode(),
AuthenticationResultCode.AUTHENTICATION_HANDLER_FAILURE);
AuthenticationErrorContext aec = ac.getSubcontext(AuthenticationErrorContext.class);
- Assert.assertNotNull(aec);
+ assert aec != null;
ActionTestingSupport.assertEvent(event, "InvalidPassword");
Assert.assertEquals(aec.getClassifiedErrors().size(), 2);
Assert.assertTrue(aec.isClassifiedError("InvalidPassword"));
@@ -207,10 +217,11 @@ public class ValidateCredentialsTest extends BaseAuthenticationContextTest {
}
@Test public void testAuthorized() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "changeit");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "changeit");
AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
action.initialize();
@@ -226,10 +237,12 @@ public class ValidateCredentialsTest extends BaseAuthenticationContextTest {
Assert.assertNull(aec);
AuthenticationResult result = ac.getAuthenticationResult();
- Assert.assertNotNull(result);
+ assert result != null;
LDAPResponseContext lrc = ac.getSubcontext(LDAPResponseContext.class);
- Assert.assertNotNull(lrc.getAuthenticationResponse());
- Assert.assertEquals(lrc.getAuthenticationResponse().getAuthenticationResultCode(),
+ assert lrc != null;
+ final AuthenticationResponse lar = lrc.getAuthenticationResponse();
+ assert lar != null;
+ Assert.assertEquals(lar.getAuthenticationResultCode(),
AuthenticationResultCode.AUTHENTICATION_HANDLER_SUCCESS);
UsernamePrincipal up = result.getSubject().getPrincipals(UsernamePrincipal.class).iterator().next();
@@ -242,10 +255,11 @@ public class ValidateCredentialsTest extends BaseAuthenticationContextTest {
}
@Test public void testAuthorized2() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL2");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "changeit");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL2");
+ getMockHttpServletRequest(action).addParameter("password", "changeit");
AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
action.setCleanupHook(new ValidateCredentials.UsernamePasswordCleanupHook());
@@ -259,28 +273,31 @@ public class ValidateCredentialsTest extends BaseAuthenticationContextTest {
Assert.assertNull(ac.getSubcontext(UsernamePasswordContext.class));
AuthenticationResult result = ac.getAuthenticationResult();
- Assert.assertNotNull(result);
+ assert result != null;
UsernamePrincipal up = result.getSubject().getPrincipals(UsernamePrincipal.class).iterator().next();
Assert.assertNotNull(up);
Assert.assertEquals(up.getName(), "PETER_THE_PRINCIPAL2");
Assert.assertTrue(result.getSubject().getPrincipals(LdapPrincipal.class).isEmpty());
LDAPResponseContext lrc = ac.getSubcontext(LDAPResponseContext.class);
- Assert.assertNotNull(lrc.getAuthenticationResponse());
- Assert.assertEquals(lrc.getAuthenticationResponse().getAuthenticationResultCode(),
+ assert lrc != null;
+ final AuthenticationResponse lar = lrc.getAuthenticationResponse();
+ assert lar != null;
+ Assert.assertEquals(lar.getAuthenticationResultCode(),
AuthenticationResultCode.DN_RESOLUTION_FAILURE);
AuthenticationErrorContext aec = ac.getSubcontext(AuthenticationErrorContext.class);
- Assert.assertNotNull(aec);
+ assert aec != null;
Assert.assertEquals(aec.getClassifiedErrors().size(), 1);
Assert.assertTrue(aec.isClassifiedError("UnknownUsername"));
}
@Test public void testBadPassword2() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL2");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "changeit");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL2");
+ getMockHttpServletRequest(action).addParameter("password", "changeit");
AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
action.setRequireAll(true);
@@ -291,22 +308,25 @@ public class ValidateCredentialsTest extends BaseAuthenticationContextTest {
final Event event = action.execute(src);
Assert.assertNull(ac.getAuthenticationResult());
LDAPResponseContext lrc = ac.getSubcontext(LDAPResponseContext.class);
- Assert.assertNotNull(lrc.getAuthenticationResponse());
- Assert.assertEquals(lrc.getAuthenticationResponse().getAuthenticationResultCode(),
+ assert lrc != null;
+ final AuthenticationResponse lar = lrc.getAuthenticationResponse();
+ assert lar != null;
+ Assert.assertEquals(lar.getAuthenticationResultCode(),
AuthenticationResultCode.DN_RESOLUTION_FAILURE);
AuthenticationErrorContext aec = ac.getSubcontext(AuthenticationErrorContext.class);
- Assert.assertNotNull(aec);
+ assert aec != null;
ActionTestingSupport.assertEvent(event, AuthnEventIds.UNKNOWN_USERNAME);
Assert.assertEquals(aec.getClassifiedErrors().size(), 1);
Assert.assertTrue(aec.isClassifiedError(AuthnEventIds.UNKNOWN_USERNAME));
}
@Test public void testAuthorizedAll() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("username", "PETER_THE_PRINCIPAL");
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("password", "changeit");
+ getMockHttpServletRequest(action).addParameter("username", "PETER_THE_PRINCIPAL");
+ getMockHttpServletRequest(action).addParameter("password", "changeit");
AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
action.setRequireAll(true);
@@ -324,10 +344,12 @@ public class ValidateCredentialsTest extends BaseAuthenticationContextTest {
Assert.assertNull(aec);
AuthenticationResult result = ac.getAuthenticationResult();
- Assert.assertNotNull(result);
+ assert result != null;
LDAPResponseContext lrc = ac.getSubcontext(LDAPResponseContext.class);
- Assert.assertNotNull(lrc.getAuthenticationResponse());
- Assert.assertEquals(lrc.getAuthenticationResponse().getAuthenticationResultCode(),
+ assert lrc != null;
+ final AuthenticationResponse lar = lrc.getAuthenticationResponse();
+ assert lar != null;
+ Assert.assertEquals(lar.getAuthenticationResultCode(),
AuthenticationResultCode.AUTHENTICATION_HANDLER_SUCCESS);
final Set<UsernamePrincipal> ups = result.getSubject().getPrincipals(UsernamePrincipal.class);
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateExternalAuthenticationTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateExternalAuthenticationTest.java
index 08ac556dd..7dba74757 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateExternalAuthenticationTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateExternalAuthenticationTest.java
@@ -30,6 +30,7 @@ import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+import net.shibboleth.idp.authn.AuthenticationResult;
import net.shibboleth.idp.authn.AuthnEventIds;
import net.shibboleth.idp.authn.ExternalAuthentication;
import net.shibboleth.idp.authn.context.AuthenticationContext;
@@ -52,8 +53,9 @@ public class ValidateExternalAuthenticationTest extends BaseAuthenticationContex
@BeforeMethod public void setUp() throws ComponentInitializationException {
super.setUp();
-
- prc.getSubcontext(AuthenticationContext.class).setAttemptedFlow(authenticationFlows.get(0));
+ final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
+ ac.setAttemptedFlow(authenticationFlows.get(0));
ext = new ExternalAuthenticationImpl();
@@ -64,7 +66,9 @@ public class ValidateExternalAuthenticationTest extends BaseAuthenticationContex
}
@Test public void testMissingFlow() {
- prc.getSubcontext(AuthenticationContext.class).setAttemptedFlow(null);
+ final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
+ ac.setAttemptedFlow(null);
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, AuthnEventIds.INVALID_AUTHN_CTX);
@@ -77,6 +81,7 @@ public class ValidateExternalAuthenticationTest extends BaseAuthenticationContex
@Test public void testNoCredentials() {
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.addSubcontext(new ExternalAuthenticationContext(ext), true);
final Event event = action.execute(src);
@@ -85,34 +90,39 @@ public class ValidateExternalAuthenticationTest extends BaseAuthenticationContex
@Test public void testPrincipalName() {
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
final ExternalAuthenticationContext eac =
(ExternalAuthenticationContext) ac.addSubcontext(new ExternalAuthenticationContext(ext), true);
eac.setPrincipalName("foo");
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertFalse(ac.getAuthenticationResult().isPreviousResult());
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(
+ final AuthenticationResult ar = ac.getAuthenticationResult();
+ assert ar != null;
+ Assert.assertFalse(ar.isPreviousResult());
+ Assert.assertEquals(ar.getSubject().getPrincipals(
UsernamePrincipal.class).iterator().next().getName(), "foo");
}
@Test public void testPrincipal() {
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
final ExternalAuthenticationContext eac =
(ExternalAuthenticationContext) ac.addSubcontext(new ExternalAuthenticationContext(ext), true);
eac.setPrincipal(new TestPrincipal("foo"));
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertFalse(ac.getAuthenticationResult().isPreviousResult());
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(
+ final AuthenticationResult ar = ac.getAuthenticationResult();
+ assert ar != null;
+ Assert.assertFalse(ar.isPreviousResult());
+ Assert.assertEquals(ar.getSubject().getPrincipals(
TestPrincipal.class).iterator().next().getName(), "foo");
}
@Test public void testSubject() {
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
final ExternalAuthenticationContext eac =
(ExternalAuthenticationContext) ac.addSubcontext(new ExternalAuthenticationContext(ext), true);
final Subject subject = new Subject();
@@ -121,14 +131,16 @@ public class ValidateExternalAuthenticationTest extends BaseAuthenticationContex
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertFalse(ac.getAuthenticationResult().isPreviousResult());
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(
+ final AuthenticationResult ar = ac.getAuthenticationResult();
+ assert ar != null;
+ Assert.assertFalse(ar.isPreviousResult());
+ Assert.assertEquals(ar.getSubject().getPrincipals(
TestPrincipal.class).iterator().next().getName(), "foo");
}
@Test public void testAuthnInstant() {
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
final ExternalAuthenticationContext eac =
(ExternalAuthenticationContext) ac.addSubcontext(new ExternalAuthenticationContext(ext), true);
eac.setPrincipalName("foo");
@@ -138,13 +150,15 @@ public class ValidateExternalAuthenticationTest extends BaseAuthenticationContex
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertTrue(ac.getAuthenticationResult().isPreviousResult());
- Assert.assertEquals(ts, ac.getAuthenticationResult().getAuthenticationInstant());
+ final AuthenticationResult ar = ac.getAuthenticationResult();
+ assert ar != null;
+ Assert.assertTrue(ar.isPreviousResult());
+ Assert.assertEquals(ts, ar.getAuthenticationInstant());
}
@Test public void testAuthnAuthorities() {
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
final ExternalAuthenticationContext eac =
(ExternalAuthenticationContext) ac.addSubcontext(new ExternalAuthenticationContext(ext), true);
eac.setPrincipalName("foo");
@@ -153,29 +167,32 @@ public class ValidateExternalAuthenticationTest extends BaseAuthenticationContex
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertTrue(ac.getAuthenticationResult().isPreviousResult());
+ final AuthenticationResult ar = ac.getAuthenticationResult();
+ assert ar != null;
+ Assert.assertTrue(ar.isPreviousResult());
final Set<ProxyAuthenticationPrincipal> prin =
- ac.getAuthenticationResult().getSubject().getPrincipals(ProxyAuthenticationPrincipal.class);
+ ar.getSubject().getPrincipals(ProxyAuthenticationPrincipal.class);
Assert.assertEquals(prin.size(), 1);
Assert.assertEquals(prin.iterator().next().getAuthorities(), Arrays.asList("foo", "bar", "baz"));
}
@Test public void testException() {
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
final ExternalAuthenticationContext eac =
(ExternalAuthenticationContext) ac.addSubcontext(new ExternalAuthenticationContext(ext), true);
eac.setAuthnException(new LoginException("foo"));
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, AuthnEventIds.AUTHN_EXCEPTION);
- Assert.assertNull(ac.getAuthenticationResult());
- Assert.assertNotNull(ac.getSubcontext(AuthenticationErrorContext.class));
- Assert.assertEquals(ac.getSubcontext(AuthenticationErrorContext.class).getExceptions().size(), 1);
+ final AuthenticationErrorContext aec = ac.getSubcontext(AuthenticationErrorContext.class);
+ assert aec != null;
+ Assert.assertEquals(aec.getExceptions().size(), 1);
}
@Test public void testError() {
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
final ExternalAuthenticationContext eac =
(ExternalAuthenticationContext) ac.addSubcontext(new ExternalAuthenticationContext(ext), true);
eac.setAuthnError("foo");
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateFunctionResultTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateFunctionResultTest.java
index abd1fa32c..9fa8b8560 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateFunctionResultTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateFunctionResultTest.java
@@ -21,6 +21,7 @@ import java.security.Principal;
import javax.security.auth.Subject;
+import net.shibboleth.idp.authn.AuthenticationResult;
import net.shibboleth.idp.authn.AuthnEventIds;
import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.authn.impl.testing.BaseAuthenticationContextTest;
@@ -45,14 +46,17 @@ public class ValidateFunctionResultTest extends BaseAuthenticationContextTest {
@BeforeMethod public void setUp() throws ComponentInitializationException {
super.setUp();
-
- prc.getSubcontext(AuthenticationContext.class).setAttemptedFlow(authenticationFlows.get(0));
+ final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
+ ac.setAttemptedFlow(authenticationFlows.get(0));
action = new ValidateFunctionResult();
}
@Test public void testMissingFlow() throws ComponentInitializationException {
- prc.getSubcontext(AuthenticationContext.class).setAttemptedFlow(null);
+ final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
+ ac.setAttemptedFlow(null);
action.setResultLookupStrategy(FunctionSupport.<ProfileRequestContext,Object>constant(null));
action.initialize();
@@ -87,9 +91,11 @@ public class ValidateFunctionResultTest extends BaseAuthenticationContextTest {
ActionTestingSupport.assertProceedEvent(event);
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertFalse(ac.getAuthenticationResult().isPreviousResult());
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(
+ assert ac != null;
+ final AuthenticationResult ar = ac.getAuthenticationResult();
+ assert ar != null;
+ Assert.assertFalse(ar.isPreviousResult());
+ Assert.assertEquals(ar.getSubject().getPrincipals(
UsernamePrincipal.class).iterator().next().getName(), "foo");
}
@@ -101,9 +107,11 @@ public class ValidateFunctionResultTest extends BaseAuthenticationContextTest {
ActionTestingSupport.assertProceedEvent(event);
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertFalse(ac.getAuthenticationResult().isPreviousResult());
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(
+ assert ac != null;
+ final AuthenticationResult ar = ac.getAuthenticationResult();
+ assert ar != null;
+ Assert.assertFalse(ar.isPreviousResult());
+ Assert.assertEquals(ar.getSubject().getPrincipals(
TestPrincipal.class).iterator().next().getName(), "foo");
}
@@ -118,9 +126,11 @@ public class ValidateFunctionResultTest extends BaseAuthenticationContextTest {
ActionTestingSupport.assertProceedEvent(event);
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertFalse(ac.getAuthenticationResult().isPreviousResult());
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(
+ assert ac != null;
+ final AuthenticationResult ar = ac.getAuthenticationResult();
+ assert ar != null;
+ Assert.assertFalse(ar.isPreviousResult());
+ Assert.assertEquals(ar.getSubject().getPrincipals(
TestPrincipal.class).iterator().next().getName(), "foo");
}
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateRemoteUserTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateRemoteUserTest.java
index 90cfe64ba..e399c4528 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateRemoteUserTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateRemoteUserTest.java
@@ -27,6 +27,7 @@ import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+import net.shibboleth.idp.authn.AuthenticationResult;
import net.shibboleth.idp.authn.AuthnEventIds;
import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.authn.impl.testing.BaseAuthenticationContextTest;
@@ -58,13 +59,16 @@ public class ValidateRemoteUserTest extends BaseAuthenticationContextTest {
}
@Test public void testMissingUser() {
- prc.getSubcontext(AuthenticationContext.class, false).setAttemptedFlow(authenticationFlows.get(0));
+ final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
+ ac.setAttemptedFlow(authenticationFlows.get(0));
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, AuthnEventIds.NO_CREDENTIALS);
}
@Test public void testMissingUser2() throws ComponentInitializationException {
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class, false);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
doExtract();
@@ -74,9 +78,10 @@ public class ValidateRemoteUserTest extends BaseAuthenticationContextTest {
}
@Test public void testUnauthorized() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).setRemoteUser("bam");
+ getMockHttpServletRequest(action).setRemoteUser("bam");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class, false);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
doExtract();
@@ -86,24 +91,27 @@ public class ValidateRemoteUserTest extends BaseAuthenticationContextTest {
}
@Test public void testAuthorized() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).setRemoteUser("baz");
+ getMockHttpServletRequest(action).setRemoteUser("baz");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class, false);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
doExtract();
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(
+ final AuthenticationResult ar = ac.getAuthenticationResult();
+ assert ar != null;
+ Assert.assertEquals(ar.getSubject().getPrincipals(
UsernamePrincipal.class).iterator().next().getName(), "baz");
}
@Test public void testDenyist() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).setRemoteUser("foo");
+ getMockHttpServletRequest(action).setRemoteUser("foo");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class, false);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
doExtract();
@@ -113,17 +121,19 @@ public class ValidateRemoteUserTest extends BaseAuthenticationContextTest {
}
@Test public void testPattern() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).setRemoteUser("ban");
+ getMockHttpServletRequest(action).setRemoteUser("ban");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class, false);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
doExtract();
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(
+ final AuthenticationResult ar = ac.getAuthenticationResult();
+ assert ar != null;
+ Assert.assertEquals(ar.getSubject().getPrincipals(
UsernamePrincipal.class).iterator().next().getName(), "ban");
}
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateUserAgentAddressTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateUserAgentAddressTest.java
index 62c62d7fa..909459f86 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateUserAgentAddressTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateUserAgentAddressTest.java
@@ -29,6 +29,7 @@ import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+import net.shibboleth.idp.authn.AuthenticationResult;
import net.shibboleth.idp.authn.AuthnEventIds;
import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.authn.context.RequestedPrincipalContext;
@@ -46,6 +47,8 @@ public class ValidateUserAgentAddressTest extends BaseAuthenticationContextTest
private ValidateUserAgentAddress action;
+ private Object nullObj;
+
@BeforeMethod public void setUp() throws ComponentInitializationException {
super.setUp();
@@ -64,15 +67,19 @@ public class ValidateUserAgentAddressTest extends BaseAuthenticationContextTest
}
@Test public void testMissingAddress() {
- prc.getSubcontext(AuthenticationContext.class, false).setAttemptedFlow(authenticationFlows.get(0));
+ final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
+ ac.setAttemptedFlow(authenticationFlows.get(0));
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, AuthnEventIds.NO_CREDENTIALS);
}
+ @SuppressWarnings("null")
@Test public void testMissingAddress2() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).setRemoteAddr(null);
+ getMockHttpServletRequest(action).setRemoteAddr((String) nullObj);
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class, false);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
doExtract();
@@ -83,6 +90,7 @@ public class ValidateUserAgentAddressTest extends BaseAuthenticationContextTest
@Test public void testUnauthorized() throws ComponentInitializationException {
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class, false);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
doExtract();
@@ -92,9 +100,10 @@ public class ValidateUserAgentAddressTest extends BaseAuthenticationContextTest
}
@Test public void testIncompatible() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).setRemoteAddr("192.168.1.1");
+ getMockHttpServletRequest(action).setRemoteAddr("192.168.1.1");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class, false);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
final RequestedPrincipalContext rpc = new RequestedPrincipalContext();
@@ -111,9 +120,10 @@ public class ValidateUserAgentAddressTest extends BaseAuthenticationContextTest
}
@Test public void testCompatible() throws ComponentInitializationException {
- ((MockHttpServletRequest) action.getHttpServletRequest()).setRemoteAddr("192.168.1.1");
+ getMockHttpServletRequest(action).setRemoteAddr("192.168.1.1");
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class, false);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
final RequestedPrincipalContext rpc = new RequestedPrincipalContext();
@@ -127,8 +137,9 @@ public class ValidateUserAgentAddressTest extends BaseAuthenticationContextTest
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(
+ final AuthenticationResult ar = ac.getAuthenticationResult();
+ assert ar != null;
+ Assert.assertEquals(ar.getSubject().getPrincipals(
UsernamePrincipal.class).iterator().next().getName(), "foo");
}
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/X500SubjectCanonicalizationTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/X500SubjectCanonicalizationTest.java
index f1d7b1cec..6ccc4bda2 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/X500SubjectCanonicalizationTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/X500SubjectCanonicalizationTest.java
@@ -56,107 +56,117 @@ public class X500SubjectCanonicalizationTest extends BaseAuthenticationContextTe
@Test public void testNoPrincipal() {
final Subject subject = new Subject();
- prc.getSubcontext(SubjectCanonicalizationContext.class, true).setSubject(subject);
+ prc.getOrCreateSubcontext(SubjectCanonicalizationContext.class).setSubject(subject);
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, AuthnEventIds.INVALID_SUBJECT);
- Assert.assertNotNull(prc.getSubcontext(SubjectCanonicalizationContext.class).getException());
+ final SubjectCanonicalizationContext scc = prc.getSubcontext(SubjectCanonicalizationContext.class);
+ assert scc != null;
+ Assert.assertNotNull(scc.getException());
}
@Test public void testMultiPrincipals() {
final Subject subject = new Subject();
subject.getPrincipals().add(new X500Principal("CN=foo"));
subject.getPrincipals().add(new X500Principal("CN=bar"));
- prc.getSubcontext(SubjectCanonicalizationContext.class, true).setSubject(subject);
+ prc.getOrCreateSubcontext(SubjectCanonicalizationContext.class).setSubject(subject);
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, AuthnEventIds.INVALID_SUBJECT);
- Assert.assertNotNull(prc.getSubcontext(SubjectCanonicalizationContext.class).getException());
+ final SubjectCanonicalizationContext scc = prc.getSubcontext(SubjectCanonicalizationContext.class);
+ assert scc != null;
+ Assert.assertNotNull(scc.getException());
}
@Test public void testNone() {
final Subject subject = new Subject();
subject.getPrincipals().add(new X500Principal("CN=foo at example.edu"));
- prc.getSubcontext(SubjectCanonicalizationContext.class, true).setSubject(subject);
+ prc.getOrCreateSubcontext(SubjectCanonicalizationContext.class).setSubject(subject);
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, AuthnEventIds.INVALID_SUBJECT);
final SubjectCanonicalizationContext sc = prc.getSubcontext(SubjectCanonicalizationContext.class);
- Assert.assertNull(sc.getPrincipalName());
+ assert sc!= null && sc.getPrincipalName() ==null;
}
@Test public void testSuccess() {
final Subject subject = new Subject();
subject.getPrincipals().add(new X500Principal("EMAILADDRESS=foo at example.edu"));
- prc.getSubcontext(SubjectCanonicalizationContext.class, true).setSubject(subject);
+ prc.getOrCreateSubcontext(SubjectCanonicalizationContext.class).setSubject(subject);
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
final SubjectCanonicalizationContext sc = prc.getSubcontext(SubjectCanonicalizationContext.class);
+ assert sc != null;
Assert.assertEquals(sc.getPrincipalName(), "foo at example.edu");
}
@Test public void testComplex() {
final Subject subject = new Subject();
subject.getPrincipals().add(new X500Principal("EMAILADDRESS=foo at example.edu\\, EMAILADDRESS=bar at example.edu"));
- prc.getSubcontext(SubjectCanonicalizationContext.class, true).setSubject(subject);
+ prc.getOrCreateSubcontext(SubjectCanonicalizationContext.class).setSubject(subject);
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
final SubjectCanonicalizationContext sc = prc.getSubcontext(SubjectCanonicalizationContext.class);
+ assert sc != null;
Assert.assertEquals(sc.getPrincipalName(), "foo at example.edu, EMAILADDRESS=bar at example.edu");
}
@Test public void testTransform() {
final Subject subject = new Subject();
subject.getPrincipals().add(new X500Principal("EMAILADDRESS=foo at osu.edu"));
- prc.getSubcontext(SubjectCanonicalizationContext.class, true).setSubject(subject);
+ prc.getOrCreateSubcontext(SubjectCanonicalizationContext.class).setSubject(subject);
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
final SubjectCanonicalizationContext sc = prc.getSubcontext(SubjectCanonicalizationContext.class);
+ assert sc != null;
Assert.assertEquals(sc.getPrincipalName(), "foo");
}
@Test public void testMultipleTypes() {
final Subject subject = new Subject();
subject.getPrincipals().add(new X500Principal("EMAILADDRESS=foo at example.edu, 0.9.2342.19200300.100.1.1=bar at example.edu"));
- prc.getSubcontext(SubjectCanonicalizationContext.class, true).setSubject(subject);
+ prc.getOrCreateSubcontext(SubjectCanonicalizationContext.class).setSubject(subject);
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
final SubjectCanonicalizationContext sc = prc.getSubcontext(SubjectCanonicalizationContext.class);
+ assert sc != null;
Assert.assertEquals(sc.getPrincipalName(), "foo at example.edu");
}
@Test public void testMultipleValues() {
final Subject subject = new Subject();
subject.getPrincipals().add(new X500Principal("EMAILADDRESS=foo at example.edu, EMAILADDRESS=bar at example.edu"));
- prc.getSubcontext(SubjectCanonicalizationContext.class, true).setSubject(subject);
+ prc.getOrCreateSubcontext(SubjectCanonicalizationContext.class).setSubject(subject);
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
final SubjectCanonicalizationContext sc = prc.getSubcontext(SubjectCanonicalizationContext.class);
+ assert sc != null;
Assert.assertEquals(sc.getPrincipalName(), "foo at example.edu");
}
@Test public void testSecondary() {
final Subject subject = new Subject();
subject.getPrincipals().add(new X500Principal("0.9.2342.19200300.100.1.1=bar at example.edu"));
- prc.getSubcontext(SubjectCanonicalizationContext.class, true).setSubject(subject);
+ prc.getOrCreateSubcontext(SubjectCanonicalizationContext.class).setSubject(subject);
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- final SubjectCanonicalizationContext sc = prc.getSubcontext(SubjectCanonicalizationContext.class);
- Assert.assertEquals(sc.getPrincipalName(), "bar at example.edu");
+ final SubjectCanonicalizationContext scc = prc.getSubcontext(SubjectCanonicalizationContext.class);
+ assert scc != null;
+ Assert.assertEquals(scc.getPrincipalName(), "bar at example.edu");
}
}
\ No newline at end of file
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/X509CertificateCredentialValidatorTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/X509CertificateCredentialValidatorTest.java
index 739f7ef11..a3671556e 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/X509CertificateCredentialValidatorTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/X509CertificateCredentialValidatorTest.java
@@ -22,6 +22,7 @@ import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.Collections;
+import javax.annotation.Nonnull;
import javax.security.auth.x500.X500Principal;
import org.opensaml.security.credential.CredentialResolver;
@@ -37,6 +38,9 @@ import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+import com.unboundid.util.NotNull;
+
+import net.shibboleth.idp.authn.AuthenticationResult;
import net.shibboleth.idp.authn.AuthnEventIds;
import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.authn.impl.testing.BaseAuthenticationContextTest;
@@ -47,7 +51,7 @@ import net.shibboleth.shared.testing.ConstantSupplier;
/** {@link X509CertificateCredentialValidator} unit test. */
public class X509CertificateCredentialValidatorTest extends BaseAuthenticationContextTest {
- private String entityCertBase64 =
+ @Nonnull final private String entityCertBase64 =
"MIIDjDCCAnSgAwIBAgIBKjANBgkqhkiG9w0BAQUFADAtMRIwEAYDVQQKEwlJbnRl" +
"cm5ldDIxFzAVBgNVBAMTDmNhLmV4YW1wbGUub3JnMB4XDTA3MDQwOTA2MTIwOVoX" +
"DTE3MDQwNjA2MTIwOVowMTESMBAGA1UEChMJSW50ZXJuZXQyMRswGQYDVQQDExJm" +
@@ -68,7 +72,7 @@ public class X509CertificateCredentialValidatorTest extends BaseAuthenticationCo
"uLdeRCZmi93vq1D4JVGsXC4UaHjg114+a+9q0XZdz6a1UW4pt1ryXIPotCS62M71" +
"pkJf5neHUinKAqgoRfPXowudZg1Zl8DjzoOBn+MNHRrR5KYbVGvdHcxoJLCwVB/v";
- private String otherCert1Base64 =
+ @NotNull final private String otherCert1Base64 =
"MIIECTCCAvGgAwIBAgIBMzANBgkqhkiG9w0BAQUFADAtMRIwEAYDVQQKEwlJbnRl" +
"cm5ldDIxFzAVBgNVBAMTDmNhLmV4YW1wbGUub3JnMB4XDTA3MDUyNTIwMTYxMVoX" +
"DTE3MDUyMjIwMTYxMVowGjEYMBYGA1UEAxMPaWRwLmV4YW1wbGUub3JnMIIBtjCC" +
@@ -114,7 +118,9 @@ public class X509CertificateCredentialValidatorTest extends BaseAuthenticationCo
}
@Test public void testMissingCert() throws ComponentInitializationException {
- prc.getSubcontext(AuthenticationContext.class).setAttemptedFlow(authenticationFlows.get(0));
+ AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
+ ac.setAttemptedFlow(authenticationFlows.get(0));
validator.initialize();
@@ -125,10 +131,11 @@ public class X509CertificateCredentialValidatorTest extends BaseAuthenticationCo
@Test public void testNoTrustEngine() throws ComponentInitializationException, CertificateException {
final X509Certificate entityCert = X509Support.decodeCertificate(entityCertBase64);
final X509Certificate[] certs = new X509Certificate[]{entityCert};
- ((MockHttpServletRequest) action.getHttpServletRequest()).setAttribute("jakarta.servlet.request.X509Certificate", certs);
+ getMockHttpServletRequest(action).setAttribute("jakarta.servlet.request.X509Certificate", certs);
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
validator.initialize();
@@ -137,33 +144,36 @@ public class X509CertificateCredentialValidatorTest extends BaseAuthenticationCo
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(
+ final AuthenticationResult ar = ac.getAuthenticationResult();
+ assert ar != null;
+ Assert.assertEquals(ar.getSubject().getPrincipals(
X500Principal.class).iterator().next().getName(), "CN=foobar.example.org,O=Internet2");
}
@Test public void testTrustEngineSuccess() throws ComponentInitializationException, CertificateException {
final X509Certificate entityCert = X509Support.decodeCertificate(entityCertBase64);
final X509Certificate[] certs = new X509Certificate[]{entityCert};
-
+ assert entityCert != null;
final CredentialResolver resolver = new StaticCredentialResolver(new BasicX509Credential(entityCert));
final TrustEngine<X509Credential> engine = new ExplicitX509CertificateTrustEngine(resolver);
validator.setTrustEngine(engine);
validator.initialize();
- ((MockHttpServletRequest) action.getHttpServletRequest()).setAttribute("jakarta.servlet.request.X509Certificate", certs);
+ getMockHttpServletRequest(action).setAttribute("jakarta.servlet.request.X509Certificate", certs);
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
doExtract();
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertNotNull(ac.getAuthenticationResult());
- Assert.assertEquals(ac.getAuthenticationResult().getSubject().getPrincipals(
+ final AuthenticationResult ar = ac.getAuthenticationResult();
+ assert ar != null;
+ Assert.assertEquals(ar.getSubject().getPrincipals(
X500Principal.class).iterator().next().getName(), "CN=foobar.example.org,O=Internet2");
}
@@ -172,6 +182,7 @@ public class X509CertificateCredentialValidatorTest extends BaseAuthenticationCo
final X509Certificate[] certs = new X509Certificate[]{entityCert};
final X509Certificate otherCert1 = X509Support.decodeCertificate(otherCert1Base64);
+ assert otherCert1 != null;
final CredentialResolver resolver = new StaticCredentialResolver(new BasicX509Credential(otherCert1));
final TrustEngine<X509Credential> engine = new ExplicitX509CertificateTrustEngine(resolver);
@@ -179,9 +190,10 @@ public class X509CertificateCredentialValidatorTest extends BaseAuthenticationCo
validator.setTrustEngine(engine);
validator.initialize();
- ((MockHttpServletRequest) action.getHttpServletRequest()).setAttribute("jakarta.servlet.request.X509Certificate", certs);
+ getMockHttpServletRequest(action).setAttribute("jakarta.servlet.request.X509Certificate", certs);
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(authenticationFlows.get(0));
doExtract();
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/testing/BaseAuthenticationContextTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/testing/BaseAuthenticationContextTest.java
index cecffb1ba..d55dfb4a1 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/testing/BaseAuthenticationContextTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/testing/BaseAuthenticationContextTest.java
@@ -17,6 +17,7 @@
package net.shibboleth.idp.authn.impl.testing;
+import net.shibboleth.idp.authn.AbstractAuthenticationAction;
import net.shibboleth.idp.authn.AuthenticationFlowDescriptor;
import net.shibboleth.idp.authn.context.AuthenticationContext;
import net.shibboleth.idp.authn.impl.PopulateAuthenticationContext;
@@ -27,10 +28,15 @@ import net.shibboleth.shared.logic.FunctionSupport;
import java.util.List;
+import javax.annotation.Nonnull;
+
import org.opensaml.core.testing.OpenSAMLInitBaseTestCase;
import org.opensaml.profile.context.ProfileRequestContext;
+import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.webflow.execution.RequestContext;
+import jakarta.servlet.http.HttpServletRequest;
+
/** Base class for further action tests. */
public class BaseAuthenticationContextTest extends OpenSAMLInitBaseTestCase {
@@ -55,6 +61,7 @@ public class BaseAuthenticationContextTest extends OpenSAMLInitBaseTestCase {
initializeMembers();
final PopulateAuthenticationContext action = new PopulateAuthenticationContext();
+ assert authenticationFlows!= null;
action.setAvailableFlows(authenticationFlows);
action.setPotentialFlowsLookupStrategy(FunctionSupport.constant(authenticationFlows));
action.initialize();
@@ -62,4 +69,11 @@ public class BaseAuthenticationContextTest extends OpenSAMLInitBaseTestCase {
action.execute(src);
}
+ @Nonnull protected final MockHttpServletRequest getMockHttpServletRequest(final AbstractAuthenticationAction action) {
+ assert action != null;
+ final HttpServletRequest req = action.getHttpServletRequest();
+ assert req != null;
+ return (MockHttpServletRequest)req;
+ }
+
}
\ No newline at end of file
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/principal/impl/X500PrincipalSerializerTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/principal/impl/X500PrincipalSerializerTest.java
index 40da72ed4..e49e82908 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/principal/impl/X500PrincipalSerializerTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/principal/impl/X500PrincipalSerializerTest.java
@@ -45,7 +45,7 @@ public class X500PrincipalSerializerTest {
final X500Principal p2 = serializer.deserialize(s);
Assert.assertEquals(p1, p2);
-
+ assert p2 != null;
Assert.assertEquals(p2.getName(), "DC=net,DC=shibboleth,CN=jdoe");
}
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/proxy/impl/ExtractDiscoveryResponseTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/proxy/impl/ExtractDiscoveryResponseTest.java
index b2c8f942e..a6db91893 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/proxy/impl/ExtractDiscoveryResponseTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/proxy/impl/ExtractDiscoveryResponseTest.java
@@ -51,22 +51,28 @@ public class ExtractDiscoveryResponseTest extends BaseAuthenticationContextTest
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, AuthnEventIds.NO_CREDENTIALS);
- Assert.assertNull(prc.getSubcontext(AuthenticationContext.class).getAuthenticatingAuthority());
+ final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
+ ac.getAuthenticatingAuthority();
}
@Test public void testFailure() {
final Event event = action.execute(src);
ActionTestingSupport.assertEvent(event, AuthnEventIds.NO_CREDENTIALS);
- Assert.assertNull(prc.getSubcontext(AuthenticationContext.class).getAuthenticatingAuthority());
+ final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
+ ac.getAuthenticatingAuthority();
}
@Test public void testSuccess() {
- ((MockHttpServletRequest) action.getHttpServletRequest()).addParameter("entityID", "foo");
+ getMockHttpServletRequest(action).addParameter("entityID", "foo");
final Event event = action.execute(src);
ActionTestingSupport.assertProceedEvent(event);
- Assert.assertEquals(prc.getSubcontext(AuthenticationContext.class).getAuthenticatingAuthority(), "foo");
+ final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
+ Assert.assertEquals(ac.getAuthenticatingAuthority(), "foo");
}
}
\ No newline at end of file
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/proxy/impl/InitializeProxyProfileRequestContextTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/proxy/impl/InitializeProxyProfileRequestContextTest.java
index 3fd991694..2d7763c35 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/proxy/impl/InitializeProxyProfileRequestContextTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/proxy/impl/InitializeProxyProfileRequestContextTest.java
@@ -56,10 +56,11 @@ public class InitializeProxyProfileRequestContextTest {
action.execute(prc);
ActionTestingSupport.assertProceedEvent(prc);
-
+ final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ assert ac != null;
final ProfileRequestContext prc2 =
- prc.getSubcontext(AuthenticationContext.class).getSubcontext(ProfileRequestContext.class);
- Assert.assertNotNull(prc2);
+ ac.getSubcontext(ProfileRequestContext.class);
+ assert prc2 != null;;
Assert.assertEquals(prc2.getProfileId(), "nested");
}
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/revocation/impl/AttributeRevocationConditionTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/revocation/impl/AttributeRevocationConditionTest.java
index 711d8b312..21af8cf89 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/revocation/impl/AttributeRevocationConditionTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/revocation/impl/AttributeRevocationConditionTest.java
@@ -23,6 +23,7 @@ import java.util.Collection;
import java.util.Collections;
import java.util.stream.Collectors;
+import javax.annotation.Nonnull;
import javax.security.auth.Subject;
import net.shibboleth.idp.attribute.IdPAttribute;
@@ -72,6 +73,7 @@ public class AttributeRevocationConditionTest extends BaseAuthenticationContextT
@Test public void testNotRevoked() {
final AuthenticationResult active = authenticationFlows.get(1).newAuthenticationResult(new Subject());
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
authCtx.setActiveResults(Arrays.asList(active));
Assert.assertTrue(active.test(prc));
@@ -80,6 +82,7 @@ public class AttributeRevocationConditionTest extends BaseAuthenticationContextT
@Test public void testRevoked() {
final AuthenticationResult active = authenticationFlows.get(1).newAuthenticationResult(new Subject());
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
authCtx.setActiveResults(Arrays.asList(active));
revocationsToResolve = Collections.singletonList(Instant.now().plusSeconds(3600));
@@ -90,6 +93,7 @@ public class AttributeRevocationConditionTest extends BaseAuthenticationContextT
@Test public void testPastRevoked() {
final AuthenticationResult active = authenticationFlows.get(1).newAuthenticationResult(new Subject());
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
authCtx.setActiveResults(Arrays.asList(active));
revocationsToResolve = Collections.singletonList(Instant.now().minusSeconds(3600));
@@ -131,10 +135,10 @@ public class AttributeRevocationConditionTest extends BaseAuthenticationContextT
}
/** {@inheritDoc} */
- public ServiceableComponent<AttributeResolver> getServiceableComponent() {
+ public @Nonnull ServiceableComponent<AttributeResolver> getServiceableComponent() {
return new ServiceableComponent<AttributeResolver>() {
- public AttributeResolver getComponent() {
+ public @Nonnull AttributeResolver getComponent() {
return new AttributeResolver() {
public String getId() {
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/revocation/impl/RevocationCacheConditionTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/revocation/impl/RevocationCacheConditionTest.java
index c7cfd2845..1426435b5 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/revocation/impl/RevocationCacheConditionTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/revocation/impl/RevocationCacheConditionTest.java
@@ -76,6 +76,7 @@ public class RevocationCacheConditionTest extends BaseAuthenticationContextTest
@Test public void testNotRevoked() {
final AuthenticationResult active = authenticationFlows.get(1).newAuthenticationResult(new Subject());
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
authCtx.setActiveResults(Arrays.asList(active));
Assert.assertTrue(active.test(prc));
@@ -84,6 +85,7 @@ public class RevocationCacheConditionTest extends BaseAuthenticationContextTest
@Test public void testRevoked() {
final AuthenticationResult active = authenticationFlows.get(1).newAuthenticationResult(new Subject());
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
authCtx.setActiveResults(Arrays.asList(active));
revocationCache.revoke(RevocationCacheCondition.REVOCATION_CONTEXT,
@@ -97,6 +99,7 @@ public class RevocationCacheConditionTest extends BaseAuthenticationContextTest
@Test public void testPastRevoked() {
final AuthenticationResult active = authenticationFlows.get(1).newAuthenticationResult(new Subject());
final AuthenticationContext authCtx = prc.getSubcontext(AuthenticationContext.class);
+ assert authCtx != null;
authCtx.setActiveResults(Arrays.asList(active));
revocationCache.revoke(RevocationCacheCondition.REVOCATION_CONTEXT,
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/spnego/impl/KerberosRealmSettingsTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/spnego/impl/KerberosRealmSettingsTest.java
index a01f94a3e..4afef1567 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/spnego/impl/KerberosRealmSettingsTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/spnego/impl/KerberosRealmSettingsTest.java
@@ -30,6 +30,8 @@ public class KerberosRealmSettingsTest {
protected static String KEYTAB = "/opt/kerberos/http_domainA.keytab";
protected static String PASSWORD = "secret";
+
+ private Object nullObj;
@BeforeMethod
public void setUp() throws Exception {
@@ -173,7 +175,7 @@ public class KerberosRealmSettingsTest {
// principal == null
try {
realm = new KerberosRealmSettings();
- realm.setServicePrincipal(null);
+ realm.setServicePrincipal((String) nullObj);
realm.setKeytab(KEYTAB);
realm.initialize();
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/spnego/impl/SPNEGOAuthnControllerTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/spnego/impl/SPNEGOAuthnControllerTest.java
index 058d1ea98..6cdc36c24 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/spnego/impl/SPNEGOAuthnControllerTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/spnego/impl/SPNEGOAuthnControllerTest.java
@@ -74,6 +74,7 @@ public class SPNEGOAuthnControllerTest {
private GSSContextAcceptor mockGSSContextAcceptor;
+ private Object nullObject;
@BeforeClass
public void init() throws EncodingException {
@@ -97,16 +98,18 @@ public class SPNEGOAuthnControllerTest {
mockGSSContextAcceptor = mock(GSSContextAcceptor.class);
}
+ @SuppressWarnings("null")
@Test(expectedExceptions = {ExternalAuthenticationException.class})
public void withoutConversationKeyParameter_startSPNEGO_shouldThrowExternalAuthenticationException() throws Exception {
controller.startSPNEGO(TEST_CONVERSATION_KEY,
- (HttpServletRequest) buildConversationRequestContext(null).getExternalContext().getNativeRequest(), null);
+ (HttpServletRequest) buildConversationRequestContext(null).getExternalContext().getNativeRequest(), (HttpServletResponse) nullObject);
}
+ @SuppressWarnings("null")
@Test(expectedExceptions = ExternalAuthenticationException.class)
public void givenMismatchedKeys_startSPNEGO_shouldThrowExternalAuthenticationException() throws Exception {
controller.startSPNEGO("e1s2",
- (HttpServletRequest) buildConversationRequestContext(TEST_CONVERSATION_KEY).getExternalContext().getNativeRequest(), null);
+ (HttpServletRequest) buildConversationRequestContext(TEST_CONVERSATION_KEY).getExternalContext().getNativeRequest(), (HttpServletResponse) nullObject);
}
@Test(expectedExceptions = ExternalAuthenticationException.class)
@@ -133,6 +136,7 @@ public class SPNEGOAuthnControllerTest {
(ProfileRequestContext) req.getConversationScope().get(ProfileRequestContext.BINDING_KEY);
final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
SPNEGOContext sc = new SPNEGOContext();
+ assert ac != null;
ac.addSubcontext(sc);
ModelAndView mv = controller.startSPNEGO(TEST_CONVERSATION_KEY,
(MockHttpServletRequest) req.getExternalContext().getNativeRequest(),
@@ -425,13 +429,14 @@ public class SPNEGOAuthnControllerTest {
private ProfileRequestContext buildKerberosProfileRequestContext(RequestContext rc) {
ProfileRequestContext prc = (ProfileRequestContext) rc.getConversationScope().get(ProfileRequestContext.BINDING_KEY);
- AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
+ final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class);
SPNEGOContext sc = new SPNEGOContext();
KerberosSettings ks = new KerberosSettings();
List<KerberosRealmSettings> realms = new ArrayList<>();
realms.add(new KerberosRealmSettings());
ks.setRealms(realms);
sc.setKerberosSettings(ks);
+ assert ac != null;
ac.addSubcontext(sc);
return prc;
}
@@ -447,7 +452,8 @@ public class SPNEGOAuthnControllerTest {
(ProfileRequestContext) rc.getConversationScope().get(ProfileRequestContext.BINDING_KEY);
((MockServletContext) rc.getExternalContext().getNativeContext()).setAttribute(ExternalAuthentication.SWF_KEY, prc);
- final AuthenticationContext ac = prc.getSubcontext(AuthenticationContext.class, true);
+ final AuthenticationContext ac = prc.getOrCreateSubcontext(AuthenticationContext.class);
+ assert ac != null;
ac.setAttemptedFlow(new AuthenticationFlowDescriptor());
final ExternalAuthenticationContext eac = (ExternalAuthenticationContext) ac.addSubcontext(
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/spnego/impl/SPNEGOAutoLoginManagerTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/spnego/impl/SPNEGOAutoLoginManagerTest.java
index 873b346e3..838d189b0 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/spnego/impl/SPNEGOAutoLoginManagerTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/spnego/impl/SPNEGOAutoLoginManagerTest.java
@@ -71,7 +71,7 @@ public class SPNEGOAutoLoginManagerTest {
autoLoginManager.enable();
Cookie cookie = res.getCookie("spnego_autologin");
- Assert.assertNotNull(cookie);
+ assert cookie != null;
Assert.assertEquals(cookie.getValue(), SPNEGOAutoLoginManager.AUTOLOGIN_COOKIE_VALUE_TRUE);
}
@@ -83,7 +83,7 @@ public class SPNEGOAutoLoginManagerTest {
autoLoginManager.disable();
Cookie cookie = res.getCookie("spnego_autologin");
- Assert.assertNotNull(cookie);
+ assert cookie != null;
Assert.assertNull(cookie.getValue());
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list