[java-oidc-common] branch main updated: Add test of the collection based credential resolver
Phil Smart
philip.smart at jisc.ac.uk
Fri Feb 17 12:54:03 UTC 2023
This is an automated email from the git hooks/post-receive script.
philsmart pushed a commit to branch main
in repository java-oidc-common.
View the commit online:
http://git.shibboleth.net/view/?p=java-oidc-common.git;a=commit;h=f5005fa0329fe478a8b3283d6fbfc3adb8e15689
The following commit(s) were added to refs/heads/main by this push:
new f5005fa Add test of the collection based credential resolver
f5005fa is described below
commit f5005fa0329fe478a8b3283d6fbfc3adb8e15689
Author: Phil Smart <philip.smart at jisc.ac.uk>
AuthorDate: Fri Feb 17 12:54:01 2023 +0000
Add test of the collection based credential resolver
---
...CollectionJOSEObjectCredentialResolverTest.java | 130 +++++++++++++++++++++
1 file changed, 130 insertions(+)
diff --git a/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/credential/impl/CollectionJOSEObjectCredentialResolverTest.java b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/credential/impl/CollectionJOSEObjectCredentialResolverTest.java
new file mode 100644
index 0000000..1956713
--- /dev/null
+++ b/oidc-common-crypto-impl/src/test/java/net/shibboleth/oidc/security/credential/impl/CollectionJOSEObjectCredentialResolverTest.java
@@ -0,0 +1,130 @@
+
+package net.shibboleth.oidc.security.credential.impl;
+
+import static org.testng.Assert.assertEquals;
+
+import java.security.PrivateKey;
+import java.security.PublicKey;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.StreamSupport;
+
+import javax.crypto.SecretKey;
+
+import org.opensaml.security.credential.Credential;
+import org.opensaml.security.credential.CredentialContextSet;
+import org.opensaml.security.credential.UsageType;
+import org.testng.annotations.Test;
+
+import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
+import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
+import net.shibboleth.utilities.java.support.resolver.ResolverException;
+
+/** Tests for the CollectionJOSEObjectCredentialResolver.*/
+public class CollectionJOSEObjectCredentialResolverTest {
+
+ /** The resolver to test.*/
+ private CollectionJOSEObjectCredentialResolver resolver;
+
+
+ @Test
+ public void testCredentialsAreAdded() throws ResolverException {
+
+ final List<Credential> creds = new ArrayList<>();
+ creds.add(new MockCredential());
+ creds.add(new MockCredential());
+ resolver = new CollectionJOSEObjectCredentialResolver(creds);
+ final var resolved = resolver.resolve(new CriteriaSet());
+ final var count = StreamSupport.stream(resolved.spliterator(), false).count();
+ assertEquals(count, 2);
+ }
+
+ @Test
+ public void testCredentialsAreAdded_OneIsNull() throws ResolverException {
+
+ final List<Credential> creds = new ArrayList<>();
+ creds.add(new MockCredential());
+ creds.add(null);
+ resolver = new CollectionJOSEObjectCredentialResolver(creds);
+ final var resolved = resolver.resolve(new CriteriaSet());
+ final var count = StreamSupport.stream(resolved.spliterator(), false).count();
+ assertEquals(count, 1);
+ }
+
+ @Test
+ public void testCredentialsAreAdded_AllNull() throws ResolverException {
+
+ final List<Credential> creds = new ArrayList<>();
+ creds.add(null);
+ creds.add(null);
+ resolver = new CollectionJOSEObjectCredentialResolver(creds);
+ final var resolved = resolver.resolve(new CriteriaSet());
+ final var count = StreamSupport.stream(resolved.spliterator(), false).count();
+ assertEquals(count, 0);
+ }
+
+ @Test
+ public void testNoCredentials_EmptyList() throws ResolverException {
+
+ resolver = new CollectionJOSEObjectCredentialResolver(Collections.emptyList());
+ final var resolved = resolver.resolve(new CriteriaSet());
+ final var count = StreamSupport.stream(resolved.spliterator(), false).count();
+ assertEquals(count, 0);
+ }
+
+ @Test(expectedExceptions = ConstraintViolationException.class)
+ public void testNullCredentials() throws ResolverException {
+
+ final List<Credential> creds = null;
+ resolver = new CollectionJOSEObjectCredentialResolver(creds);
+ }
+
+
+ /** A no-op mock credential.*/
+ private static class MockCredential implements Credential {
+
+ @Override
+ public String getEntityId() {
+ return null;
+ }
+
+ @Override
+ public UsageType getUsageType() {
+ return null;
+ }
+
+ @Override
+ public Collection<String> getKeyNames() {
+ return null;
+ }
+
+ @Override
+ public PublicKey getPublicKey() {
+ return null;
+ }
+
+ @Override
+ public PrivateKey getPrivateKey() {
+ return null;
+ }
+
+ @Override
+ public SecretKey getSecretKey() {
+ return null;
+ }
+
+ @Override
+ public CredentialContextSet getCredentialContextSet() {
+ return null;
+ }
+
+ @Override
+ public Class<? extends Credential> getCredentialType() {
+ return null;
+ }
+
+ }
+
+}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list