[java-idp-plugin-duo] branch master updated: JDUO-9 - Fix flow tests after changes to flow locations in IDP-162

Phil Smart philip.smart at jisc.ac.uk
Fri Jul 24 09:54:39 UTC 2020


This is an automated email from the git hooks/post-receive script.

philsmart pushed a commit to branch master
in repository java-idp-plugin-duo.

View the commit online:
http://git.shibboleth.net/view/?p=java-idp-plugin-duo.git;a=commit;h=3ab3864f453f3b1527f62db727c8cd13bf459f4b

The following commit(s) were added to refs/heads/master by this push:
       new  3ab3864   JDUO-9 - Fix flow tests after changes to flow locations in IDP-162
3ab3864 is described below

commit 3ab3864f453f3b1527f62db727c8cd13bf459f4b
Author: Phil Smart <philip.smart at jisc.ac.uk>
AuthorDate: Fri Jul 24 10:53:38 2020 +0100

    JDUO-9 - Fix flow tests after changes to flow locations in IDP-162
    
    Switch to classpath resources, remove unpacking of idp-conf flow
    files.
    Cleanup of test resources.
    
    https://issues.shibboleth.net/jira/browse/JDUO-9
---
 idp-duo-impl/pom.xml                               |  44 +-----
 .../authn/duo/{impl => }/DuoOIDCDescription.java   |   4 +-
 .../net.shibboleth.idp.plugin.PluginDescription    |   2 +-
 .../idp/plugin/authn/duo/PluginTest.java           |  60 +++++++++
 .../plugin/authn/duo/impl/DuoAuthnFlowTest.java    |  12 +-
 .../META-INF/net/shibboleth/idp/StoredIdStore.sql  |  11 --
 .../idp/flows/resolveAndFilter/beans.xml           |  66 ---------
 .../resolveAndFilter/resolveAndFilter-flow.xml     |  43 ------
 .../resources/conf/authn/password-authn-config.xml | 147 ---------------------
 idp-duo-impl/src/test/resources/conf/global.xml    |  77 -----------
 .../resources/conf/logback-include-console.xml     |  22 ---
 .../src/test/resources/conf/metadata-filters.xml   |  42 ------
 .../src/test/resources/conf/metadata-providers.xml |  67 ----------
 .../src/test/resources/conf/relying-party.xml      |  54 --------
 .../src/test/resources/credentials/ldap-server.crt |  13 --
 pom.xml                                            |   7 +
 16 files changed, 83 insertions(+), 588 deletions(-)

diff --git a/idp-duo-impl/pom.xml b/idp-duo-impl/pom.xml
index 32566bc..324c0cd 100644
--- a/idp-duo-impl/pom.xml
+++ b/idp-duo-impl/pom.xml
@@ -109,7 +109,12 @@
             <groupId>${spring.groupId}</groupId>
             <artifactId>spring-test</artifactId>
             <scope>test</scope>
-        </dependency>       
+        </dependency> 
+        <dependency>
+            <groupId>${idp.groupId}</groupId>
+            <artifactId>idp-admin-impl</artifactId>
+            <scope>test</scope>
+        </dependency>      
         <dependency>
             <groupId>net.shibboleth.idp</groupId>
             <artifactId>idp-conf</artifactId>
@@ -144,43 +149,6 @@
 
     <build>
         <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-dependency-plugin</artifactId>
