[java-identity-provider] branch main updated: IDP-2069 Null handling
Rod Widdowson
rdw at steadingsoftware.com
Mon Feb 27 09:21:32 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=9e70d65c2d40ae4cc078e58843f96c915a9b04e0
The following commit(s) were added to refs/heads/main by this push:
new 9e70d65c2 IDP-2069 Null handling
9e70d65c2 is described below
commit 9e70d65c2d40ae4cc078e58843f96c915a9b04e0
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Mon Feb 27 09:21:26 2023 +0000
IDP-2069 Null handling
https://shibboleth.atlassian.net/browse/IDP-2069
Cleanup idp-cas-impl tests
---
.../impl/CASDateTimeAttributeTranscoderTest.java | 30 ++++++++++------
.../CASScopedStringAttributeTranscoderTest.java | 35 ++++++++++++-------
.../impl/CASStringAttributeTranscoderTest.java | 40 ++++++++++++++--------
.../idp/cas/flow/impl/AbstractFlowActionTest.java | 23 +++++++------
.../cas/flow/impl/BuildProxyChainActionTest.java | 17 +++++----
.../impl/BuildSAMLMetadataContextActionTest.java | 24 ++++++++-----
.../impl/CheckProxyAuthorizationActionTest.java | 5 ++-
.../cas/flow/impl/GrantProxyTicketActionTest.java | 9 ++---
.../flow/impl/GrantServiceTicketActionTest.java | 8 +++--
.../idp/cas/flow/impl/TestContextBuilder.java | 24 +++++++------
.../flow/impl/ValidateProxyCallbackActionTest.java | 19 ++++++----
.../idp/cas/flow/impl/ValidateRenewActionTest.java | 10 ++++--
.../cas/flow/impl/ValidateTicketActionTest.java | 32 ++++++++++++-----
.../service/impl/MetadataServiceRegistryTest.java | 24 ++++++++-----
.../cas/ticket/impl/EncodingTicketServiceTest.java | 33 ++++++++++++------
.../cas/ticket/impl/SimpleTicketServiceTest.java | 27 ++++++++++-----
16 files changed, 234 insertions(+), 126 deletions(-)
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASDateTimeAttributeTranscoderTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASDateTimeAttributeTranscoderTest.java
index 4b569ea08..dfe94e1e9 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASDateTimeAttributeTranscoderTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASDateTimeAttributeTranscoderTest.java
@@ -24,6 +24,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import javax.annotation.Nonnull;
+
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
@@ -42,6 +44,7 @@ import net.shibboleth.idp.attribute.transcoding.impl.AttributeTranscoderRegistry
import net.shibboleth.idp.cas.attribute.AbstractCASAttributeTranscoder;
import net.shibboleth.idp.cas.attribute.Attribute;
import net.shibboleth.idp.cas.attribute.CASAttributeTranscoder;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.testing.MockApplicationContext;
@@ -72,7 +75,7 @@ public class CASDateTimeAttributeTranscoderTest {
ruleset1.put(AttributeTranscoderRegistry.PROP_TRANSCODER, transcoder);
ruleset1.put(CASAttributeTranscoder.PROP_NAME, ATTR_NAME);
- registry.setTranscoderRegistry(Collections.singletonList(new TranscodingRule(ruleset1)));
+ registry.setTranscoderRegistry(CollectionSupport.singletonList(new TranscodingRule(ruleset1)));
registry.setApplicationContext(new MockApplicationContext());
registry.initialize();
}
@@ -88,10 +91,10 @@ public class CASDateTimeAttributeTranscoderTest {
final Collection<TranscodingRule> rulesets = registry.getTranscodingRules(inputAttribute, Attribute.class);
Assert.assertEquals(rulesets.size(), 1);
final TranscodingRule ruleset = rulesets.iterator().next();
-
+ assert ruleset != null;
final Attribute attr = TranscoderSupport.<Attribute>getTranscoder(ruleset).encode(
null, inputAttribute, Attribute.class, ruleset);
- Assert.assertNotNull(attr);
+ assert attr != null;
Assert.assertEquals(attr.getName(), ATTR_NAME);
Assert.assertTrue(attr.getValues().isEmpty());
}
@@ -103,10 +106,10 @@ public class CASDateTimeAttributeTranscoderTest {
final Collection<TranscodingRule> rulesets = registry.getTranscodingRules(casAttribute);
Assert.assertEquals(rulesets.size(), 1);
final TranscodingRule ruleset = rulesets.iterator().next();
+ assert ruleset != null;
final IdPAttribute attr = TranscoderSupport.getTranscoder(ruleset).decode(null, casAttribute, ruleset);
-
- Assert.assertNotNull(attr);
+ assert attr != null;
Assert.assertEquals(attr.getId(), ATTR_ID);
Assert.assertTrue(attr.getValues().isEmpty());
}
@@ -116,12 +119,14 @@ public class CASDateTimeAttributeTranscoderTest {
final List<IdPAttributeValue> values =
List.of(new ByteAttributeValue(new byte[] {1, 2, 3,}), new IdPAttributeValue() {
@Override
- public Object getNativeValue() {
+ public @Nonnull Object getNativeValue() {
return intArray;
}
@Override
- public String getDisplayValue() {
- return intArray.toString();
+ public @Nonnull String getDisplayValue() {
+ final String result = intArray.toString();
+ assert result != null;
+ return result;
}
});
@@ -131,7 +136,8 @@ public class CASDateTimeAttributeTranscoderTest {
final Collection<TranscodingRule> rulesets = registry.getTranscodingRules(inputAttribute, Attribute.class);
Assert.assertEquals(rulesets.size(), 1);
final TranscodingRule ruleset = rulesets.iterator().next();
-
+ assert ruleset != null;
+
TranscoderSupport.getTranscoder(ruleset).encode(null, inputAttribute, Attribute.class, ruleset);
}
@@ -145,11 +151,12 @@ public class CASDateTimeAttributeTranscoderTest {
final Collection<TranscodingRule> rulesets = registry.getTranscodingRules(inputAttribute, Attribute.class);
Assert.assertEquals(rulesets.size(), 1);
final TranscodingRule ruleset = rulesets.iterator().next();
+ assert ruleset != null;
final Attribute attr = TranscoderSupport.<Attribute>getTranscoder(ruleset).encode(
null, inputAttribute, Attribute.class, ruleset);
- Assert.assertNotNull(attr);
+ assert attr != null;
Assert.assertEquals(attr.getName(), ATTR_NAME);
final Collection<String> children = attr.getValues();
@@ -169,10 +176,11 @@ public class CASDateTimeAttributeTranscoderTest {
final Collection<TranscodingRule> rulesets = registry.getTranscodingRules(casAttribute);
Assert.assertEquals(rulesets.size(), 1);
final TranscodingRule ruleset = rulesets.iterator().next();
+ assert ruleset != null;
final IdPAttribute attr = TranscoderSupport.getTranscoder(ruleset).decode(null, casAttribute, ruleset);
- Assert.assertNotNull(attr);
+ assert attr != null;
Assert.assertEquals(attr.getId(), ATTR_ID);
Assert.assertEquals(attr.getValues().size(), 1);
Assert.assertEquals(((DateTimeAttributeValue)attr.getValues().get(0)).getValue(),
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASScopedStringAttributeTranscoderTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASScopedStringAttributeTranscoderTest.java
index 73d9ed3fc..5b1f39a94 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASScopedStringAttributeTranscoderTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASScopedStringAttributeTranscoderTest.java
@@ -25,6 +25,8 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import javax.annotation.Nonnull;
+
import net.shibboleth.idp.attribute.AttributeEncodingException;
import net.shibboleth.idp.attribute.ByteAttributeValue;
import net.shibboleth.idp.attribute.IdPAttribute;
@@ -39,6 +41,7 @@ import net.shibboleth.idp.attribute.transcoding.impl.AttributeTranscoderRegistry
import net.shibboleth.idp.cas.attribute.AbstractCASAttributeTranscoder;
import net.shibboleth.idp.cas.attribute.Attribute;
import net.shibboleth.idp.cas.attribute.CASAttributeTranscoder;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.testing.MockApplicationContext;
@@ -78,7 +81,7 @@ public class CASScopedStringAttributeTranscoderTest {
ruleset1.put(CASAttributeTranscoder.PROP_NAME, ATTR_NAME);
ruleset1.put(CASScopedStringAttributeTranscoder.PROP_SCOPE_DELIMITER, DELIMITER);
- registry.setTranscoderRegistry(Collections.singletonList(new TranscodingRule(ruleset1)));
+ registry.setTranscoderRegistry(CollectionSupport.singletonList(new TranscodingRule(ruleset1)));
registry.setApplicationContext(new MockApplicationContext());
registry.initialize();
}
@@ -94,10 +97,11 @@ public class CASScopedStringAttributeTranscoderTest {
final Collection<TranscodingRule> rulesets = registry.getTranscodingRules(inputAttribute, Attribute.class);
Assert.assertEquals(rulesets.size(), 1);
final TranscodingRule ruleset = rulesets.iterator().next();
-
+ assert ruleset != null;
+
final Attribute attr = TranscoderSupport.<Attribute>getTranscoder(ruleset).encode(
null, inputAttribute, Attribute.class, ruleset);
- Assert.assertNotNull(attr);
+ assert attr != null;
Assert.assertEquals(attr.getName(), ATTR_NAME);
Assert.assertTrue(attr.getValues().isEmpty());
}
@@ -109,10 +113,11 @@ public class CASScopedStringAttributeTranscoderTest {
final Collection<TranscodingRule> rulesets = registry.getTranscodingRules(casAttribute);
Assert.assertEquals(rulesets.size(), 1);
final TranscodingRule ruleset = rulesets.iterator().next();
+ assert ruleset != null;
final IdPAttribute attr = TranscoderSupport.getTranscoder(ruleset).decode(null, casAttribute, ruleset);
- Assert.assertNotNull(attr);
+ assert attr != null;
Assert.assertEquals(attr.getId(), ATTR_ID);
Assert.assertTrue(attr.getValues().isEmpty());
}
@@ -122,12 +127,14 @@ public class CASScopedStringAttributeTranscoderTest {
final List<IdPAttributeValue> values =
Arrays.asList(new ByteAttributeValue(new byte[] {1, 2, 3,}), new IdPAttributeValue() {
@Override
- public Object getNativeValue() {
+ public @Nonnull Object getNativeValue() {
return intArray;
}
@Override
- public String getDisplayValue() {
- return intArray.toString();
+ public @Nonnull String getDisplayValue() {
+ final String result = intArray.toString();
+ assert result != null;
+ return result;
}
});
@@ -154,11 +161,12 @@ public class CASScopedStringAttributeTranscoderTest {
final Collection<TranscodingRule> rulesets = registry.getTranscodingRules(inputAttribute, Attribute.class);
Assert.assertEquals(rulesets.size(), 1);
final TranscodingRule ruleset = rulesets.iterator().next();
+ assert ruleset != null;
final Attribute attr = TranscoderSupport.<Attribute>getTranscoder(ruleset).encode(
null, inputAttribute, Attribute.class, ruleset);
- Assert.assertNotNull(attr);
+ assert attr != null;
Assert.assertEquals(attr.getName(), ATTR_NAME);
final Collection<String> children = attr.getValues();
@@ -178,10 +186,11 @@ public class CASScopedStringAttributeTranscoderTest {
final Collection<TranscodingRule> rulesets = registry.getTranscodingRules(casAttribute);
Assert.assertEquals(rulesets.size(), 1);
final TranscodingRule ruleset = rulesets.iterator().next();
+ assert ruleset != null;
final IdPAttribute attr = TranscoderSupport.getTranscoder(ruleset).decode(null, casAttribute, ruleset);
- Assert.assertNotNull(attr);
+ assert attr != null;
Assert.assertEquals(attr.getId(), ATTR_ID);
Assert.assertEquals(attr.getValues().size(), 1);
@@ -202,11 +211,12 @@ public class CASScopedStringAttributeTranscoderTest {
final Collection<TranscodingRule> rulesets = registry.getTranscodingRules(inputAttribute, Attribute.class);
Assert.assertEquals(rulesets.size(), 1);
final TranscodingRule ruleset = rulesets.iterator().next();
+ assert ruleset != null;
final Attribute attr = TranscoderSupport.<Attribute>getTranscoder(ruleset).encode(
null, inputAttribute, Attribute.class, ruleset);
- Assert.assertNotNull(attr);
+ assert attr != null;
Assert.assertEquals(attr.getName(), ATTR_NAME);
final Collection<String> children = attr.getValues();
@@ -234,10 +244,11 @@ public class CASScopedStringAttributeTranscoderTest {
final Collection<TranscodingRule> rulesets = registry.getTranscodingRules(casAttribute);
Assert.assertEquals(rulesets.size(), 1);
final TranscodingRule ruleset = rulesets.iterator().next();
-
+ assert ruleset != null;
+
final IdPAttribute attr = TranscoderSupport.getTranscoder(ruleset).decode(null, casAttribute, ruleset);
- Assert.assertNotNull(attr);
+ assert attr != null;
Assert.assertEquals(attr.getId(), ATTR_ID);
Assert.assertEquals(attr.getValues().size(), 2);
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASStringAttributeTranscoderTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASStringAttributeTranscoderTest.java
index f45816f44..e941bc8b0 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASStringAttributeTranscoderTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/attribute/transcoding/impl/CASStringAttributeTranscoderTest.java
@@ -24,6 +24,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import javax.annotation.Nonnull;
+
import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
@@ -43,6 +45,7 @@ import net.shibboleth.idp.attribute.transcoding.impl.AttributeTranscoderRegistry
import net.shibboleth.idp.cas.attribute.AbstractCASAttributeTranscoder;
import net.shibboleth.idp.cas.attribute.Attribute;
import net.shibboleth.idp.cas.attribute.CASAttributeTranscoder;
+import net.shibboleth.shared.collection.CollectionSupport;
import net.shibboleth.shared.component.ComponentInitializationException;
import net.shibboleth.shared.testing.MockApplicationContext;
@@ -73,7 +76,7 @@ public class CASStringAttributeTranscoderTest {
ruleset1.put(AttributeTranscoderRegistry.PROP_TRANSCODER, transcoder);
ruleset1.put(CASAttributeTranscoder.PROP_NAME, ATTR_NAME);
- registry.setTranscoderRegistry(Collections.singletonList(new TranscodingRule(ruleset1)));
+ registry.setTranscoderRegistry(CollectionSupport.singletonList(new TranscodingRule(ruleset1)));
registry.setApplicationContext(new MockApplicationContext());
registry.initialize();
}
@@ -89,10 +92,11 @@ public class CASStringAttributeTranscoderTest {
final Collection<TranscodingRule> rulesets = registry.getTranscodingRules(inputAttribute, Attribute.class);
Assert.assertEquals(rulesets.size(), 1);
final TranscodingRule ruleset = rulesets.iterator().next();
-
+ assert ruleset != null;
+
final Attribute attr = TranscoderSupport.<Attribute>getTranscoder(ruleset).encode(
null, inputAttribute, Attribute.class, ruleset);
- Assert.assertNotNull(attr);
+ assert attr!= null;
Assert.assertEquals(attr.getName(), ATTR_NAME);
Assert.assertTrue(attr.getValues().isEmpty());
}
@@ -107,7 +111,7 @@ public class CASStringAttributeTranscoderTest {
final IdPAttribute attr = TranscoderSupport.getTranscoder(ruleset).decode(null, casAttribute, ruleset);
- Assert.assertNotNull(attr);
+ assert attr!= null;
Assert.assertEquals(attr.getId(), ATTR_ID);
Assert.assertTrue(attr.getValues().isEmpty());
}
@@ -117,12 +121,14 @@ public class CASStringAttributeTranscoderTest {
final List<IdPAttributeValue> values =
Arrays.asList(new ByteAttributeValue(new byte[] {1, 2, 3,}), new IdPAttributeValue() {
@Override
- public Object getNativeValue() {
+ public @Nonnull Object getNativeValue() {
return intArray;
}
@Override
- public String getDisplayValue() {
- return intArray.toString();
+ public @Nonnull String getDisplayValue() {
+ final String result = intArray.toString();
+ assert result!= null;
+ return result;
}
});
@@ -132,7 +138,8 @@ public class CASStringAttributeTranscoderTest {
final Collection<TranscodingRule> rulesets = registry.getTranscodingRules(inputAttribute, Attribute.class);
Assert.assertEquals(rulesets.size(), 1);
final TranscodingRule ruleset = rulesets.iterator().next();
-
+ assert ruleset != null;
+
TranscoderSupport.getTranscoder(ruleset).encode(null, inputAttribute, Attribute.class, ruleset);
}
@@ -146,11 +153,12 @@ public class CASStringAttributeTranscoderTest {
final Collection<TranscodingRule> rulesets = registry.getTranscodingRules(inputAttribute, Attribute.class);
Assert.assertEquals(rulesets.size(), 1);
final TranscodingRule ruleset = rulesets.iterator().next();
-
+ assert ruleset != null;
+
final Attribute attr = TranscoderSupport.<Attribute>getTranscoder(ruleset).encode(
null, inputAttribute, Attribute.class, ruleset);
- Assert.assertNotNull(attr);
+ assert attr!= null;
Assert.assertEquals(attr.getName(), ATTR_NAME);
final Collection<String> children = attr.getValues();
@@ -170,10 +178,11 @@ public class CASStringAttributeTranscoderTest {
final Collection<TranscodingRule> rulesets = registry.getTranscodingRules(casAttribute);
Assert.assertEquals(rulesets.size(), 1);
final TranscodingRule ruleset = rulesets.iterator().next();
-
+ assert ruleset != null;
+
final IdPAttribute attr = TranscoderSupport.getTranscoder(ruleset).decode(null, casAttribute, ruleset);
- Assert.assertNotNull(attr);
+ assert attr!= null;
Assert.assertEquals(attr.getId(), ATTR_ID);
Assert.assertEquals(attr.getValues().size(), 1);
Assert.assertEquals(((StringAttributeValue)attr.getValues().get(0)).getValue().toString(), STRING_1);
@@ -196,7 +205,7 @@ public class CASStringAttributeTranscoderTest {
final Attribute attr = TranscoderSupport.<Attribute>getTranscoder(ruleset).encode(
null, inputAttribute, Attribute.class, ruleset);
- Assert.assertNotNull(attr);
+ assert attr!= null;
Assert.assertEquals(attr.getName(), ATTR_NAME);
final Collection<String> children = attr.getValues();
@@ -216,10 +225,11 @@ public class CASStringAttributeTranscoderTest {
final Collection<TranscodingRule> rulesets = registry.getTranscodingRules(casAttribute);
Assert.assertEquals(rulesets.size(), 1);
final TranscodingRule ruleset = rulesets.iterator().next();
-
+ assert ruleset != null;
+
final IdPAttribute attr = TranscoderSupport.getTranscoder(ruleset).decode(null, casAttribute, ruleset);
- Assert.assertNotNull(attr);
+ assert attr!= null;
Assert.assertEquals(attr.getId(), ATTR_ID);
Assert.assertEquals(attr.getValues().size(), 2);
Assert.assertEquals(((StringAttributeValue)attr.getValues().get(0)).getValue().toString(), STRING_1);
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/AbstractFlowActionTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/AbstractFlowActionTest.java
index fdb5615f2..8afc9b648 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/AbstractFlowActionTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/AbstractFlowActionTest.java
@@ -23,6 +23,7 @@ import java.time.Instant;
import java.util.Arrays;
import java.util.HashSet;
+import javax.annotation.Nonnull;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import net.shibboleth.idp.authn.AuthenticationResult;
@@ -102,36 +103,36 @@ public abstract class AbstractFlowActionTest extends AbstractTestNGSpringContext
return mockSession;
}
- protected static Instant expiry() {
+ @Nonnull protected static Instant expiry() {
return Instant.now().plusSeconds(30);
}
- protected String generateServiceTicketId() {
+ @Nonnull protected String generateServiceTicketId() {
return serviceTicketGenerator.generateIdentifier();
}
- protected String generateProxyTicketId() {
+ @Nonnull protected String generateProxyTicketId() {
return proxyTicketGenerator.generateIdentifier();
}
- protected String generateProxyGrantingTicketId() {
+ @Nonnull protected String generateProxyGrantingTicketId() {
return proxyGrantingTicketGenerator.generateIdentifier();
}
- protected ServiceTicket createServiceTicket(final String service, final boolean renew) {
+ @Nonnull protected ServiceTicket createServiceTicket(@Nonnull final String service, final boolean renew) {
final TicketState state = new TicketState(TEST_SESSION_ID, TEST_PRINCIPAL_NAME, Instant.now(), "Password");
return ticketService.createServiceTicket(generateServiceTicketId(), expiry(), service, state, renew);
}
- protected ProxyTicket createProxyTicket(final ProxyGrantingTicket pgt, final String service) {
+ @Nonnull protected ProxyTicket createProxyTicket(@Nonnull final ProxyGrantingTicket pgt, @Nonnull final String service) {
return ticketService.createProxyTicket(generateProxyTicketId(), expiry(), pgt, service);
- }
+ }
- protected ProxyGrantingTicket createProxyGrantingTicket(final ServiceTicket st, final String pgtUrl) {
+ @Nonnull protected ProxyGrantingTicket createProxyGrantingTicket(@Nonnull final ServiceTicket st, @Nonnull final String pgtUrl) {
return ticketService.createProxyGrantingTicket(generateProxyGrantingTicketId(), expiry(), st, pgtUrl);
}
- protected ProxyGrantingTicket createProxyGrantingTicket(final ProxyTicket pt, final String pgtUrl) {
+ @Nonnull protected ProxyGrantingTicket createProxyGrantingTicket(@Nonnull final ProxyTicket pt, @Nonnull final String pgtUrl) {
return ticketService.createProxyGrantingTicket(generateProxyGrantingTicketId(), expiry(), pt, pgtUrl);
}
@@ -162,12 +163,12 @@ public abstract class AbstractFlowActionTest extends AbstractTestNGSpringContext
}
/** {@inheritDoc} */
- public Pair<String, SecretKey> getDefaultKey() throws KeyException {
+ public @Nonnull Pair<String, SecretKey> getDefaultKey() throws KeyException {
return new Pair<>("default", key);
}
/** {@inheritDoc} */
- public SecretKey getKey(final String s) throws KeyException {
+ public @Nonnull SecretKey getKey(final @Nonnull String s) throws KeyException {
return key;
}
}
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/BuildProxyChainActionTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/BuildProxyChainActionTest.java
index 6218347f6..e9ba885be 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/BuildProxyChainActionTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/BuildProxyChainActionTest.java
@@ -17,6 +17,14 @@
package net.shibboleth.idp.cas.flow.impl;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNull;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.webflow.execution.Event;
+import org.springframework.webflow.execution.RequestContext;
+import org.testng.annotations.Test;
+
import net.shibboleth.idp.cas.config.ProxyConfiguration;
import net.shibboleth.idp.cas.protocol.ProtocolError;
import net.shibboleth.idp.cas.protocol.TicketValidationRequest;
@@ -24,11 +32,6 @@ import net.shibboleth.idp.cas.protocol.TicketValidationResponse;
import net.shibboleth.idp.cas.ticket.ProxyGrantingTicket;
import net.shibboleth.idp.cas.ticket.ProxyTicket;
import net.shibboleth.idp.cas.ticket.ServiceTicket;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.webflow.execution.RequestContext;
-import org.testng.annotations.Test;
-
-import static org.testng.Assert.*;
/**
* Unit test for {@link BuildProxyChainAction}.
@@ -87,6 +90,8 @@ public class BuildProxyChainActionTest extends AbstractFlowActionTest {
.addProtocolContext(request, response)
.addTicketContext(ptC)
.build();
- assertEquals(action.execute(context).getId(), ProtocolError.BrokenProxyChain.name());
+ final Event event = action.execute(context);
+ assert event != null;
+ assertEquals(event.getId(), ProtocolError.BrokenProxyChain.name());
}
}
\ No newline at end of file
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/BuildSAMLMetadataContextActionTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/BuildSAMLMetadataContextActionTest.java
index 5ff5f06ff..7bc90cebb 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/BuildSAMLMetadataContextActionTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/BuildSAMLMetadataContextActionTest.java
@@ -17,21 +17,25 @@
package net.shibboleth.idp.cas.flow.impl;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertNull;
+import static org.testng.Assert.assertTrue;
+
import java.util.List;
import java.util.function.Function;
-import net.shibboleth.idp.cas.config.LoginConfiguration;
-import net.shibboleth.idp.cas.service.Service;
-import net.shibboleth.saml.profile.context.navigate.SAMLMetadataContextLookupFunction;
-
import org.opensaml.profile.context.ProfileRequestContext;
import org.opensaml.saml.common.messaging.context.SAMLMetadataContext;
import org.opensaml.saml.metadata.EntityGroupName;
+import org.opensaml.saml.saml2.metadata.EntityDescriptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.webflow.execution.RequestContext;
import org.testng.annotations.Test;
-import static org.testng.Assert.*;
+import net.shibboleth.idp.cas.config.LoginConfiguration;
+import net.shibboleth.idp.cas.service.Service;
+import net.shibboleth.saml.profile.context.navigate.SAMLMetadataContextLookupFunction;
/**
* Unit test for {@link BuildSAMLMetadataContextAction}.
@@ -56,7 +60,9 @@ public class BuildSAMLMetadataContextActionTest extends AbstractFlowActionTest {
assertNull(action.execute(context));
final SAMLMetadataContext mdc = mdLookupFunction.apply(getProfileContext(context));
assertNotNull(mdc);
- final List<EntityGroupName> groups = mdc.getEntityDescriptor().getObjectMetadata().get(EntityGroupName.class);
+ final EntityDescriptor ed = mdc.getEntityDescriptor();
+ assert ed != null;
+ final List<EntityGroupName> groups = ed.getObjectMetadata().get(EntityGroupName.class);
assertEquals(groups.size(), 1);
assertEquals(groups.get(0).getName(), service.getGroup());
}
@@ -70,8 +76,10 @@ public class BuildSAMLMetadataContextActionTest extends AbstractFlowActionTest {
.build();
assertNull(action.execute(context));
final SAMLMetadataContext mdc = mdLookupFunction.apply(getProfileContext(context));
- assertNotNull(mdc);
- final List<EntityGroupName> groups = mdc.getEntityDescriptor().getObjectMetadata().get(EntityGroupName.class);
+ assert mdc!=null;;
+ final EntityDescriptor ed = mdc.getEntityDescriptor();
+ assert ed != null;
+ final List<EntityGroupName> groups = ed.getObjectMetadata().get(EntityGroupName.class);
assertTrue(groups.isEmpty());
}
}
\ No newline at end of file
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/CheckProxyAuthorizationActionTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/CheckProxyAuthorizationActionTest.java
index 638dfbd56..a7e436086 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/CheckProxyAuthorizationActionTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/CheckProxyAuthorizationActionTest.java
@@ -21,6 +21,7 @@ import net.shibboleth.idp.cas.config.LoginConfiguration;
import net.shibboleth.idp.cas.protocol.ProtocolError;
import net.shibboleth.idp.cas.service.Service;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.webflow.execution.Event;
import org.springframework.webflow.execution.RequestContext;
import org.testng.annotations.Test;
@@ -50,6 +51,8 @@ public class CheckProxyAuthorizationActionTest extends AbstractFlowActionTest {
final RequestContext context = new TestContextBuilder(LoginConfiguration.PROFILE_ID)
.addServiceContext(new Service("https://serviceB.example.org/", "no-proxy", false))
.build();
- assertEquals(action.execute(context).getId(), ProtocolError.ProxyNotAuthorized.name());
+ final Event event = action.execute(context);
+ assert event != null;
+ assertEquals(event.getId(), ProtocolError.ProxyNotAuthorized.name());
}
}
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/GrantProxyTicketActionTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/GrantProxyTicketActionTest.java
index 566e8b42b..14642bce8 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/GrantProxyTicketActionTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/GrantProxyTicketActionTest.java
@@ -51,10 +51,11 @@ public class GrantProxyTicketActionTest extends AbstractFlowActionTest {
.build();
assertNull(action.execute(context));
final ProxyTicketResponse response = action.getCASResponse(getProfileContext(context));
- assertNotNull(response);
- assertNotNull(response.getPt());
- final ProxyTicket pt = ticketService.removeProxyTicket(response.getPt());
- assertNotNull(pt);
+ assert response != null;
+ final String pts = response.getPt();
+ assert pts != null;
+ final ProxyTicket pt = ticketService.removeProxyTicket(pts);
+ assert pt!=null;
assertEquals(pt.getId(), response.getPt());
assertEquals(pt.getService(), service);
}
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/GrantServiceTicketActionTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/GrantServiceTicketActionTest.java
index d3506f423..d5c658fa2 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/GrantServiceTicketActionTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/GrantServiceTicketActionTest.java
@@ -23,6 +23,8 @@ import net.shibboleth.idp.cas.config.LoginConfiguration;
import net.shibboleth.idp.cas.protocol.ServiceTicketRequest;
import net.shibboleth.idp.cas.protocol.ServiceTicketResponse;
import net.shibboleth.idp.cas.ticket.ServiceTicket;
+import net.shibboleth.idp.cas.ticket.TicketState;
+
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.webflow.execution.RequestContext;
import org.testng.annotations.DataProvider;
@@ -67,10 +69,12 @@ public class GrantServiceTicketActionTest extends AbstractFlowActionTest {
assertNotNull(response.getTicket());
assertEquals(response.getService(), request.getService());
final ServiceTicket ticket = ticketService.removeServiceTicket(response.getTicket());
- assertNotNull(ticket);
+ assert ticket!=null;
assertEquals(ticket.isRenew(), request.isRenew());
assertEquals(ticket.getId(), response.getTicket());
assertEquals(ticket.getService(), response.getService());
- assertEquals(ticket.getTicketState().getPrincipalName(), TEST_PRINCIPAL_NAME);
+ final TicketState ts = ticket.getTicketState();
+ assert ts != null;
+ assertEquals(ts.getPrincipalName(), TEST_PRINCIPAL_NAME);
}
}
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/TestContextBuilder.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/TestContextBuilder.java
index 8ef88c5ba..92b65f319 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/TestContextBuilder.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/TestContextBuilder.java
@@ -30,6 +30,8 @@ import net.shibboleth.idp.session.context.SessionContext;
import net.shibboleth.profile.config.ProfileConfiguration;
import net.shibboleth.profile.context.RelyingPartyContext;
+import javax.annotation.Nonnull;
+
import org.opensaml.profile.context.ProfileRequestContext;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
@@ -46,34 +48,34 @@ import org.springframework.webflow.test.MockRequestContext;
public class TestContextBuilder {
/** Root of context tree for our tests. */
- private ProfileRequestContext profileRequestContext = new ProfileRequestContext();
+ @Nonnull private ProfileRequestContext profileRequestContext = new ProfileRequestContext();
public TestContextBuilder(final String profileId) {
profileRequestContext.setProfileId(profileId);
}
- public TestContextBuilder addAuthenticationContext(final AuthenticationResult result) {
+ @Nonnull public TestContextBuilder addAuthenticationContext(final AuthenticationResult result) {
final AuthenticationContext authnCtx = new AuthenticationContext();
authnCtx.setAuthenticationResult(result);
profileRequestContext.addSubcontext(authnCtx);
return this;
}
- public TestContextBuilder addSessionContext(final IdPSession session) {
+ @Nonnull public TestContextBuilder addSessionContext(final IdPSession session) {
final SessionContext sessionContext = new SessionContext();
sessionContext.setIdPSession(session);
profileRequestContext.addSubcontext(sessionContext);
return this;
}
- public TestContextBuilder addSubjectContext(final String principal) {
+ @Nonnull public TestContextBuilder addSubjectContext(final String principal) {
final SubjectContext subjectContext = new SubjectContext();
subjectContext.setPrincipalName(principal);
profileRequestContext.addSubcontext(subjectContext);
return this;
}
- public TestContextBuilder addProtocolContext(final Object request, final Object response) {
+ @Nonnull public TestContextBuilder addProtocolContext(final Object request, final Object response) {
final ProtocolContext<Object,Object> context = new ProtocolContext<>();
context.setRequest(request);
context.setResponse(response);
@@ -81,13 +83,13 @@ public class TestContextBuilder {
return this;
}
- public TestContextBuilder addTicketContext(final Ticket ticket) {
- final ProtocolContext<?,?> context = profileRequestContext.getSubcontext(ProtocolContext.class, true);
+ @Nonnull public TestContextBuilder addTicketContext(@Nonnull final Ticket ticket) {
+ final ProtocolContext<?,?> context = profileRequestContext.getOrCreateSubcontext(ProtocolContext.class);
context.addSubcontext(new TicketContext(ticket));
return this;
}
- public TestContextBuilder addRelyingPartyContext(
+ @Nonnull public TestContextBuilder addRelyingPartyContext(
final String serviceURL, final boolean verified, final ProfileConfiguration config) {
final RelyingPartyContext rpc = new RelyingPartyContext();
rpc.setVerified(verified);
@@ -97,13 +99,13 @@ public class TestContextBuilder {
return this;
}
- public TestContextBuilder addServiceContext(final Service service) {
- final ProtocolContext<?,?> context = profileRequestContext.getSubcontext(ProtocolContext.class, true);
+ @Nonnull public TestContextBuilder addServiceContext(@Nonnull final Service service) {
+ final ProtocolContext<?,?> context = profileRequestContext.getOrCreateSubcontext(ProtocolContext.class);
context.addSubcontext(new ServiceContext(service));
return this;
}
- public RequestContext build() {
+ @Nonnull public RequestContext build() {
final MockRequestContext requestContext = new MockRequestContext();
final MockExternalContext externalContext = new MockExternalContext();
externalContext.setNativeRequest(new MockHttpServletRequest());
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateProxyCallbackActionTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateProxyCallbackActionTest.java
index 07788ba2a..b92e76f98 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateProxyCallbackActionTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateProxyCallbackActionTest.java
@@ -21,6 +21,8 @@ import java.net.URI;
import java.security.cert.CertificateException;
import java.time.Instant;
+import javax.annotation.Nonnull;
+
import net.shibboleth.idp.cas.config.ValidateConfiguration;
import net.shibboleth.idp.cas.protocol.ProtocolError;
import net.shibboleth.idp.cas.protocol.TicketValidationRequest;
@@ -29,6 +31,7 @@ import net.shibboleth.idp.cas.proxy.ProxyValidator;
import net.shibboleth.idp.cas.ticket.ServiceTicket;
import net.shibboleth.idp.cas.ticket.TicketState;
import org.opensaml.profile.context.ProfileRequestContext;
+import org.springframework.webflow.execution.Event;
import org.springframework.webflow.execution.RequestContext;
import org.testng.annotations.Test;
@@ -43,10 +46,13 @@ import static org.testng.Assert.*;
@SuppressWarnings("javadoc")
public class ValidateProxyCallbackActionTest extends AbstractFlowActionTest {
+ private Object nullObj;
+
@Test
public void testValidateProxySuccess() throws Exception {
+ @SuppressWarnings("null")
final ValidateProxyCallbackAction action = new ValidateProxyCallbackAction(
- mockProxyAuthenticator(null), ticketService);
+ mockProxyAuthenticator((Exception) nullObj), ticketService);
action.initialize();
final RequestContext context = newRequestContext("https://test.example.org/");
assertNull(action.execute(context));
@@ -60,21 +66,22 @@ public class ValidateProxyCallbackActionTest extends AbstractFlowActionTest {
final ValidateProxyCallbackAction action = new ValidateProxyCallbackAction(
mockProxyAuthenticator(new CertificateException()), ticketService);
action.initialize();
- assertEquals(
- action.execute(newRequestContext("https://test.example.org/")).getId(),
- ProtocolError.ProxyCallbackAuthenticationFailure.name());
+ final Event event = action.execute(newRequestContext("https://test.example.org/"));
+ assert event != null;
+ assertEquals(event.getId(),ProtocolError.ProxyCallbackAuthenticationFailure.name());
}
- private static ProxyValidator mockProxyAuthenticator(final Exception toBeThrown)
+ @Nonnull private static ProxyValidator mockProxyAuthenticator(@Nonnull final Exception toBeThrown)
throws Exception {
final ProxyValidator validator = mock(ProxyValidator.class);
+ assert validator!= null;
if (toBeThrown != null) {
doThrow(toBeThrown).when(validator).validate(any(ProfileRequestContext.class), any(URI.class));
}
return validator;
}
- private static RequestContext newRequestContext(final String pgtURL) {
+ @Nonnull private static RequestContext newRequestContext(final String pgtURL) {
final String service = "https://test.example.com/";
final String ticketId = "ST-123-ABCCEF";
final ServiceTicket st = new ServiceTicket(ticketId, service, Instant.now(), false);
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateRenewActionTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateRenewActionTest.java
index 04c6d6c05..d9562ddb4 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateRenewActionTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateRenewActionTest.java
@@ -24,6 +24,7 @@ import net.shibboleth.idp.cas.ticket.ProxyGrantingTicket;
import net.shibboleth.idp.cas.ticket.ProxyTicket;
import net.shibboleth.idp.cas.ticket.ServiceTicket;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.webflow.execution.Event;
import org.springframework.webflow.execution.RequestContext;
import org.testng.annotations.Test;
@@ -49,7 +50,9 @@ public class ValidateRenewActionTest extends AbstractFlowActionTest {
.addProtocolContext(new TicketValidationRequest(TEST_SERVICE, ticket.getId()), null)
.addTicketContext(ticket)
.build();
- assertEquals(action.execute(context).getId(), ProtocolError.TicketNotFromRenew.name());
+ final Event event = action.execute(context);
+ assert event != null;
+ assertEquals(event.getId(), ProtocolError.TicketNotFromRenew.name());
}
@Test
@@ -63,7 +66,10 @@ public class ValidateRenewActionTest extends AbstractFlowActionTest {
.addProtocolContext(request, null)
.addTicketContext(pt)
.build();
- assertEquals(action.execute(context).getId(), ProtocolError.RenewIncompatibleWithProxy.name());
+ final Event event = action.execute(context);
+ assert event != null;
+
+ assertEquals(event.getId(), ProtocolError.RenewIncompatibleWithProxy.name());
}
@Test
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateTicketActionTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateTicketActionTest.java
index 12c864bfa..a23cc9f8f 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateTicketActionTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/flow/impl/ValidateTicketActionTest.java
@@ -25,6 +25,7 @@ import static org.testng.Assert.assertNotNull;
import java.time.Instant;
+import org.springframework.webflow.execution.Event;
import org.springframework.webflow.execution.RequestContext;
import org.testng.annotations.Test;
@@ -54,7 +55,10 @@ public class ValidateTicketActionTest extends AbstractFlowActionTest {
.addProtocolContext(new TicketValidationRequest(TEST_SERVICE, "AB-1234-012346abcdef"), null)
.addRelyingPartyContext(TEST_SERVICE, true, new ValidateConfiguration())
.build();
- assertEquals(newAction(ticketService).execute(context).getId(), ProtocolError.InvalidTicketFormat.name());
+ final Event event = newAction(ticketService).execute(context);
+ assert event != null;
+
+ assertEquals(event.getId(), ProtocolError.InvalidTicketFormat.name());
}
@Test
@@ -64,7 +68,9 @@ public class ValidateTicketActionTest extends AbstractFlowActionTest {
.addProtocolContext(new TicketValidationRequest("mismatch", ticket.getId()), null)
.addRelyingPartyContext(ticket.getService(), true, new ValidateConfiguration())
.build();
- assertEquals(newAction(ticketService).execute(context).getId(), ProtocolError.ServiceMismatch.name());
+ final Event event = newAction(ticketService).execute(context);
+ assert event != null;
+ assertEquals(event.getId(), ProtocolError.ServiceMismatch.name());
}
@Test
@@ -79,7 +85,9 @@ public class ValidateTicketActionTest extends AbstractFlowActionTest {
.build();
// Wait briefly to let ticket expire
Thread.sleep(ticketTTLMillis + 5);
- assertEquals(newAction(ticketService).execute(context).getId(), ProtocolError.TicketExpired.name());
+ final Event event = newAction(ticketService).execute(context);
+ assert event != null;
+ assertEquals(event.getId(), ProtocolError.TicketExpired.name());
}
@Test
@@ -90,9 +98,9 @@ public class ValidateTicketActionTest extends AbstractFlowActionTest {
.addProtocolContext(new TicketValidationRequest(TEST_SERVICE, "ST-12345"), null)
.addRelyingPartyContext(TEST_SERVICE, true, new ValidateConfiguration())
.build();
- assertEquals(
- newAction(throwingTicketService).execute(context).getId(),
- ProtocolError.TicketRetrievalError.name());
+ final Event event = newAction(throwingTicketService).execute(context);
+ assert event != null;
+ assertEquals(event.getId(), ProtocolError.TicketRetrievalError.name());
}
@Test
@@ -103,7 +111,9 @@ public class ValidateTicketActionTest extends AbstractFlowActionTest {
.addRelyingPartyContext(ticket.getService(), true, new ValidateConfiguration())
.build();
final ValidateTicketAction action = newAction(ticketService);
- assertEquals(action.execute(context).getId(), Events.ServiceTicketValidated.name());
+ final Event event = action.execute(context);
+ assert event != null;
+ assertEquals(event.getId(), Events.ServiceTicketValidated.name());
assertNotNull(action.getCASResponse(getProfileContext(context)));
}
@@ -115,7 +125,9 @@ public class ValidateTicketActionTest extends AbstractFlowActionTest {
.addRelyingPartyContext(ticket.getService(), true, new ValidateConfiguration())
.build();
final ValidateTicketAction action = newAction(ticketService);
- assertEquals(action.execute(context).getId(), Events.ServiceTicketValidated.name());
+ final Event event = action.execute(context);
+ assert event != null;
+ assertEquals(event.getId(), Events.ServiceTicketValidated.name());
assertNotNull(action.getCASResponse(getProfileContext(context)));
}
@@ -129,7 +141,9 @@ public class ValidateTicketActionTest extends AbstractFlowActionTest {
.addRelyingPartyContext(pt.getService(), true, new ValidateConfiguration())
.build();
final ValidateTicketAction action = newAction(ticketService);
- assertEquals(action.execute(context).getId(), Events.ProxyTicketValidated.name());
+ final Event event = action.execute(context);
+ assert event != null;
+ assertEquals(event.getId(), Events.ProxyTicketValidated.name());
assertNotNull(action.getCASResponse(getProfileContext(context)));
}
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/service/impl/MetadataServiceRegistryTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/service/impl/MetadataServiceRegistryTest.java
index 3bedf5038..5ec95adab 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/service/impl/MetadataServiceRegistryTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/service/impl/MetadataServiceRegistryTest.java
@@ -17,14 +17,15 @@
package net.shibboleth.idp.cas.service.impl;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertNull;
+
import java.time.Duration;
import java.util.Collections;
import java.util.Timer;
-import net.shibboleth.idp.cas.service.Service;
-import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.shared.resource.Resource;
-import net.shibboleth.shared.spring.resource.ResourceHelper;
+import javax.annotation.Nonnull;
import org.opensaml.core.config.InitializationException;
import org.opensaml.core.config.InitializationService;
@@ -40,7 +41,11 @@ import org.testng.annotations.BeforeSuite;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
-import static org.testng.Assert.*;
+import net.shibboleth.idp.cas.service.Service;
+import net.shibboleth.shared.component.ComponentInitializationException;
+import net.shibboleth.shared.resource.Resource;
+import net.shibboleth.shared.spring.resource.ResourceHelper;
+import net.shibboleth.shared.xml.ParserPool;
/**
* Unit test for {@link MetadataServiceRegistry}.
@@ -83,7 +88,9 @@ public class MetadataServiceRegistryTest {
public void setUp() throws Exception {
final Resource metadata = ResourceHelper.of(new ClassPathResource("/metadata/cas-test-metadata.xml"));
metadataResolver = new ResourceBackedMetadataResolver(new Timer(true), metadata);
- metadataResolver.setParserPool(XMLObjectProviderRegistrySupport.getParserPool());
+ final ParserPool pool = XMLObjectProviderRegistrySupport.getParserPool();
+ assert pool != null;
+ metadataResolver.setParserPool(pool);
metadataResolver.setMaxRefreshDelay(Duration.ofSeconds(500));
metadataResolver.setId("cas");
metadataResolver.setIndexes(Collections.<MetadataIndex>singleton(new EndpointMetadataIndex(
@@ -97,7 +104,8 @@ public class MetadataServiceRegistryTest {
}
@Test(dataProvider = "parameters")
- public void testLookup(final String serviceURL, final Service expected) throws ComponentInitializationException {
+ public void testLookup(@Nonnull final String serviceURL, final Service expected) throws ComponentInitializationException {
+ assert metadataResolver!=null;
final PredicateRoleDescriptorResolver wrapper = new PredicateRoleDescriptorResolver(metadataResolver);
wrapper.initialize();
final MetadataServiceRegistry registry = new MetadataServiceRegistry(wrapper);
@@ -105,7 +113,7 @@ public class MetadataServiceRegistryTest {
if (expected == null) {
assertNull(actual);
} else {
- assertNotNull(actual);
+ assert actual != null;
assertEquals(actual.getName(), expected.getName());
assertEquals(actual.getGroup(), expected.getGroup());
assertEquals(actual.isAuthorizedToProxy(), expected.isAuthorizedToProxy());
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/ticket/impl/EncodingTicketServiceTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/ticket/impl/EncodingTicketServiceTest.java
index 63375a474..a05bc01f7 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/ticket/impl/EncodingTicketServiceTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/ticket/impl/EncodingTicketServiceTest.java
@@ -20,6 +20,8 @@ package net.shibboleth.idp.cas.ticket.impl;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
+import javax.annotation.Nonnull;
+
import net.shibboleth.idp.cas.ticket.ProxyGrantingTicket;
import net.shibboleth.idp.cas.ticket.ProxyTicket;
import net.shibboleth.idp.cas.ticket.ServiceTicket;
@@ -82,11 +84,12 @@ public class EncodingTicketServiceTest {
final String service = "https://www.example.com/s1/";
final Instant expiry = Instant.now().plusSeconds(5);
final String id = String.valueOf(System.currentTimeMillis());
+ assert id != null && expiry != null;
final ServiceTicket st1 = ticketService.createServiceTicket(id, expiry, service, state, true);
- assertNotNull(st1);
+ assert st1 != null;
assertTrue(st1.getId().startsWith("ST-"));
final ServiceTicket st2 = ticketService.removeServiceTicket(st1.getId());
- assertNotNull(st2);
+ assert st2 != null;
assertEquals(st1.getId(), st2.getId());
assertEquals(expiry.truncatedTo(ChronoUnit.MILLIS), st2.getExpirationInstant());
assertEquals(service, st2.getService());
@@ -95,7 +98,7 @@ public class EncodingTicketServiceTest {
assertEquals(state, st2.getTicketState());
// Confirm removing multiple times is possible
final ServiceTicket st3 = ticketService.removeServiceTicket(st1.getId());
- assertNotNull(st3);
+ assert st3 != null;
assertEquals(st1.getId(), st3.getId());
}
@@ -131,11 +134,12 @@ public class EncodingTicketServiceTest {
final String service = "https://www.example.com/s2/";
final Instant expiry = Instant.now().plusSeconds(5);
final String id = String.valueOf(System.currentTimeMillis());
+ assert id != null && expiry !=null;
final ProxyTicket pt1 = ticketService.createProxyTicket(id, expiry, pgt, service);
- assertNotNull(pt1);
+ assert pt1 != null;
assertTrue(pt1.getId().startsWith("PT-"));
final ProxyTicket pt2 = ticketService.removeProxyTicket(pt1.getId());
- assertNotNull(pt2);
+ assert pt2 != null;
assertEquals(pt1.getId(), pt2.getId());
assertEquals(expiry.truncatedTo(ChronoUnit.MILLIS), pt2.getExpirationInstant());
assertEquals(service, pt2.getService());
@@ -143,7 +147,7 @@ public class EncodingTicketServiceTest {
assertEquals(pgt.getTicketState(), pt2.getTicketState());
// Confirm removing multiple times is possible
final ProxyTicket pt3 = ticketService.removeProxyTicket(pt1.getId());
- assertNotNull(pt3);
+ assert pt3 != null;
assertEquals(pt1.getId(), pt3.getId());
}
@@ -153,8 +157,9 @@ public class EncodingTicketServiceTest {
final String service = "https://www.example.com/s2/";
final Instant expiry = Instant.now().plusSeconds(5);
final String id = String.valueOf(System.currentTimeMillis());
+ assert id != null && expiry!=null;
final ProxyTicket pt1 = ticketService.createProxyTicket(id, expiry, pgt, service);
- assertNotNull(pt1);
+ assert pt1 != null;
assertNull(ticketService.removeProxyTicket("PT-123"));
}
@@ -170,18 +175,24 @@ public class EncodingTicketServiceTest {
newState(principal),
true);
final Instant expiry = Instant.now().plusSeconds(3600);
+ assert expiry!=null;
final ProxyGrantingTicket pgt = ticketService.createProxyGrantingTicket("notused", expiry, st, pgtUrl);
assertTrue(pgt.getId().startsWith("PGT-E-"));
final ProxyGrantingTicket pgt2 = ticketService.fetchProxyGrantingTicket(pgt.getId());
- assertNotNull(pgt2);
+ assert pgt2 != null;
assertEquals(pgt2.getService(), serviceUrl);
assertEquals(pgt2.getProxyCallbackUrl(), pgtUrl);
- assertEquals(pgt2.getTicketState().getPrincipalName(), principal);
+ final TicketState ts2 = pgt2.getTicketState();
+ assert ts2 != null;
+ assertEquals(ts2.getPrincipalName(), principal);
final ProxyGrantingTicket pgt3 = ticketService.removeProxyGrantingTicket(pgt.getId());
+ assert pgt3 != null;
assertNotNull(pgt3);
assertEquals(pgt3.getService(), serviceUrl);
assertEquals(pgt2.getProxyCallbackUrl(), pgtUrl);
- assertEquals(pgt3.getTicketState().getPrincipalName(), principal);
+ final TicketState ts3 = pgt3.getTicketState();
+ assert ts3 != null;
+ assertEquals(ts3.getPrincipalName(), principal);
// Removing encoded tickets is the same as fetching so they are still available (no backing storage)
assertNotNull(ticketService.fetchProxyGrantingTicket(pgt.getId()));
}
@@ -191,7 +202,7 @@ public class EncodingTicketServiceTest {
Instant.now().truncatedTo(ChronoUnit.MILLIS), "authn/Password");
}
- private ProxyGrantingTicket newPGT(final TicketState state, final String service) {
+ private ProxyGrantingTicket newPGT(@Nonnull final TicketState state, @Nonnull final String service) {
final ProxyGrantingTicket pgt = new ProxyGrantingTicket(
pgtIdGenerator.generateIdentifier(),
service,
diff --git a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/ticket/impl/SimpleTicketServiceTest.java b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/ticket/impl/SimpleTicketServiceTest.java
index f51d55da2..d65410181 100644
--- a/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/ticket/impl/SimpleTicketServiceTest.java
+++ b/idp-cas-impl/src/test/java/net/shibboleth/idp/cas/ticket/impl/SimpleTicketServiceTest.java
@@ -59,10 +59,13 @@ public class SimpleTicketServiceTest {
@Test
public void testCreateRemoveServiceTicket() throws Exception {
final ServiceTicket st = createServiceTicket();
- assertNotNull(st);
- assertNotNull(st.getTicketState().getSessionId());
- assertNotNull(st.getTicketState().getPrincipalName());
+ assert st != null;
+ final TicketState ts = st.getTicketState();
+ assert ts != null;
+ assertNotNull(ts.getSessionId());
+ assertNotNull(ts.getPrincipalName());
final ServiceTicket st2 = ticketService.removeServiceTicket(st.getId());
+ assert st2 != null;
assertEquals(st, st2);
assertEquals(st.getExpirationInstant(), st2.getExpirationInstant());
assertEquals(st.getService(), st2.getService());
@@ -73,10 +76,13 @@ public class SimpleTicketServiceTest {
@Test
public void testCreateFetchRemoveProxyGrantingTicket() throws Exception {
final ProxyGrantingTicket pgt = createProxyGrantingTicket();
- assertNotNull(pgt);
- assertNotNull(pgt.getTicketState().getSessionId());
- assertNotNull(pgt.getTicketState().getPrincipalName());
+ assert pgt != null;
+ final TicketState ts = pgt.getTicketState();
+ assert ts != null;
+ assertNotNull(ts.getSessionId());
+ assertNotNull(ts.getPrincipalName());
final ProxyGrantingTicket pgt2 = ticketService.fetchProxyGrantingTicket(pgt.getId());
+ assert pgt2 != null;
assertEquals(pgt, pgt2);
assertEquals(pgt.getExpirationInstant(), pgt2.getExpirationInstant());
assertEquals(pgt.getService(), pgt2.getService());
@@ -93,10 +99,13 @@ public class SimpleTicketServiceTest {
expiry(),
createProxyGrantingTicket(),
TEST_SERVICE);
- assertNotNull(pt);
- assertNotNull(pt.getTicketState().getSessionId());
- assertNotNull(pt.getTicketState().getPrincipalName());
+ assert pt != null;
+ final TicketState ts = pt.getTicketState();
+ assert ts != null;
+ assertNotNull(ts.getSessionId());
+ assertNotNull(ts.getPrincipalName());
final ProxyTicket pt2 = ticketService.removeProxyTicket(pt.getId());
+ assert null != pt2;
assertEquals(pt, pt2);
assertEquals(pt.getExpirationInstant(), pt2.getExpirationInstant());
assertEquals(pt.getService(), pt2.getService());
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list