[java-idp-plugin-duo] branch main updated: Cleanup tests to be consistent with new integration settings
Phil Smart
philip.smart at jisc.ac.uk
Wed Mar 10 16:00:00 UTC 2021
This is an automated email from the git hooks/post-receive script.
philsmart pushed a commit to branch main
in repository java-idp-plugin-duo.
View the commit online:
http://git.shibboleth.net/view/?p=java-idp-plugin-duo.git;a=commit;h=6beedc3527c244f339887d6e1198c24f697beba7
The following commit(s) were added to refs/heads/main by this push:
new 6beedc3 Cleanup tests to be consistent with new integration settings
6beedc3 is described below
commit 6beedc3527c244f339887d6e1198c24f697beba7
Author: Phil Smart <philip.smart at jisc.ac.uk>
AuthorDate: Wed Mar 10 15:59:58 2021 +0000
Cleanup tests to be consistent with new integration settings
---
.../authn/duo/impl/AbstractDuoActionTest.java | 15 +++++-
.../plugin/authn/duo/impl/DuoAuthnFlowTest.java | 53 +++++++++++++++++-----
.../authn/duo/impl/DuoOIDCAuthnControllerTest.java | 2 +-
3 files changed, 56 insertions(+), 14 deletions(-)
diff --git a/idp-duo-impl/src/test/java/net/shibboleth/idp/plugin/authn/duo/impl/AbstractDuoActionTest.java b/idp-duo-impl/src/test/java/net/shibboleth/idp/plugin/authn/duo/impl/AbstractDuoActionTest.java
index 712541e..becaf83 100644
--- a/idp-duo-impl/src/test/java/net/shibboleth/idp/plugin/authn/duo/impl/AbstractDuoActionTest.java
+++ b/idp-duo-impl/src/test/java/net/shibboleth/idp/plugin/authn/duo/impl/AbstractDuoActionTest.java
@@ -68,6 +68,12 @@ public abstract class AbstractDuoActionTest {
protected static final String API_HOST = "api.duosecurity.com";
+ protected static final String AUTHORIZE_URI = "/authorize";
+
+ protected static final String TOKEN_URI = "/token";
+
+ protected static final String HEALTH_URI = "/health";
+
protected static final String SECRET = "rFvDfPul27v3Wew2zb6xRPzAJewJ34MP2w8UitPh";
protected RequestContext src;
@@ -675,7 +681,7 @@ public abstract class AbstractDuoActionTest {
ac.addSubcontext(dc);
}
- /** Add fabricated duo integration to the duo context.*/
+ /** Add fabricated duo integration to the duo context. */
protected void addDuoIntegrationToContext() {
assertNotNull(dc,"try addDuoContext() before adding the duo integration");
dc.setIntegration(createDummyDuoIntegration());
@@ -690,8 +696,13 @@ public abstract class AbstractDuoActionTest {
final DefaultDuoOIDCIntegration integ = new DefaultDuoOIDCIntegration();
integ.setAPIHost(API_HOST);
integ.setClientId(CLIENT_ID);
- integ.setRedirectURI(REDIRECT_URI);
+ integ.setRegisteredRedirectURI(REDIRECT_URI);
integ.setSecretKey(SECRET);
+ integ.setAuthorizeEndpoint(AUTHORIZE_URI);
+ integ.setTokenEndpoint(TOKEN_URI);
+ integ.setHealthCheckEndpoint(HEALTH_URI);
+ //do not initialize so the tests can mutate and initialize if required
+ //integ.initialize();
return integ;
}
diff --git a/idp-duo-impl/src/test/java/net/shibboleth/idp/plugin/authn/duo/impl/DuoAuthnFlowTest.java b/idp-duo-impl/src/test/java/net/shibboleth/idp/plugin/authn/duo/impl/DuoAuthnFlowTest.java
index 3f1e8a3..e3e30df 100644
--- a/idp-duo-impl/src/test/java/net/shibboleth/idp/plugin/authn/duo/impl/DuoAuthnFlowTest.java
+++ b/idp-duo-impl/src/test/java/net/shibboleth/idp/plugin/authn/duo/impl/DuoAuthnFlowTest.java
@@ -122,7 +122,8 @@ public class DuoAuthnFlowTest extends AbstractAuthnXmlFlowExecutionTests {
inputMap.put("calledAsSubflow", true);
final FlowExecution flowExecution = getFlowExecutionFactory().createFlowExecution(getFlowDefinition());
- flowExecution.getConversationScope().put("opensamlProfileRequestContext", buildProfileRequestContext(false,true));
+ flowExecution.getConversationScope()
+ .put("opensamlProfileRequestContext", buildProfileRequestContext(false,true));
updateFlowExecution(flowExecution);
flowExecution.start(inputMap, externalContext);
//TODO: only check it has ended, should check correct state - but it does not allow this
@@ -214,7 +215,12 @@ public class DuoAuthnFlowTest extends AbstractAuthnXmlFlowExecutionTests {
final Map<String,String> mockProperties = Map.of(
"idp.duo.oidc.clientFactoryBean","shibboleth.authn.DuoOIDC.test.clientFactory",
- "idp.duo.oidc.user.config","duo-oidc-authn-config-multiple-integrations.xml");
+ "idp.duo.oidc.user.config","duo-oidc-authn-config-multiple-integrations.xml",
+ //these are not used for the test, but required to prevent init exceptions
+ "idp.duo.oidc.redirectURL","http://localhost/authorization-callback",
+ "idp.duo.oidc.apiHost","api-c9f24c5a.duosecurity.com",
+ "idp.duo.oidc.clientId","DIU6GEFWG5LIUBVV2M3P",
+ "idp.duo.oidc.secretKey","rFvDfPul27v3Wew2zb6xRPzAJewJ34MP2w8UitPh");
setMockProperties(mockProperties);
@@ -290,7 +296,12 @@ public class DuoAuthnFlowTest extends AbstractAuthnXmlFlowExecutionTests {
final Map<String,String> mockProperties = Map.of(
"idp.duo.oidc.user.config.home","/conf/authn/duo-oidc-authn-config.xml",
- "idp.duo.oidc.clientFactoryBean","shibboleth.authn.DuoOIDC.test.clientFactory");
+ "idp.duo.oidc.clientFactoryBean","shibboleth.authn.DuoOIDC.test.clientFactory",
+ //these are not used for the test, but required to prevent init exceptions
+ "idp.duo.oidc.redirectURL","http://localhost/authorization-callback",
+ "idp.duo.oidc.apiHost","api-c9f24c5a.duosecurity.com",
+ "idp.duo.oidc.clientId","DIU6GEFWG5LIUBVV2M3P",
+ "idp.duo.oidc.secretKey","rFvDfPul27v3Wew2zb6xRPzAJewJ34MP2w8UitPh");
setMockProperties(mockProperties);
@@ -309,7 +320,10 @@ public class DuoAuthnFlowTest extends AbstractAuthnXmlFlowExecutionTests {
integ.setClientId("DIU6GEFWG5LIUBVV2M3P");
integ.setAPIHost("api-c9f24c5a.duosecurity.com");
integ.setSecretKey("rFvDfPul27v3Wew2zb6xRPzAJewJ34MP2w8UitPh");
- integ.setRedirectURI("http://localhost/authorization-callback");
+ integ.setAuthorizeEndpoint("/authorize");
+ integ.setHealthCheckEndpoint("/health");
+ integ.setTokenEndpoint("/token");
+ integ.setRegisteredRedirectURI("http://localhost/authorization-callback");
duoContext.setIntegration(integ);
@@ -354,7 +368,12 @@ public class DuoAuthnFlowTest extends AbstractAuthnXmlFlowExecutionTests {
final Map<String,String> mockProperties = Map.of(
"idp.duo.oidc.clientFactoryBean","shibboleth.authn.DuoOIDC.test.clientFactory",
- "idp.duo.oidc.user.config.home","/conf/authn/duo-oidc-authn-config.xml");
+ "idp.duo.oidc.user.config.home","/conf/authn/duo-oidc-authn-config.xml",
+ //these are not used for the test, but required to prevent init exceptions
+ "idp.duo.oidc.redirectURL","http://localhost/authorization-callback",
+ "idp.duo.oidc.apiHost","api-c9f24c5a.duosecurity.com",
+ "idp.duo.oidc.clientId","DIU6GEFWG5LIUBVV2M3P",
+ "idp.duo.oidc.secretKey","rFvDfPul27v3Wew2zb6xRPzAJewJ34MP2w8UitPh");
setMockProperties(mockProperties);
@@ -373,7 +392,10 @@ public class DuoAuthnFlowTest extends AbstractAuthnXmlFlowExecutionTests {
integ.setClientId("DIU6GEFWG5LIUBVV2M3P");
integ.setAPIHost("api-c9f24c5a.duosecurity.com");
integ.setSecretKey("rFvDfPul27v3Wew2zb6xRPzAJewJ34MP2w8UitPh");
- integ.setRedirectURI("http://localhost/authorization-callback");
+ integ.setAuthorizeEndpoint("/authorize");
+ integ.setHealthCheckEndpoint("/health");
+ integ.setTokenEndpoint("/token");
+ integ.setRegisteredRedirectURI("http://localhost/authorization-callback");
duoContext.setIntegration(integ);
@@ -383,15 +405,16 @@ public class DuoAuthnFlowTest extends AbstractAuthnXmlFlowExecutionTests {
prc.getSubcontext(AuthenticationContext.class).addSubcontext(duoContext);
//add a requested principal context.
- RequestedPrincipalContext rpc = new RequestedPrincipalContext();
+ final RequestedPrincipalContext rpc = new RequestedPrincipalContext();
- List<Principal> requestedPrincipals = List.of(new AuthnContextClassRefPrincipal("http://example.org/ac/classes/mfa"));
+ final List<Principal> requestedPrincipals =
+ List.of(new AuthnContextClassRefPrincipal("http://example.org/ac/classes/mfa"));
rpc.setRequestedPrincipals(requestedPrincipals);
rpc.setOperator("exact");
prc.getSubcontext(AuthenticationContext.class).addSubcontext(rpc);
//override the authflowdescriptor
- AuthenticationFlowDescriptor afd = new AuthenticationFlowDescriptor();
+ final AuthenticationFlowDescriptor afd = new AuthenticationFlowDescriptor();
afd.setId("authn/DuoOIDC");
afd.setSupportedPrincipals(List.of(new AuthnContextClassRefPrincipal("http://example.org/ac/classes/mfa")));
prc.getSubcontext(AuthenticationContext.class).setAttemptedFlow(afd);
@@ -433,7 +456,12 @@ public class DuoAuthnFlowTest extends AbstractAuthnXmlFlowExecutionTests {
final Map<String,String> mockProperties = Map.of(
"idp.duo.oidc.clientFactoryBean","shibboleth.authn.DuoOIDC.test.clientFactory",
- "idp.duo.oidc.user.config.home","/conf/authn/duo-oidc-authn-config.xml");
+ "idp.duo.oidc.user.config.home","/conf/authn/duo-oidc-authn-config.xml",
+ //these are not used for the test, but required to prevent init exceptions
+ "idp.duo.oidc.redirectURL","http://localhost/authorization-callback",
+ "idp.duo.oidc.apiHost","api-c9f24c5a.duosecurity.com",
+ "idp.duo.oidc.clientId","DIU6GEFWG5LIUBVV2M3P",
+ "idp.duo.oidc.secretKey","rFvDfPul27v3Wew2zb6xRPzAJewJ34MP2w8UitPh");
setMockProperties(mockProperties);
@@ -453,7 +481,10 @@ public class DuoAuthnFlowTest extends AbstractAuthnXmlFlowExecutionTests {
integ.setClientId("DIU6GEFWG5LIUBVV2M3P");
integ.setAPIHost("api-c9f24c5a.duosecurity.com");
integ.setSecretKey("rFvDfPul27v3Wew2zb6xRPzAJewJ34MP2w8UitPh");
- integ.setRedirectURI("http://localhost/authorization-callback");
+ integ.setRegisteredRedirectURI("http://localhost/authorization-callback");
+ integ.setAuthorizeEndpoint("/authorize");
+ integ.setHealthCheckEndpoint("/health");
+ integ.setTokenEndpoint("/token");
duoContext.setIntegration(integ);
diff --git a/idp-duo-impl/src/test/java/net/shibboleth/idp/plugin/authn/duo/impl/DuoOIDCAuthnControllerTest.java b/idp-duo-impl/src/test/java/net/shibboleth/idp/plugin/authn/duo/impl/DuoOIDCAuthnControllerTest.java
index d856e94..046c084 100644
--- a/idp-duo-impl/src/test/java/net/shibboleth/idp/plugin/authn/duo/impl/DuoOIDCAuthnControllerTest.java
+++ b/idp-duo-impl/src/test/java/net/shibboleth/idp/plugin/authn/duo/impl/DuoOIDCAuthnControllerTest.java
@@ -320,7 +320,7 @@ public class DuoOIDCAuthnControllerTest extends AbstractTestNGSpringContextTests
final DefaultDuoOIDCIntegration integ = new DefaultDuoOIDCIntegration();
integ.setAPIHost(API_HOST);
integ.setClientId("DIU6GEFWG5LIUBVV2M3P");
- integ.setRedirectURI("http://localhost/");
+ integ.setRegisteredRedirectURI("http://localhost/");
integ.setSecretKey("rFvDfPul27v3Wew2zb6xRPzAJewJ34MP2w8UitPh");
dc.setUsername("jdoe");
dc.setIntegration(integ);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list