[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