-                <executions>
-                    <!-- Not sure we need this if using webflow unit tests? -->
-                    <execution>
-                        <id>copy-dependencies-test</id>
-                        <phase>prepare-package</phase>
-                        <goals>
-                            <goal>copy-dependencies</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${project.target.directory}</outputDirectory>
-                            <includeScope>runtime</includeScope>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>unpack-test</id>
-                        <phase>generate-resources</phase>
-                        <goals>
-                            <goal>unpack-dependencies</goal>
-                        </goals>
-                        <configuration>
-                            <!-- we only need parent flows? -->
-                            <includeGroupIds>net.shibboleth.idp</includeGroupIds>
-                            <includeArtifactIds>idp-conf</includeArtifactIds>
-                            <outputDirectory>${project.build.directory}/classes</outputDirectory>
-                            <includes>system/**,conf/**,credentials/**</includes>
-                            <excludes>conf/authn/jaas-authn-config.xml</excludes>
-                            <scope>test</scope>
-                            <includeScope>test</includeScope>
-                            <type>test-jar</type>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
diff --git a/idp-duo-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/impl/DuoOIDCDescription.java b/idp-duo-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/DuoOIDCDescription.java
similarity index 94%
rename from idp-duo-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/impl/DuoOIDCDescription.java
rename to idp-duo-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/DuoOIDCDescription.java
index 0643a4a..683dc6b 100644
--- a/idp-duo-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/impl/DuoOIDCDescription.java
+++ b/idp-duo-impl/src/main/java/net/shibboleth/idp/plugin/authn/duo/DuoOIDCDescription.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.plugin.authn.duo.impl;
+package net.shibboleth.idp.plugin.authn.duo;
 
 import java.io.IOException;
 import java.net.URL;
@@ -35,7 +35,7 @@ public class DuoOIDCDescription extends AbstractPluginDescription{
 
     @Override
     @Nonnull @NotEmpty public String getPluginId() {
-        return "net.shibboleth.plugin.idp.authn.duo";
+        return "net.shibboleth.idp.plugin.authn.duo";
     }
     
     @Override
diff --git a/idp-duo-impl/src/main/resources/META-INF/services/net.shibboleth.idp.plugin.PluginDescription b/idp-duo-impl/src/main/resources/META-INF/services/net.shibboleth.idp.plugin.PluginDescription
index f879a67..7621083 100644
--- a/idp-duo-impl/src/main/resources/META-INF/services/net.shibboleth.idp.plugin.PluginDescription
+++ b/idp-duo-impl/src/main/resources/META-INF/services/net.shibboleth.idp.plugin.PluginDescription
@@ -1 +1 @@
-net.shibboleth.idp.plugin.authn.duo.impl.DuoOIDCAuthenticationDescription
+net.shibboleth.idp.plugin.authn.duo.DuoOIDCDescription
diff --git a/idp-duo-impl/src/test/java/net/shibboleth/idp/plugin/authn/duo/PluginTest.java b/idp-duo-impl/src/test/java/net/shibboleth/idp/plugin/authn/duo/PluginTest.java
new file mode 100644
index 0000000..bde7313
--- /dev/null
+++ b/idp-duo-impl/src/test/java/net/shibboleth/idp/plugin/authn/duo/PluginTest.java
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the University Corporation for Advanced Internet Development,
+ * Inc. (UCAID) under one or more contributor license agreements.  See the
+ * NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The UCAID licenses this file to You under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package net.shibboleth.idp.plugin.authn.duo;
+
+import org.testng.annotations.Test;
+
+import net.shibboleth.idp.plugin.PluginDescription;
+import net.shibboleth.idp.plugin.impl.PluginState;
+import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+
+import static org.testng.Assert.assertNotNull;
+
+import java.util.ServiceLoader;
+
+import org.testng.annotations.BeforeClass;
+
+
+/** Test the plugin descrition. */
+public class PluginTest {
+    
+    /** The plugin to test.*/
+    private PluginDescription duoPlugin;
+
+    @BeforeClass
+    public void beforeMethod() {
+        
+        final ServiceLoader<PluginDescription> loader = ServiceLoader.load(PluginDescription.class);
+        System.out.println(loader.toString());
+        for (final PluginDescription service : loader) {
+            if (getClass().getPackageName().contentEquals(service.getPluginId())) {
+                duoPlugin = service;
+                break;
+            }
+        }
+        assertNotNull(duoPlugin);
+        
+    }
+
+    @Test
+    public void testState() throws ComponentInitializationException {
+       final PluginState state = new PluginState(duoPlugin); 
+       //state.initialize();
+    }
+
+}
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 0284cf0..d1bfc05 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
@@ -23,6 +23,8 @@ import java.util.Map;
 
 import javax.annotation.Nonnull;
 
+import org.springframework.core.io.ClassPathResource;
+import org.springframework.core.io.Resource;
 import org.junit.Test;
 import org.opensaml.profile.context.ProfileRequestContext;
 import org.slf4j.Logger;
@@ -85,15 +87,15 @@ public class DuoAuthnFlowTest extends AbstractAuthnXmlFlowExecutionTests {
      */
     @Nonnull @NonnullElements @Unmodifiable private final Map<String,String> flowResources = 
             Map.of(
-            "/system/flows/authn/authn-abstract-flow.xml","authn.abstract",
-            "/conf/authn/authn-events-flow.xml","authn.events",
-            "/flows/authn/conditions/conditions-flow.xml","authn/conditions");
+            "classpath:/net/shibboleth/idp/authn/flows/authn-abstract-flow.xml","authn.abstract",
+            "classpath:/conf/authn/authn-events-flow.xml","authn.events");
 
 
 
     /** Test the Duo flow when the health check returns unhealthy.*/
     @Test
-    public void testDuoAuthnFlowDuoEndpointUnhealthy() {
+    public void testDuoAuthnFlowDuoEndpointUnhealthy() {   
+       
         setFlowPath(FLOW);
         setFlowModelResources(flowResources);
         setSubflows(subflows);
@@ -122,7 +124,7 @@ public class DuoAuthnFlowTest extends AbstractAuthnXmlFlowExecutionTests {
     /** Test the Duo flow up to the external authorization request.*/
     @Test
     public void testDuoAuthnFlowToAuthorizationRequest() {
-        
+              
         setFlowPath(FLOW);
         setFlowModelResources(flowResources);
         setSubflows(subflows);
diff --git a/idp-duo-impl/src/test/resources/META-INF/net/shibboleth/idp/StoredIdStore.sql b/idp-duo-impl/src/test/resources/META-INF/net/shibboleth/idp/StoredIdStore.sql
deleted file mode 100644
index 294b108..0000000
--- a/idp-duo-impl/src/test/resources/META-INF/net/shibboleth/idp/StoredIdStore.sql
+++ /dev/null
@@ -1,11 +0,0 @@
-CREATE TABLE shibpid (
-	localEntity VARCHAR(100) NOT NULL, 
-	peerEntity VARCHAR(100) NOT NULL,
-    persistentId VARCHAR(50) NOT NULL, 
-	principalName VARCHAR(50) NOT NULL, 
-	localId VARCHAR(50) NOT NULL, 
-	peerProvidedId VARCHAR(50), 
-	creationDate TIMESTAMP NOT NULL, 
-	deactivationDate TIMESTAMP,
-	PRIMARY KEY (localEntity, peerEntity, persistentId)
-	);
diff --git a/idp-duo-impl/src/test/resources/META-INF/net/shibboleth/idp/flows/resolveAndFilter/beans.xml b/idp-duo-impl/src/test/resources/META-INF/net/shibboleth/idp/flows/resolveAndFilter/beans.xml
deleted file mode 100644
index 209bf0b..0000000
--- a/idp-duo-impl/src/test/resources/META-INF/net/shibboleth/idp/flows/resolveAndFilter/beans.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-	xmlns:c="http://www.springframework.org/schema/c" xmlns:context="http://www.springframework.org/schema/context"
-	xmlns:p="http://www.springframework.org/schema/p" xmlns:util="http://www.springframework.org/schema/util"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-                           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
-                           http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
-	default-init-method="initialize" default-destroy-method="destroy">
-
-	<!-- Beans from the standard flows -->
-
-	<bean class="net.shibboleth.ext.spring.config.IdentifiableBeanPostProcessor" />
-
-	<bean id="InitializeProfileRequestContext"
-		class="net.shibboleth.idp.profile.impl.InitializeProfileRequestContext"
-		scope="prototype" p:profileId="test_flow" />
-
-	<bean id="ResolveAttributes" class="net.shibboleth.idp.profile.impl.ResolveAttributes"
-		scope="prototype" c:resolverService-ref="shibboleth.AttributeResolverService" />
-
-	<bean id="FilterAttributes" class="net.shibboleth.idp.profile.impl.FilterAttributes"
-		scope="prototype" c:filterService-ref="shibboleth.AttributeFilterService" />
-
-	<bean id="SAMLMetadataLookup"
-		class="net.shibboleth.idp.profile.impl.WebFlowMessageHandlerAdaptor"
-		scope="prototype" c:executionDirection="INBOUND">
-		<constructor-arg name="messageHandler">
-			<bean
-				class="org.opensaml.saml.common.binding.impl.SAMLMetadataLookupHandler"
-				scope="prototype">
-				<property name="roleDescriptorResolver">
-					<bean
-						class="org.opensaml.saml.metadata.resolver.impl.PredicateRoleDescriptorResolver"
-						c:mdResolver-ref="shibboleth.MetadataResolver" />
-				</property>
-			</bean>
-		</constructor-arg>
-	</bean>
-
-	<bean id="SAMLPopulateACS"
-		class="net.shibboleth.idp.profile.impl.WebFlowMessageHandlerAdaptor"
-		scope="prototype" c:executionDirection="INBOUND">
-		<constructor-arg name="messageHandler">
-			<bean
-				class="org.opensaml.saml.common.binding.impl.SAMLAddAttributeConsumingServiceHandler"
-				scope="prototype" />
-		</constructor-arg>
-	</bean>
-
-	<!-- Common test flow bean -->
-	<bean id="PopulateResolution" class="net.shibboleth.idp.test.flows.SetupForResolver"
-		scope="prototype" />
-
-
-	<!-- Specific test flow beans -->
-    <bean id="SetupSAMLMessage" class="net.shibboleth.idp.test.flows.mapper.SpoofSAMLMessage"
-        scope="prototype" />
-	
-	
-	<bean id="TestAfterFilter" class="net.shibboleth.idp.test.flows.mapper.TestAfterFilter"
-		scope="prototype" />
-
-
-
-</beans>
diff --git a/idp-duo-impl/src/test/resources/META-INF/net/shibboleth/idp/flows/resolveAndFilter/resolveAndFilter-flow.xml b/idp-duo-impl/src/test/resources/META-INF/net/shibboleth/idp/flows/resolveAndFilter/resolveAndFilter-flow.xml
deleted file mode 100644
index 369cc17..0000000
--- a/idp-duo-impl/src/test/resources/META-INF/net/shibboleth/idp/flows/resolveAndFilter/resolveAndFilter-flow.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<flow xmlns="http://www.springframework.org/schema/webflow"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://www.springframework.org/schema/webflow http://www.springframework.org/schema/webflow/spring-webflow.xsd">
-
-	<on-start>
-		<evaluate expression="InitializeProfileRequestContext" />
-	</on-start>
-
-	<action-state id="StartTest">
-		<evaluate expression="SetupSAMLMessage" />
-		<evaluate expression="SAMLMetadataLookup" />
-		<evaluate expression="SAMLPopulateACS" />
-		<evaluate expression="PopulateResolution" />
-		<evaluate expression="ResolveAttributes" />
-		<evaluate expression="FilterAttributes" />
-        <evaluate expression="'proceed'" />
-        
-        <transition on="proceed" to="AfterTest" />
-    </action-state>
-
-    <action-state id="AfterTest">
-		<evaluate expression="TestAfterFilter" />
-		<evaluate expression="'proceed'" />
-
-		<transition on="proceed" to="end" />
-	</action-state>
-
-	<end-state id="end">
-		<!-- TODO: Probably remove later. For tests, map the profile request context 
-			as an output attribute -->
-		<output name="ProfileRequestContext" value="opensamlProfileRequestContext" />
-	</end-state>
-
-	<end-state id="error" />
-    
-    <global-transitions>
-        <transition on="#{!'proceed'.equals(currentEvent.id)}" to="error" />
-    </global-transitions>
-
-	<bean-import resource="beans.xml" />
-
-</flow>
-    
\ No newline at end of file
diff --git a/idp-duo-impl/src/test/resources/conf/authn/password-authn-config.xml b/idp-duo-impl/src/test/resources/conf/authn/password-authn-config.xml
deleted file mode 100644
index 7825d9e..0000000
--- a/idp-duo-impl/src/test/resources/conf/authn/password-authn-config.xml
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:context="http://www.springframework.org/schema/context"
-       xmlns:util="http://www.springframework.org/schema/util"
-       xmlns:p="http://www.springframework.org/schema/p"
-       xmlns:c="http://www.springframework.org/schema/c"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-                           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
-                           http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
-                           
-       default-init-method="initialize"
-       default-destroy-method="destroy">
-    
-    <!--
-    You can optionally comment out anything you don't need, but make sure not to
-    reference the corresponding validator in the list below if you do remove any.
-    -->
-    <!--  TODO: Make this list configurable per test? otherwise your stuck with the TestValidator  -->
-   <!--  <import resource="jaas-authn-config.xml" />
-    <import resource="krb5-authn-config.xml" />
-    <import resource="ldap-authn-config.xml" /> -->
-    
-    <!-- Ordered list of CredentialValidators to apply to a request. -->
-    <util:list id="shibboleth.authn.Password.Validators">
-        <!-- Test Validator for static in-memory username and password validation -->
-        <ref bean="TestValidator" /> 
-    </util:list> 
-    
-    <!-- In-memory test validator -->
-    <bean id="TestValidator" parent="shibboleth.CredentialValidator" lazy-init="false"
-        class="net.shibboleth.idp.ext.authn.duo.impl.InMemoryCredentialValidator">
-        <constructor-arg index="0" value='jdoe'></constructor-arg>  
-        <constructor-arg index="1" value='changeit'></constructor-arg>      
-    </bean> 
-    
-    <!-- Controls whether all validators in the above bean have to succeed, or just one. -->
-    <util:constant id="shibboleth.authn.Password.RequireAll" static-field="java.lang.Boolean.FALSE"/>
-    
-    
-    <!-- Names of form fields to pull username and password from. -->
-    <bean id="shibboleth.authn.Password.UsernameFieldName" class="java.lang.String" c:_0="j_username" />
-    <bean id="shibboleth.authn.Password.PasswordFieldName" class="java.lang.String" c:_0="j_password" />
-    <bean id="shibboleth.authn.Password.SSOBypassFieldName" class="java.lang.String" c:_0="donotcache" />
-
-    <!-- Simple transforms to apply to username before validation. -->
-    <util:constant id="shibboleth.authn.Password.Lowercase" static-field="java.lang.Boolean.FALSE"/>
-    <util:constant id="shibboleth.authn.Password.Uppercase" static-field="java.lang.Boolean.FALSE"/>
-    <util:constant id="shibboleth.authn.Password.Trim" static-field="java.lang.Boolean.TRUE"/>
-
-    <!-- Set to TRUE if you want the password kept in the resulting Subject as a private credential. -->
-    <util:constant id="shibboleth.authn.Password.RetainAsPrivateCredential" static-field="java.lang.Boolean.FALSE"/>
-
-    <!-- Apply any regular expression replacement pairs to username before validation. -->
-    <util:list id="shibboleth.authn.Password.Transforms">
-        <!--
-        <bean parent="shibboleth.Pair" p:first="^(.+)@example\.org$" p:second="$1" />
-        -->
-    </util:list>
-    
-    <!-- Uncomment to configure account lockout backed by in-memory storage. -->
-    <!--
-    <bean id="shibboleth.authn.Password.AccountLockoutManager"
-        parent="shibboleth.StorageBackedAccountLockoutManager"
-        p:maxAttempts="5"
-        p:counterInterval="PT5M"
-        p:lockoutDuration="PT5M"
-        p:extendLockoutDuration="false" />
-    -->
-
-    <!--
-    Define entries here to map error messages detected by validation actions and classify them as particular
-    kinds of errors for use in your templates and as events in flows.
-
-    Keys are events to signal, values are error codes.
-    -->
-    <util:map id="shibboleth.authn.Password.ClassifiedMessageMap">
-        <entry key="UnknownUsername">
-            <list>
-                <value>NoCredentials</value>
-                <value>UnknownUsername</value>
-                <value>CLIENT_NOT_FOUND</value>
-                <value>Client not found</value>
-                <value>DN_RESOLUTION_FAILURE</value>
-            </list>
-        </entry>
-        <entry key="InvalidPassword">
-            <list>
-                <value>InvalidCredentials</value>
-                <value>PREAUTH_FAILED</value>
-                <value>INVALID_CREDENTIALS</value>
-                <value>Checksum failed</value>
-            </list>
-        </entry>
-        <entry key="AccountLocked">
-            <list>
-                <value>AccountLocked</value>
-                <value>Clients credentials have been revoked</value>
-            </list>
-        </entry>
-        <entry key="ExpiredPassword">
-            <list>
-                <value>PASSWORD_EXPIRED</value>
-            </list>
-        </entry>
-        <entry key="ExpiringPassword">
-            <list>
-                <value>ACCOUNT_WARNING</value>
-            </list>
-        </entry>
-        <entry key="RequestUnsupported">
-            <list>
-                <value>RequestUnsupported</value>
-            </list>
-        </entry>
-    </util:map>
-
-    <!--
-    Configuration of "extended" login methods to offer in the password login form.
-    
-    The String bean is a regular expression identifying the flows to offer. These flows
-    must also be enabled at the "top" level to be available for use.
-    
-    The ExtendedFlowParameters bean can be used to transfer custom parameters from the
-    login form into the context tree for use later by other flows.
-    
-    The last bean provides the set of custom Principals to use for results produced by the
-    Password flow itself. You would use this if you need the Password flow to run as a shell
-    to run the "extended" login methods, but want to limit its own results more narrowly.
-    -->
-    <!--
-    <bean id="shibboleth.authn.Password.ExtendedFlows" class="java.lang.String" c:_0="" />
-
-    <util:list id="shibboleth.authn.Password.ExtendedFlowParameters">
-    </util:list>
-
-    <util:list id="shibboleth.authn.Password.PrincipalOverride">
-        <bean parent="shibboleth.SAML2AuthnContextClassRef"
-            c:classRef="urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport" />
-        <bean parent="shibboleth.SAML2AuthnContextClassRef"
-            c:classRef="urn:oasis:names:tc:SAML:2.0:ac:classes:Password" />
-        <bean parent="shibboleth.SAML1AuthenticationMethod"
-            c:method="urn:oasis:names:tc:SAML:1.0:am:password" />
-    </util:list>
-    -->
-    
-</beans>
diff --git a/idp-duo-impl/src/test/resources/conf/global.xml b/idp-duo-impl/src/test/resources/conf/global.xml
deleted file mode 100644
index 7b79f7a..0000000
--- a/idp-duo-impl/src/test/resources/conf/global.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:context="http://www.springframework.org/schema/context"
-       xmlns:util="http://www.springframework.org/schema/util"
-       xmlns:jdbc="http://www.springframework.org/schema/jdbc"
-       xmlns:p="http://www.springframework.org/schema/p"
-       xmlns:c="http://www.springframework.org/schema/c"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-                           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
-                           http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc.xsd
-                           http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
-                           
-       default-init-method="initialize"
-       default-destroy-method="destroy">
-
-    <!-- Use this file to define any custom beans needed globally. -->
-
-    <!--
-    Algorithm whitelists and blacklists that override or merge with library defaults. Normally you can leave
-    these empty or commented and use the system defaults, but you can override those defaults using these lists.
-    Each <value> element is an algorithm URI, or you can use <util:constant> elements in place of literal values.
-    -->
-    
-    <!--
-    <util:list id="shibboleth.SignatureWhitelist">
-    </util:list>
-
-    <util:list id="shibboleth.SignatureBlacklist">
-    </util:list>
-
-    <util:list id="shibboleth.EncryptionWhitelist">
-    </util:list>
-
-    <util:list id="shibboleth.EncryptionBlacklist">
-    </util:list>
-    -->
-
-    <!--
-    If you need to define and inject custom Java object(s) into the various views used throughout the
-    system (errors, login, logout, etc.), you can uncomment and define the bean below to be of any
-    type required. It will appear in the view scope as a variable named "custom".
-    
-    The example below defines the bean as a map, which allows you to inject multiple objects under
-    named keys to expand the feature to support multiple injected objects.
-    -->
-    
-    <!--
-    <util:map id="shibboleth.CustomViewContext">
-        <entry key="foo" value="bar"/>
-    </util:map>
-    -->
-    
-    <util:set id="testbed.MetadataIndexes">
-        <bean class="org.opensaml.saml.metadata.resolver.index.impl.SAMLArtifactMetadataIndex" />
-        <ref bean="shibboleth.CASMetadataIndices" />
-    </util:set>
-    
-	<jdbc:embedded-database id="testbed.PairwiseIdDataSource" generate-name="true">
-	    <jdbc:script location="classpath:/META-INF/net/shibboleth/idp/StoredIdStore.sql"/>
-	</jdbc:embedded-database>
-    
-    <bean id="exampleMetadata" class="org.springframework.core.io.ClassPathResource">
-        <constructor-arg value="/metadata/example-metadata.xml"/>
-    </bean>
-          
-    <bean id="exampleMetadata-sp123" class="org.springframework.core.io.ClassPathResource">
-        <constructor-arg value="/metadata/example-sp123-metadata.xml"/>
-    </bean>
-      
-    <util:list id="testbed.MetadataResolverResources">
-        <value>%{idp.home}/conf/metadata-providers.xml</value>
-        <value>%{idp.home}/conf/metadata-filters.xml</value>
-        <value>%{idp.home}/system/conf/metadata-providers-system.xml</value>
-    </util:list>
-    
-</beans>
diff --git a/idp-duo-impl/src/test/resources/conf/logback-include-console.xml b/idp-duo-impl/src/test/resources/conf/logback-include-console.xml
deleted file mode 100644
index d9d9f68..0000000
--- a/idp-duo-impl/src/test/resources/conf/logback-include-console.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<included>
-    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-        <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
-            <evaluator>
-                <matcher>
-                    <Name>VelocityStatusViewFilter</Name>
-                    <regex>ResourceManager : unable to find resource 'status.vm' in any resource loader.</regex>
-                </matcher>
-                <expression>VelocityStatusViewFilter.matches(formattedMessage)</expression>
-            </evaluator>
-            <OnMatch>DENY</OnMatch>
-        </filter>
-        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
-            <charset>UTF-8</charset>
-            <Pattern>%date{ISO8601} - %level [%logger:%line] - %msg%n</Pattern>
-        </encoder>
-    </appender>
-
-    <root level="INFO">
-        <appender-ref ref="CONSOLE" />
-    </root>
-</included>
diff --git a/idp-duo-impl/src/test/resources/conf/metadata-filters.xml b/idp-duo-impl/src/test/resources/conf/metadata-filters.xml
deleted file mode 100644
index 9a16b61..0000000
--- a/idp-duo-impl/src/test/resources/conf/metadata-filters.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<MetadataFilter xsi:type="ByReference"
-    xmlns="urn:mace:shibboleth:2.0:metadata"
-    xmlns:security="urn:mace:shibboleth:2.0:security"
-    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
-    xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
-    xmlns:alg="urn:oasis:names:tc:SAML:metadata:algsupport"
-    xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
-    xmlns:ds11="http://www.w3.org/2009/xmldsig11#"
-    xmlns:enc="http://www.w3.org/2001/04/xmlenc#"
-    xmlns:enc11="http://www.w3.org/2009/xmlenc11#"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd
-                        urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd
-                        urn:oasis:names:tc:SAML:2.0:assertion http://docs.oasis-open.org/security/saml/v2.0/saml-schema-assertion-2.0.xsd
-                        urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd
-                        urn:oasis:names:tc:SAML:metadata:algsupport http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-metadata-algsupport-v1.0.xsd
-                        http://www.w3.org/2000/09/xmldsig# http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd
-                        http://www.w3.org/2009/xmldsig11# http://www.w3.org/TR/2013/REC-xmldsig-core1-20130411/xmldsig11-schema.xsd
-                        http://www.w3.org/2001/04/xmlenc# http://www.w3.org/TR/xmlenc-core/xenc-schema.xsd
-                        http://www.w3.org/2009/xmlenc11# http://www.w3.org/TR/2013/REC-xmlenc-core1-20130411/xenc-schema-11.xsd">
-
-    <MetadataFilters providerRef="URLMD">
-    
-        <MetadataFilter xsi:type="EntityAttributes">
-            <saml:Attribute Name="https://sp.example.org/tagname">
-                <saml:AttributeValue>foo</saml:AttributeValue>
-            </saml:Attribute>
-            <saml:Attribute Name="https://sp.example.org/tagname2">
-                <saml:AttributeValue>foo</saml:AttributeValue>
-                <saml:AttributeValue>bar</saml:AttributeValue>
-            </saml:Attribute>
-            <saml:Attribute Name="http://shibboleth.net/ns/profiles/saml1/sso/browser/includeAttributeStatement"
-                    NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
-                <saml:AttributeValue>1</saml:AttributeValue>
-            </saml:Attribute>
-            <Entity>https://sp.example.org</Entity>
-        </MetadataFilter>
-        
-    </MetadataFilters>
-
-</MetadataFilter>
diff --git a/idp-duo-impl/src/test/resources/conf/metadata-providers.xml b/idp-duo-impl/src/test/resources/conf/metadata-providers.xml
deleted file mode 100644
index 2df93e0..0000000
--- a/idp-duo-impl/src/test/resources/conf/metadata-providers.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<MetadataProvider id="ShibbolethMetadata" xsi:type="ChainingMetadataProvider"
-    xmlns="urn:mace:shibboleth:2.0:metadata"
-    xmlns:security="urn:mace:shibboleth:2.0:security"
-    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
-    xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
-    xmlns:alg="urn:oasis:names:tc:SAML:metadata:algsupport"
-    xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
-    xmlns:ds11="http://www.w3.org/2009/xmldsig11#"
-    xmlns:enc="http://www.w3.org/2001/04/xmlenc#"
-    xmlns:enc11="http://www.w3.org/2009/xmlenc11#"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd
-                        urn:mace:shibboleth:2.0:security http://shibboleth.net/schema/idp/shibboleth-security.xsd
-                        urn:oasis:names:tc:SAML:2.0:assertion http://docs.oasis-open.org/security/saml/v2.0/saml-schema-assertion-2.0.xsd
-                        urn:oasis:names:tc:SAML:2.0:metadata http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd
-                        urn:oasis:names:tc:SAML:metadata:algsupport http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-metadata-algsupport-v1.0.xsd
-                        http://www.w3.org/2000/09/xmldsig# http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd
-                        http://www.w3.org/2009/xmldsig11# http://www.w3.org/TR/2013/REC-xmldsig-core1-20130411/xmldsig11-schema.xsd
-                        http://www.w3.org/2001/04/xmlenc# http://www.w3.org/TR/xmlenc-core/xenc-schema.xsd
-                        http://www.w3.org/2009/xmlenc11# http://www.w3.org/TR/2013/REC-xmlenc-core1-20130411/xenc-schema-11.xsd">
-                        
-	<!-- ========================================== -->
-	<!-- Metadata Configuration -->
-	<!-- ========================================== -->
-
-	<!-- Example metadata provider. -->
-
-    <MetadataProvider id="URLMD" xsi:type="ResourceBackedMetadataProvider" maxRefreshDelay="PT5M" indexesRef="testbed.MetadataIndexes" resourceRef="exampleMetadata">
-        <MetadataFilter xsi:type="SignatureValidation" requireSignedRoot="false"> <!-- TODO -->
-            <PublicKey>
-                MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxg0TyQAP/tIvOH89EtaX
-                uRRn8SYzTj7W1TbNY4VvBmobjkRmSkki4hH9x4sQpi635wn6WtXTN/FNNmkTK3N/
-                LspmBWxfZS+n+cc7I82E5yvCAPX67QsZgqgglp2W5dvK/FsMMCS6X6SVqzBLMP88
-                NenXKxY+HMxMs0sT0UKYh1cAEqadrHRBO65aDBcm5a0sBVYt9K6pgaOHrp/zSIbh
-                nR5tFFLjBbtFktDpHL3AdGBH3OYidNGKBO3tJ3Ms7LeKXsM0+0Y4P+9fHZINL2X3
-                E2N6GVnKs5PZTg9sP0FtIpAbYm/+zCx7Yj1ET/Er8mDd6tNVGSQsn9s5xUBwGqn1
-                4wIDAQAB
-            </PublicKey>
-        </MetadataFilter>
-        <MetadataFilter xsi:type="SchemaValidation"/>
-        <MetadataFilter xsi:type="EntityRoleWhiteList">
-            <RetainedRole>md:SPSSODescriptor</RetainedRole>
-        </MetadataFilter>
-        
-        <MetadataFilter xsi:type="Algorithm">
-            <md:EncryptionMethod Algorithm="http://www.w3.org/2009/xmlenc11#rsa-oaep">
-                <MGF xmlns="http://www.w3.org/2009/xmlenc11#"
-                    Algorithm="http://www.w3.org/2009/xmlenc11#mgf1sha256" />
-                <DigestMethod xmlns="http://www.w3.org/2000/09/xmldsig#"
-                    Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
-            </md:EncryptionMethod>
-            <Entity>https://sp.example.org</Entity>
-        </MetadataFilter>
-    </MetadataProvider>
-
-    <MetadataProvider id="SP123MD" xsi:type="ResourceBackedMetadataProvider" maxRefreshDelay="PT5M" indexesRef="testbed.MetadataIndexes" resourceRef="exampleMetadata-sp123"/>
-
-    <!--
-    <MetadataProvider id="ICMDQ" xsi:type="DynamicHTTPMetadataProvider"
-            minCacheDuration="PT5M" maxCacheDuration="PT24H" maxIdleEntityData="PT1H">
-        <MetadataFilter xsi:type="RequiredValidUntil" maxValidityInterval="P14D" />
-        <MetadataQueryProtocol>https://mdq.incommon.org/</MetadataQueryProtocol>
-    </MetadataProvider>
-    -->
-
-</MetadataProvider>
diff --git a/idp-duo-impl/src/test/resources/conf/relying-party.xml b/idp-duo-impl/src/test/resources/conf/relying-party.xml
deleted file mode 100644
index f467896..0000000
--- a/idp-duo-impl/src/test/resources/conf/relying-party.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:context="http://www.springframework.org/schema/context"
-       xmlns:util="http://www.springframework.org/schema/util"
-       xmlns:p="http://www.springframework.org/schema/p"
-       xmlns:c="http://www.springframework.org/schema/c"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-                           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
-                           http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"
-                           
-       default-init-method="initialize"
-       default-destroy-method="destroy">
-
-    <!--
-    Unverified RP configuration, defaults to no support for any profiles. Add <ref> elements to the list
-    to enable specific default profile settings (as below), or create new beans inline to override defaults.
-    
-    "Unverified" typically means the IdP has no metadata, or equivalent way of assuring the identity and
-    legitimacy of a requesting system. To run an "open" IdP, you can enable profiles here.
-    -->
-    
-    <bean id="shibboleth.UnverifiedRelyingParty" parent="RelyingParty">
-        <property name="profileConfigurations">
-            <list>
-            <!-- <bean parent="SAML2.SSO" p:encryptAssertions="false" /> -->
-            </list>
-        </property>
-    </bean>
-
-    <!-- Default configuration, with default settings applied for all profiles. -->
-
-    <bean id="shibboleth.DefaultRelyingParty" parent="RelyingParty.MDDriven">
-        <property name="profileConfigurations">
-            <list>
-                <ref bean="CAS.LoginConfiguration.MDDriven" />
-                <ref bean="CAS.ValidateConfiguration.MDDriven" />
-                <ref bean="Shibboleth.SSO.MDDriven" />
-                <ref bean="SAML1.AttributeQuery.MDDriven" />
-                <ref bean="SAML1.ArtifactResolution.MDDriven" />
-                <ref bean="SAML2.SSO.MDDriven" />
-                <ref bean="SAML2.ECP.MDDriven" />
-                <ref bean="SAML2.Logout.MDDriven" />
-                <ref bean="SAML2.AttributeQuery.MDDriven" />
-                <ref bean="SAML2.ArtifactResolution.MDDriven" />
-            </list>
-        </property>
-    </bean>
-
-    <util:list id="shibboleth.RelyingPartyOverrides">
-
-    </util:list>
-
-</beans>
diff --git a/idp-duo-impl/src/test/resources/credentials/ldap-server.crt b/idp-duo-impl/src/test/resources/credentials/ldap-server.crt
deleted file mode 100644
index e6390b3..0000000
--- a/idp-duo-impl/src/test/resources/credentials/ldap-server.crt
+++ /dev/null
@@ -1,13 +0,0 @@
------BEGIN CERTIFICATE-----
-MIICATCCAWoCCQCZy4ovDlQTvDANBgkqhkiG9w0BAQUFADBFMRMwEQYKCZImiZPy
-LGQBGRYDbmV0MRowGAYKCZImiZPyLGQBGRYKc2hpYmJvbGV0aDESMBAGA1UEAxMJ
-bG9jYWxob3N0MB4XDTEzMDkyMDA0NDE1OFoXDTIzMDkxODA0NDE1OFowRTETMBEG
-CgmSJomT8ixkARkWA25ldDEaMBgGCgmSJomT8ixkARkWCnNoaWJib2xldGgxEjAQ
-BgNVBAMTCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA+Pj+
-Rk0FosrK8tdNJLASSbfRFEJDf0498bnwtor76PONwkTLjnm7paTMAy7oGIAccuBf
-n7183mlo/yh22x+7Fdux4ESvdp1FWl7nGlBBWUrLZzXwwGybC0qv3/Cmvfkvm6zh
-zgY7YyQYlA/RCjTk/pUfrXaIIaKwd+B2miBDrDUCAwEAATANBgkqhkiG9w0BAQUF
-AAOBgQCKQsndxYjsGIvK3lnlztIuKQmRlj7IHL/T6abBYwmQcyMa5o3hv6/Rx+Ze
-NSRfyhakPY4v5yUBi1fyIVIGcAbnak+GQIfsO8uDhzZt6DwshzHrnCbHTLQx6NTB
-4mvLjAdt7riBIl5y5n3tbtrZdpTgFhQxjLWTBpWIO0XKxqtBhw==
------END CERTIFICATE-----
diff --git a/pom.xml b/pom.xml
index 993793b..df37033 100644
--- a/pom.xml
+++ b/pom.xml
@@ -33,6 +33,13 @@
         <module>idp-duo-native-client-impl</module>
         <module>idp-duo-distribution</module>
     </modules>
+    
+    <distributionManagement>
+        <site>
+            <id>site</id>
+            <url>dav:${shibboleth.site.url}duo/${project.artifactId}/${project.version}/</url>
+        </site>
+    </distributionManagement>
 
     <repositories>
         <repository>

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list