[java-identity-provider] branch main updated: Rename test APIs causing split packages.

Scott Cantor cantor.2 at osu.edu
Thu Sep 17 22:13:24 UTC 2020


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

scantor 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=31ba7e66089f07f95f15b16492b6a7f39a037c57

The following commit(s) were added to refs/heads/main by this push:
       new  31ba7e660 Rename test APIs causing split packages.
31ba7e660 is described below

commit 31ba7e66089f07f95f15b16492b6a7f39a037c57
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Thu Sep 17 18:13:20 2020 -0400

    Rename test APIs causing split packages.
---
 .../idp/plugin/{ => impl}/PluginStateTest.java     |  6 +-
 .../idp/plugin/{ => impl/testing}/TestPlugin.java  |  4 +-
 .../idp/plugin/impl/testing/package-info.java      | 21 ++++++
 idp-attribute-filter-spring/pom.xml                |  7 --
 .../policy/AttributeIssuerRuleParserTest.java      |  1 -
 .../policy/AttributeRequesterRuleParserTest.java   |  1 -
 .../filter/spring/policy/DataSources.java          | 87 ++++++++++++++++++++++
 .../policy/ProxiedRequesterRuleParserTest.java     |  1 -
 .../resolver/AttributeResolverWorkContextTest.java |  3 +
 .../resolver/PluginDependencySupportTest.java      |  3 +
 .../resolver/ResolvedAttributeDefinitionTest.java  |  1 +
 .../resolver/ResolvedDataConnectorTest.java        |  1 +
 .../{ => testing}/MockAttributeDefinition.java     |  4 +-
 .../resolver/{ => testing}/MockDataConnector.java  |  6 +-
 .../MockStaticAttributeDefinition.java             |  4 +-
 .../{ => testing}/MockStaticDataConnector.java     |  4 +-
 .../{ => testing}/ResolverTestSupport.java         |  4 +-
 .../attribute/resolver/testing/package-info.java   | 22 ++++++
 .../resolver/ad/impl/DecryptedAttributeTest.java   |  2 +-
 .../resolver/ad/impl/PrescopedAtributeTest.java    |  2 +-
 .../resolver/ad/impl/RegexAtributeTest.java        |  2 +-
 ...SAML1NameIdentifierAttributeDefinitionTest.java |  2 +-
 .../impl/SAML2NameIDAttributeDefinitionTest.java   |  2 +-
 .../resolver/ad/impl/ScopedAttributeTest.java      |  2 +-
 .../resolver/ad/impl/ScriptedAttributeTest.java    |  2 +-
 .../resolver/ad/impl/SimpleAttributeTest.java      |  2 +-
 .../ad/mapped/impl/MappedAttributeTest.java        |  2 +-
 .../dc/impl/ComputedIDDataConnectorTest.java       |  2 +-
 .../resolver/impl/AttributeResolverImplTest.java   |  4 +-
 .../authn/context/AuthenticationContextTest.java   |  2 +-
 .../MockAuthenticationProfileConfiguration.java    |  2 +-
 .../{principal => testing}/TestPrincipal.java      |  2 +-
 .../shibboleth/idp/authn/testing/package-info.java | 22 ++++++
 .../DefaultAuthenticationResultSerializerTest.java |  2 +-
 .../idp/authn/impl/FinalizeAuthenticationTest.java |  2 +-
 .../FinalizeMultiFactorAuthenticationTest.java     |  2 +-
 .../impl/HTPasswdCredentialValidatorTest.java      |  2 +-
 .../InitializeRequestedPrincipalContextTest.java   |  4 +-
 .../authn/impl/JAASCredentialValidatorTest.java    |  2 +-
 .../authn/impl/SelectAuthenticationFlowTest.java   |  2 +-
 .../impl/ValidateExternalAuthenticationTest.java   |  2 +-
 .../idp/authn/impl/ValidateFunctionResultTest.java |  2 +-
 .../authn/impl/ValidateUserAgentAddressTest.java   |  2 +-
 .../authn/impl/complexAuthenticationResult.json    |  2 +-
 .../net.shibboleth.idp.plugin.PluginDescription    |  2 +-
 .../idp/profile/impl/ResolveAttributesTest.java    | 30 ++++++--
 .../profile/impl/ProcessLogoutRequestTest.java     |  2 +-
 .../idp/session/impl/DestroySessionsTest.java      |  1 +
 .../idp/session/impl/DetectIdentitySwitchTest.java |  1 +
 .../session/impl/PopulateSessionContextTest.java   |  1 +
 .../idp/session/impl/ProcessLogoutTest.java        |  1 +
 .../impl/StorageBackedSessionManagerTest.java      |  3 +-
 .../UpdateSessionWithAuthenticationResultTest.java |  1 +
 .../impl/UpdateSessionWithSPSessionTest.java       |  1 +
 .../{ => testing}/SessionManagerBaseTestCase.java  |  3 +-
 .../idp/session/impl/testing/package-info.java     | 22 ++++++
 56 files changed, 269 insertions(+), 55 deletions(-)

diff --git a/idp-admin-impl/src/test/java/net/shibboleth/idp/plugin/PluginStateTest.java b/idp-admin-impl/src/test/java/net/shibboleth/idp/plugin/impl/PluginStateTest.java
similarity index 95%
rename from idp-admin-impl/src/test/java/net/shibboleth/idp/plugin/PluginStateTest.java
rename to idp-admin-impl/src/test/java/net/shibboleth/idp/plugin/impl/PluginStateTest.java
index 8e1fc3aa1..d4a1a4186 100644
--- a/idp-admin-impl/src/test/java/net/shibboleth/idp/plugin/PluginStateTest.java
+++ b/idp-admin-impl/src/test/java/net/shibboleth/idp/plugin/impl/PluginStateTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.plugin;
+package net.shibboleth.idp.plugin.impl;
 
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertFalse;
@@ -29,7 +29,9 @@ import java.util.List;
 
 import org.testng.annotations.Test;
 
-import net.shibboleth.idp.plugin.impl.PluginState;
+import net.shibboleth.idp.plugin.PluginDescription;
+import net.shibboleth.idp.plugin.PluginVersion;
+import net.shibboleth.idp.plugin.impl.testing.TestPlugin;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 
 /**
diff --git a/idp-admin-impl/src/test/java/net/shibboleth/idp/plugin/TestPlugin.java b/idp-admin-impl/src/test/java/net/shibboleth/idp/plugin/impl/testing/TestPlugin.java
similarity index 94%
rename from idp-admin-impl/src/test/java/net/shibboleth/idp/plugin/TestPlugin.java
rename to idp-admin-impl/src/test/java/net/shibboleth/idp/plugin/impl/testing/TestPlugin.java
index 92a83724e..36e302ce6 100644
--- a/idp-admin-impl/src/test/java/net/shibboleth/idp/plugin/TestPlugin.java
+++ b/idp-admin-impl/src/test/java/net/shibboleth/idp/plugin/impl/testing/TestPlugin.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.plugin;
+package net.shibboleth.idp.plugin.impl.testing;
 
 import java.io.IOException;
 import java.net.URL;
@@ -24,6 +24,8 @@ import java.util.List;
 
 import org.springframework.core.io.ClassPathResource;
 
+import net.shibboleth.idp.plugin.AbstractPluginDescription;
+
 /**
  *
  */
diff --git a/idp-admin-impl/src/test/java/net/shibboleth/idp/plugin/impl/testing/package-info.java b/idp-admin-impl/src/test/java/net/shibboleth/idp/plugin/impl/testing/package-info.java
new file mode 100644
index 000000000..e63e21759
--- /dev/null
+++ b/idp-admin-impl/src/test/java/net/shibboleth/idp/plugin/impl/testing/package-info.java
@@ -0,0 +1,21 @@
+/*
+ * 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.impl.testing;
\ No newline at end of file
diff --git a/idp-attribute-filter-spring/pom.xml b/idp-attribute-filter-spring/pom.xml
index ae61ebeb3..9074f2615 100644
--- a/idp-attribute-filter-spring/pom.xml
+++ b/idp-attribute-filter-spring/pom.xml
@@ -119,13 +119,6 @@
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>idp-attribute-filter-impl</artifactId>
-            <version>${project.version}</version>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
 
         <dependency>
             <groupId>${opensaml.groupId}</groupId>
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeIssuerRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeIssuerRuleParserTest.java
index 267b79409..f01922f31 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeIssuerRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeIssuerRuleParserTest.java
@@ -25,7 +25,6 @@ import org.testng.annotations.Test;
 import net.shibboleth.idp.attribute.filter.PolicyRequirementRule;
 import net.shibboleth.idp.attribute.filter.PolicyRequirementRule.Tristate;
 import net.shibboleth.idp.attribute.filter.context.AttributeFilterContext;
-import net.shibboleth.idp.attribute.filter.matcher.impl.DataSources;
 import net.shibboleth.idp.attribute.filter.policyrule.filtercontext.impl.AttributeIssuerPolicyRule;
 import net.shibboleth.idp.attribute.filter.spring.BaseAttributeFilterParserTest;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeRequesterRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeRequesterRuleParserTest.java
index bd7f8428f..bdd0e0f6d 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeRequesterRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/AttributeRequesterRuleParserTest.java
@@ -34,7 +34,6 @@ import net.shibboleth.idp.attribute.filter.Matcher;
 import net.shibboleth.idp.attribute.filter.PolicyRequirementRule;
 import net.shibboleth.idp.attribute.filter.PolicyRequirementRule.Tristate;
 import net.shibboleth.idp.attribute.filter.context.AttributeFilterContext;
-import net.shibboleth.idp.attribute.filter.matcher.impl.DataSources;
 import net.shibboleth.idp.attribute.filter.policyrule.filtercontext.impl.AttributeRequesterPolicyRule;
 import net.shibboleth.idp.attribute.filter.spring.BaseAttributeFilterParserTest;
 import net.shibboleth.idp.attribute.resolver.ResolutionException;
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/DataSources.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/DataSources.java
new file mode 100644
index 000000000..be617d9e4
--- /dev/null
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/DataSources.java
@@ -0,0 +1,87 @@
+/*
+ * 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.attribute.filter.spring.policy;
+
+import javax.annotation.Nonnull;
+
+import net.shibboleth.idp.attribute.ByteAttributeValue;
+import net.shibboleth.idp.attribute.IdPAttributeValue;
+import net.shibboleth.idp.attribute.ScopedStringAttributeValue;
+import net.shibboleth.idp.attribute.StringAttributeValue;
+import net.shibboleth.idp.attribute.filter.context.AttributeFilterContext;
+import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
+import net.shibboleth.idp.saml.impl.testing.TestSources;
+
+import org.opensaml.messaging.context.BaseContext;
+
+/**
+ * Strings and such used for testing.
+ */
+ at SuppressWarnings("javadoc")
+public abstract class DataSources {
+
+    public final static String TEST_STRING = "nibbleahappywarthog";
+
+    public final static String TEST_STRING_UPPER = TEST_STRING.toUpperCase();
+
+    public final static String NON_MATCH_STRING = "ThisIsADifferentString";
+
+    public final static String TEST_REGEX = "^n.*g";
+
+    public final static StringAttributeValue STRING_VALUE = new StringAttributeValue(TEST_STRING);
+    
+    public final static StringAttributeValue STRING_VALUE_UPPER = new StringAttributeValue(TEST_STRING.toUpperCase());
+
+    public final static StringAttributeValue NON_MATCH_STRING_VALUE = new StringAttributeValue(NON_MATCH_STRING);
+
+    public final static ScopedStringAttributeValue SCOPED_VALUE_VALUE_MATCH = new ScopedStringAttributeValue(
+            TEST_STRING, NON_MATCH_STRING);
+
+    public final static ScopedStringAttributeValue SCOPED_VALUE_SCOPE_MATCH = new ScopedStringAttributeValue(
+            NON_MATCH_STRING, TEST_STRING);
+
+    public final static ByteAttributeValue BYTE_ATTRIBUTE_VALUE = new ByteAttributeValue(TEST_STRING.getBytes());
+
+    public final static IdPAttributeValue OTHER_VALUE = new IdPAttributeValue() {
+
+        @Override @Nonnull public Object getNativeValue() {
+            return TEST_STRING;
+        }
+        public String getDisplayValue() {
+            return TEST_STRING;
+        }
+    };
+
+    public static AttributeFilterContext populatedFilterContext(String principal, String issuerID, String recipientId) {
+
+        BaseContext parent = new BaseContext() {};
+        parent.addSubcontext(TestSources.createResolutionContext(principal, issuerID, recipientId));
+        AttributeFilterContext retVal = parent.getSubcontext(AttributeFilterContext.class, true);
+        retVal.setPrincipal(principal);
+        retVal.setAttributeIssuerID(issuerID);
+        retVal.setAttributeRecipientID(recipientId);
+        return retVal;
+    }
+
+    public static AttributeFilterContext unPopulatedFilterContext() {
+
+        BaseContext parent = new BaseContext() {};
+        parent.addSubcontext(new AttributeResolutionContext());
+        return parent.getSubcontext(AttributeFilterContext.class, true);
+    }
+}
diff --git a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/ProxiedRequesterRuleParserTest.java b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/ProxiedRequesterRuleParserTest.java
index a5e8f862b..cd66a4638 100644
--- a/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/ProxiedRequesterRuleParserTest.java
+++ b/idp-attribute-filter-spring/src/test/java/net/shibboleth/idp/attribute/filter/spring/policy/ProxiedRequesterRuleParserTest.java
@@ -36,7 +36,6 @@ import net.shibboleth.idp.attribute.filter.Matcher;
 import net.shibboleth.idp.attribute.filter.PolicyRequirementRule;
 import net.shibboleth.idp.attribute.filter.PolicyRequirementRule.Tristate;
 import net.shibboleth.idp.attribute.filter.context.AttributeFilterContext;
-import net.shibboleth.idp.attribute.filter.matcher.impl.DataSources;
 import net.shibboleth.idp.attribute.filter.policyrule.filtercontext.impl.ProxiedRequesterPolicyRule;
 import net.shibboleth.idp.attribute.filter.spring.BaseAttributeFilterParserTest;
 import net.shibboleth.idp.attribute.resolver.ResolutionException;
diff --git a/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AttributeResolverWorkContextTest.java b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AttributeResolverWorkContextTest.java
index 0f6055e88..7469bec57 100644
--- a/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AttributeResolverWorkContextTest.java
+++ b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/AttributeResolverWorkContextTest.java
@@ -24,6 +24,9 @@ import java.util.Map;
 import net.shibboleth.idp.attribute.IdPAttribute;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContext;
+import net.shibboleth.idp.attribute.resolver.testing.MockAttributeDefinition;
+import net.shibboleth.idp.attribute.resolver.testing.MockDataConnector;
+import net.shibboleth.idp.attribute.resolver.testing.MockStaticDataConnector;
 
 import org.testng.Assert;
 import org.testng.annotations.Test;
diff --git a/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/PluginDependencySupportTest.java b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/PluginDependencySupportTest.java
index 9f21e5d8c..eae86cd71 100644
--- a/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/PluginDependencySupportTest.java
+++ b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/PluginDependencySupportTest.java
@@ -26,6 +26,9 @@ import net.shibboleth.idp.attribute.IdPAttributeValue;
 import net.shibboleth.idp.attribute.StringAttributeValue;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContext;
+import net.shibboleth.idp.attribute.resolver.testing.MockStaticAttributeDefinition;
+import net.shibboleth.idp.attribute.resolver.testing.MockStaticDataConnector;
+import net.shibboleth.idp.attribute.resolver.testing.ResolverTestSupport;
 
 import org.testng.Assert;
 import org.testng.annotations.Test;
diff --git a/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/ResolvedAttributeDefinitionTest.java b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/ResolvedAttributeDefinitionTest.java
index 0d936e4a7..97b19a5ec 100644
--- a/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/ResolvedAttributeDefinitionTest.java
+++ b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/ResolvedAttributeDefinitionTest.java
@@ -20,6 +20,7 @@ package net.shibboleth.idp.attribute.resolver;
 import java.util.Collections;
 
 import net.shibboleth.idp.attribute.IdPAttribute;
+import net.shibboleth.idp.attribute.resolver.testing.MockStaticAttributeDefinition;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
 
diff --git a/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/ResolvedDataConnectorTest.java b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/ResolvedDataConnectorTest.java
index 73f23ce7e..d58565b43 100644
--- a/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/ResolvedDataConnectorTest.java
+++ b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/ResolvedDataConnectorTest.java
@@ -24,6 +24,7 @@ import java.util.Map;
 import net.shibboleth.idp.attribute.IdPAttribute;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContext;
+import net.shibboleth.idp.attribute.resolver.testing.MockStaticDataConnector;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
 
diff --git a/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/MockAttributeDefinition.java b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/testing/MockAttributeDefinition.java
similarity index 95%
rename from idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/MockAttributeDefinition.java
rename to idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/testing/MockAttributeDefinition.java
index f359ed8f0..8ca82d3b9 100644
--- a/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/MockAttributeDefinition.java
+++ b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/testing/MockAttributeDefinition.java
@@ -15,13 +15,15 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.attribute.resolver;
+package net.shibboleth.idp.attribute.resolver.testing;
 
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.idp.attribute.IdPAttribute;
+import net.shibboleth.idp.attribute.resolver.AbstractAttributeDefinition;
+import net.shibboleth.idp.attribute.resolver.ResolutionException;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContext;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
diff --git a/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/MockDataConnector.java b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/testing/MockDataConnector.java
similarity index 92%
rename from idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/MockDataConnector.java
rename to idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/testing/MockDataConnector.java
index d8ab9478c..589cbfe3e 100644
--- a/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/MockDataConnector.java
+++ b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/testing/MockDataConnector.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.attribute.resolver;
+package net.shibboleth.idp.attribute.resolver.testing;
 
 import java.util.Collections;
 import java.util.Map;
@@ -26,6 +26,10 @@ import javax.annotation.Nullable;
 import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.idp.attribute.IdPAttribute;
+import net.shibboleth.idp.attribute.resolver.AbstractDataConnector;
+import net.shibboleth.idp.attribute.resolver.ResolutionException;
+import net.shibboleth.idp.attribute.resolver.ResolverAttributeDefinitionDependency;
+import net.shibboleth.idp.attribute.resolver.ResolverDataConnectorDependency;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContext;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
diff --git a/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/MockStaticAttributeDefinition.java b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/testing/MockStaticAttributeDefinition.java
similarity index 94%
rename from idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/MockStaticAttributeDefinition.java
rename to idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/testing/MockStaticAttributeDefinition.java
index ab11fcbf0..c453fb717 100644
--- a/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/MockStaticAttributeDefinition.java
+++ b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/testing/MockStaticAttributeDefinition.java
@@ -15,13 +15,15 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.attribute.resolver;
+package net.shibboleth.idp.attribute.resolver.testing;
 
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 import javax.annotation.concurrent.ThreadSafe;
 
 import net.shibboleth.idp.attribute.IdPAttribute;
+import net.shibboleth.idp.attribute.resolver.AbstractAttributeDefinition;
+import net.shibboleth.idp.attribute.resolver.ResolutionException;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContext;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
diff --git a/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/MockStaticDataConnector.java b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/testing/MockStaticDataConnector.java
similarity index 95%
rename from idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/MockStaticDataConnector.java
rename to idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/testing/MockStaticDataConnector.java
index 7b2ee5785..b19b70254 100644
--- a/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/MockStaticDataConnector.java
+++ b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/testing/MockStaticDataConnector.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.attribute.resolver;
+package net.shibboleth.idp.attribute.resolver.testing;
 
 import java.util.Collection;
 import java.util.HashMap;
@@ -29,6 +29,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import net.shibboleth.idp.attribute.IdPAttribute;
+import net.shibboleth.idp.attribute.resolver.AbstractDataConnector;
+import net.shibboleth.idp.attribute.resolver.ResolutionException;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContext;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
diff --git a/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/ResolverTestSupport.java b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/testing/ResolverTestSupport.java
similarity index 96%
rename from idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/ResolverTestSupport.java
rename to idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/testing/ResolverTestSupport.java
index 52385f9ac..7a11277ff 100644
--- a/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/ResolverTestSupport.java
+++ b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/testing/ResolverTestSupport.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.attribute.resolver;
+package net.shibboleth.idp.attribute.resolver.testing;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -24,6 +24,8 @@ import java.util.List;
 import net.shibboleth.idp.attribute.IdPAttribute;
 import net.shibboleth.idp.attribute.IdPAttributeValue;
 import net.shibboleth.idp.attribute.StringAttributeValue;
+import net.shibboleth.idp.attribute.resolver.ResolutionException;
+import net.shibboleth.idp.attribute.resolver.ResolverPlugin;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContext;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
diff --git a/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/testing/package-info.java b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/testing/package-info.java
new file mode 100644
index 000000000..21f526e74
--- /dev/null
+++ b/idp-attribute-resolver-api/src/test/java/net/shibboleth/idp/attribute/resolver/testing/package-info.java
@@ -0,0 +1,22 @@
+/*
+ * 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.
+ */
+
+/**
+ * Testing utility classes.
+ */
+
+package net.shibboleth.idp.attribute.resolver.testing;
\ No newline at end of file
diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/DecryptedAttributeTest.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/DecryptedAttributeTest.java
index 22d060249..2bcf9a415 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/DecryptedAttributeTest.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/DecryptedAttributeTest.java
@@ -39,11 +39,11 @@ import net.shibboleth.idp.attribute.resolver.DataConnector;
 import net.shibboleth.idp.attribute.resolver.ResolutionException;
 import net.shibboleth.idp.attribute.resolver.ResolverAttributeDefinitionDependency;
 import net.shibboleth.idp.attribute.resolver.ResolverDataConnectorDependency;
-import net.shibboleth.idp.attribute.resolver.ResolverTestSupport;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContext;
 import net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl;
 import net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImplTest;
+import net.shibboleth.idp.attribute.resolver.testing.ResolverTestSupport;
 import net.shibboleth.idp.saml.impl.testing.TestSources;
 import net.shibboleth.utilities.java.support.collection.LazySet;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/PrescopedAtributeTest.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/PrescopedAtributeTest.java
index bd407665d..5b887a4d5 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/PrescopedAtributeTest.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/PrescopedAtributeTest.java
@@ -41,10 +41,10 @@ import net.shibboleth.idp.attribute.resolver.AttributeDefinition;
 import net.shibboleth.idp.attribute.resolver.DataConnector;
 import net.shibboleth.idp.attribute.resolver.ResolutionException;
 import net.shibboleth.idp.attribute.resolver.ResolverDataConnectorDependency;
-import net.shibboleth.idp.attribute.resolver.ResolverTestSupport;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl;
 import net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImplTest;
+import net.shibboleth.idp.attribute.resolver.testing.ResolverTestSupport;
 import net.shibboleth.idp.saml.impl.testing.TestSources;
 import net.shibboleth.utilities.java.support.collection.LazySet;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/RegexAtributeTest.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/RegexAtributeTest.java
index 8a3dd82c9..12d9e2ab9 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/RegexAtributeTest.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/RegexAtributeTest.java
@@ -41,10 +41,10 @@ import net.shibboleth.idp.attribute.resolver.AttributeDefinition;
 import net.shibboleth.idp.attribute.resolver.DataConnector;
 import net.shibboleth.idp.attribute.resolver.ResolutionException;
 import net.shibboleth.idp.attribute.resolver.ResolverDataConnectorDependency;
-import net.shibboleth.idp.attribute.resolver.ResolverTestSupport;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl;
 import net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImplTest;
+import net.shibboleth.idp.attribute.resolver.testing.ResolverTestSupport;
 import net.shibboleth.idp.saml.impl.testing.TestSources;
 import net.shibboleth.utilities.java.support.collection.LazySet;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/SAML1NameIdentifierAttributeDefinitionTest.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/SAML1NameIdentifierAttributeDefinitionTest.java
index af99205f5..aeb67b11b 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/SAML1NameIdentifierAttributeDefinitionTest.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/SAML1NameIdentifierAttributeDefinitionTest.java
@@ -44,10 +44,10 @@ import net.shibboleth.idp.attribute.resolver.DataConnector;
 import net.shibboleth.idp.attribute.resolver.ResolutionException;
 import net.shibboleth.idp.attribute.resolver.ResolverAttributeDefinitionDependency;
 import net.shibboleth.idp.attribute.resolver.ResolverDataConnectorDependency;
-import net.shibboleth.idp.attribute.resolver.ResolverTestSupport;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl;
 import net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImplTest;
+import net.shibboleth.idp.attribute.resolver.testing.ResolverTestSupport;
 import net.shibboleth.idp.saml.attribute.resolver.impl.SAML1NameIdentifierAttributeDefinition;
 import net.shibboleth.idp.saml.impl.testing.TestSources;
 import net.shibboleth.utilities.java.support.collection.LazySet;
diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/SAML2NameIDAttributeDefinitionTest.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/SAML2NameIDAttributeDefinitionTest.java
index 05da5cc20..a7a64a0a0 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/SAML2NameIDAttributeDefinitionTest.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/SAML2NameIDAttributeDefinitionTest.java
@@ -45,11 +45,11 @@ import net.shibboleth.idp.attribute.resolver.DataConnector;
 import net.shibboleth.idp.attribute.resolver.ResolutionException;
 import net.shibboleth.idp.attribute.resolver.ResolverAttributeDefinitionDependency;
 import net.shibboleth.idp.attribute.resolver.ResolverDataConnectorDependency;
-import net.shibboleth.idp.attribute.resolver.ResolverTestSupport;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContext;
 import net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl;
 import net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImplTest;
+import net.shibboleth.idp.attribute.resolver.testing.ResolverTestSupport;
 import net.shibboleth.idp.saml.attribute.resolver.impl.SAML2NameIDAttributeDefinition;
 import net.shibboleth.idp.saml.impl.testing.TestSources;
 import net.shibboleth.utilities.java.support.collection.LazySet;
diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScopedAttributeTest.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScopedAttributeTest.java
index a24329b8d..438916940 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScopedAttributeTest.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScopedAttributeTest.java
@@ -43,10 +43,10 @@ import net.shibboleth.idp.attribute.resolver.AttributeDefinition;
 import net.shibboleth.idp.attribute.resolver.DataConnector;
 import net.shibboleth.idp.attribute.resolver.ResolutionException;
 import net.shibboleth.idp.attribute.resolver.ResolverDataConnectorDependency;
-import net.shibboleth.idp.attribute.resolver.ResolverTestSupport;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl;
 import net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImplTest;
+import net.shibboleth.idp.attribute.resolver.testing.ResolverTestSupport;
 import net.shibboleth.idp.saml.impl.testing.TestSources;
 import net.shibboleth.utilities.java.support.collection.LazySet;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScriptedAttributeTest.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScriptedAttributeTest.java
index bcab44ada..5f3700ae8 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScriptedAttributeTest.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/ScriptedAttributeTest.java
@@ -56,11 +56,11 @@ import net.shibboleth.idp.attribute.resolver.DataConnector;
 import net.shibboleth.idp.attribute.resolver.ResolutionException;
 import net.shibboleth.idp.attribute.resolver.ResolverAttributeDefinitionDependency;
 import net.shibboleth.idp.attribute.resolver.ResolverDataConnectorDependency;
-import net.shibboleth.idp.attribute.resolver.ResolverTestSupport;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.dc.impl.testing.SAMLAttributeDataConnector;
 import net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl;
 import net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImplTest;
+import net.shibboleth.idp.attribute.resolver.testing.ResolverTestSupport;
 import net.shibboleth.idp.authn.AuthenticationResult;
 import net.shibboleth.idp.authn.context.SubjectContext;
 import net.shibboleth.idp.saml.authn.principal.AuthenticationMethodPrincipal;
diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/SimpleAttributeTest.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/SimpleAttributeTest.java
index a3ae9bfc9..8d335e201 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/SimpleAttributeTest.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/impl/SimpleAttributeTest.java
@@ -38,11 +38,11 @@ import net.shibboleth.idp.attribute.resolver.DataConnector;
 import net.shibboleth.idp.attribute.resolver.ResolutionException;
 import net.shibboleth.idp.attribute.resolver.ResolverAttributeDefinitionDependency;
 import net.shibboleth.idp.attribute.resolver.ResolverDataConnectorDependency;
-import net.shibboleth.idp.attribute.resolver.ResolverTestSupport;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContext;
 import net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl;
 import net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImplTest;
+import net.shibboleth.idp.attribute.resolver.testing.ResolverTestSupport;
 import net.shibboleth.idp.saml.impl.testing.TestSources;
 import net.shibboleth.utilities.java.support.collection.LazySet;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/mapped/impl/MappedAttributeTest.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/mapped/impl/MappedAttributeTest.java
index 019ff86ed..df0dbf5a7 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/mapped/impl/MappedAttributeTest.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/ad/mapped/impl/MappedAttributeTest.java
@@ -33,8 +33,8 @@ import net.shibboleth.idp.attribute.IdPAttribute;
 import net.shibboleth.idp.attribute.StringAttributeValue;
 import net.shibboleth.idp.attribute.resolver.ResolutionException;
 import net.shibboleth.idp.attribute.resolver.ResolverDataConnectorDependency;
-import net.shibboleth.idp.attribute.resolver.ResolverTestSupport;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
+import net.shibboleth.idp.attribute.resolver.testing.ResolverTestSupport;
 import net.shibboleth.idp.saml.impl.testing.TestSources;
 import net.shibboleth.utilities.java.support.collection.LazySet;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/ComputedIDDataConnectorTest.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/ComputedIDDataConnectorTest.java
index 33039c519..f2c94212c 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/ComputedIDDataConnectorTest.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/impl/ComputedIDDataConnectorTest.java
@@ -43,11 +43,11 @@ import net.shibboleth.idp.attribute.resolver.AttributeDefinition;
 import net.shibboleth.idp.attribute.resolver.DataConnector;
 import net.shibboleth.idp.attribute.resolver.ResolutionException;
 import net.shibboleth.idp.attribute.resolver.ResolverDataConnectorDependency;
-import net.shibboleth.idp.attribute.resolver.ResolverTestSupport;
 import net.shibboleth.idp.attribute.resolver.ad.impl.SimpleAttributeDefinition;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl;
 import net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImplTest;
+import net.shibboleth.idp.attribute.resolver.testing.ResolverTestSupport;
 import net.shibboleth.idp.saml.impl.testing.TestSources;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.component.ComponentSupport;
diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImplTest.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImplTest.java
index b0c699350..bb6e01488 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImplTest.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/impl/AttributeResolverImplTest.java
@@ -51,8 +51,6 @@ import net.shibboleth.idp.attribute.context.AttributeContext;
 import net.shibboleth.idp.attribute.resolver.AbstractAttributeDefinition;
 import net.shibboleth.idp.attribute.resolver.AttributeDefinition;
 import net.shibboleth.idp.attribute.resolver.DataConnector;
-import net.shibboleth.idp.attribute.resolver.MockAttributeDefinition;
-import net.shibboleth.idp.attribute.resolver.MockDataConnector;
 import net.shibboleth.idp.attribute.resolver.ResolutionException;
 import net.shibboleth.idp.attribute.resolver.ResolverAttributeDefinitionDependency;
 import net.shibboleth.idp.attribute.resolver.ResolverDataConnectorDependency;
@@ -60,6 +58,8 @@ import net.shibboleth.idp.attribute.resolver.ad.impl.SimpleAttributeDefinition;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolverWorkContext;
 import net.shibboleth.idp.attribute.resolver.dc.impl.StaticDataConnector;
+import net.shibboleth.idp.attribute.resolver.testing.MockAttributeDefinition;
+import net.shibboleth.idp.attribute.resolver.testing.MockDataConnector;
 import net.shibboleth.idp.saml.impl.testing.TestSources;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 import net.shibboleth.utilities.java.support.collection.LazySet;
diff --git a/idp-authn-api/src/test/java/net/shibboleth/idp/authn/context/AuthenticationContextTest.java b/idp-authn-api/src/test/java/net/shibboleth/idp/authn/context/AuthenticationContextTest.java
index e9a5dca99..1df85467e 100644
--- a/idp-authn-api/src/test/java/net/shibboleth/idp/authn/context/AuthenticationContextTest.java
+++ b/idp-authn-api/src/test/java/net/shibboleth/idp/authn/context/AuthenticationContextTest.java
@@ -26,7 +26,7 @@ import javax.security.auth.Subject;
 import net.shibboleth.idp.authn.AuthenticationFlowDescriptor;
 import net.shibboleth.idp.authn.AuthenticationResult;
 import net.shibboleth.idp.authn.principal.PrincipalEvalPredicateFactoryRegistry;
-import net.shibboleth.idp.authn.principal.TestPrincipal;
+import net.shibboleth.idp.authn.testing.TestPrincipal;
 
 import org.testng.Assert;
 import org.testng.annotations.Test;
diff --git a/idp-authn-api/src/test/java/net/shibboleth/idp/authn/config/MockAuthenticationProfileConfiguration.java b/idp-authn-api/src/test/java/net/shibboleth/idp/authn/testing/MockAuthenticationProfileConfiguration.java
similarity index 99%
rename from idp-authn-api/src/test/java/net/shibboleth/idp/authn/config/MockAuthenticationProfileConfiguration.java
rename to idp-authn-api/src/test/java/net/shibboleth/idp/authn/testing/MockAuthenticationProfileConfiguration.java
index 6a8164888..6a63a1d07 100644
--- a/idp-authn-api/src/test/java/net/shibboleth/idp/authn/config/MockAuthenticationProfileConfiguration.java
+++ b/idp-authn-api/src/test/java/net/shibboleth/idp/authn/testing/MockAuthenticationProfileConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.authn.config;
+package net.shibboleth.idp.authn.testing;
 
 import java.security.Principal;
 import java.util.Collection;
diff --git a/idp-authn-api/src/test/java/net/shibboleth/idp/authn/principal/TestPrincipal.java b/idp-authn-api/src/test/java/net/shibboleth/idp/authn/testing/TestPrincipal.java
similarity index 98%
rename from idp-authn-api/src/test/java/net/shibboleth/idp/authn/principal/TestPrincipal.java
rename to idp-authn-api/src/test/java/net/shibboleth/idp/authn/testing/TestPrincipal.java
index e571b4ffb..db54588f3 100644
--- a/idp-authn-api/src/test/java/net/shibboleth/idp/authn/principal/TestPrincipal.java
+++ b/idp-authn-api/src/test/java/net/shibboleth/idp/authn/testing/TestPrincipal.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.authn.principal;
+package net.shibboleth.idp.authn.testing;
 
 import java.security.Principal;
 
diff --git a/idp-authn-api/src/test/java/net/shibboleth/idp/authn/testing/package-info.java b/idp-authn-api/src/test/java/net/shibboleth/idp/authn/testing/package-info.java
new file mode 100644
index 000000000..9a87953a4
--- /dev/null
+++ b/idp-authn-api/src/test/java/net/shibboleth/idp/authn/testing/package-info.java
@@ -0,0 +1,22 @@
+/*
+ * 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.
+ */
+
+/**
+ * Testing utility classes.
+ */
+
+package net.shibboleth.idp.authn.testing;
\ No newline at end of file
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/DefaultAuthenticationResultSerializerTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/DefaultAuthenticationResultSerializerTest.java
index 4d4579222..758df202d 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/DefaultAuthenticationResultSerializerTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/DefaultAuthenticationResultSerializerTest.java
@@ -46,11 +46,11 @@ import net.shibboleth.idp.authn.principal.PrincipalServiceManager;
 import net.shibboleth.idp.authn.principal.ProxyAuthenticationPrincipal;
 import net.shibboleth.idp.authn.principal.SealedPrincipalSerializer;
 import net.shibboleth.idp.authn.principal.SimplePrincipalSerializer;
-import net.shibboleth.idp.authn.principal.TestPrincipal;
 import net.shibboleth.idp.authn.principal.UsernamePrincipal;
 import net.shibboleth.idp.authn.principal.impl.IdPAttributePrincipalSerializer;
 import net.shibboleth.idp.authn.principal.impl.LDAPPrincipalSerializer;
 import net.shibboleth.idp.authn.principal.impl.ProxyAuthenticationPrincipalSerializer;
+import net.shibboleth.idp.authn.testing.TestPrincipal;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.security.DataSealer;
 import net.shibboleth.utilities.java.support.security.impl.BasicKeystoreKeyStrategy;
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/FinalizeAuthenticationTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/FinalizeAuthenticationTest.java
index 8b82c0f00..6d4652ebd 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/FinalizeAuthenticationTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/FinalizeAuthenticationTest.java
@@ -31,8 +31,8 @@ import net.shibboleth.idp.authn.context.SubjectCanonicalizationContext;
 import net.shibboleth.idp.authn.context.SubjectContext;
 import net.shibboleth.idp.authn.impl.testing.BaseAuthenticationContextTest;
 import net.shibboleth.idp.authn.principal.ProxyAuthenticationPrincipal;
-import net.shibboleth.idp.authn.principal.TestPrincipal;
 import net.shibboleth.idp.authn.principal.impl.ExactPrincipalEvalPredicateFactory;
+import net.shibboleth.idp.authn.testing.TestPrincipal;
 import net.shibboleth.idp.profile.IdPEventIds;
 import net.shibboleth.idp.profile.context.RelyingPartyContext;
 import net.shibboleth.idp.profile.testing.ActionTestingSupport;
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/FinalizeMultiFactorAuthenticationTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/FinalizeMultiFactorAuthenticationTest.java
index 31cc4ee65..37c696158 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/FinalizeMultiFactorAuthenticationTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/FinalizeMultiFactorAuthenticationTest.java
@@ -23,8 +23,8 @@ import net.shibboleth.idp.authn.AuthenticationResult;
 import net.shibboleth.idp.authn.AuthnEventIds;
 import net.shibboleth.idp.authn.context.SubjectCanonicalizationContext;
 import net.shibboleth.idp.authn.principal.AuthenticationResultPrincipal;
-import net.shibboleth.idp.authn.principal.TestPrincipal;
 import net.shibboleth.idp.authn.principal.UsernamePrincipal;
+import net.shibboleth.idp.authn.testing.TestPrincipal;
 import net.shibboleth.idp.profile.testing.ActionTestingSupport;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.logic.FunctionSupport;
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/HTPasswdCredentialValidatorTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/HTPasswdCredentialValidatorTest.java
index 6298afe01..8424a3f7f 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/HTPasswdCredentialValidatorTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/HTPasswdCredentialValidatorTest.java
@@ -32,9 +32,9 @@ import net.shibboleth.idp.authn.context.AuthenticationErrorContext;
 import net.shibboleth.idp.authn.context.RequestedPrincipalContext;
 import net.shibboleth.idp.authn.context.UsernamePasswordContext;
 import net.shibboleth.idp.authn.impl.testing.BaseAuthenticationContextTest;
-import net.shibboleth.idp.authn.principal.TestPrincipal;
 import net.shibboleth.idp.authn.principal.UsernamePrincipal;
 import net.shibboleth.idp.authn.principal.impl.ExactPrincipalEvalPredicateFactory;
+import net.shibboleth.idp.authn.testing.TestPrincipal;
 import net.shibboleth.idp.profile.testing.ActionTestingSupport;
 
 import org.springframework.core.io.ClassPathResource;
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/InitializeRequestedPrincipalContextTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/InitializeRequestedPrincipalContextTest.java
index a25a8ae0e..237afe2e0 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/InitializeRequestedPrincipalContextTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/InitializeRequestedPrincipalContextTest.java
@@ -20,10 +20,10 @@ package net.shibboleth.idp.authn.impl;
 import java.security.Principal;
 import java.util.Collections;
 
-import net.shibboleth.idp.authn.config.MockAuthenticationProfileConfiguration;
 import net.shibboleth.idp.authn.context.AuthenticationContext;
 import net.shibboleth.idp.authn.context.RequestedPrincipalContext;
-import net.shibboleth.idp.authn.principal.TestPrincipal;
+import net.shibboleth.idp.authn.testing.MockAuthenticationProfileConfiguration;
+import net.shibboleth.idp.authn.testing.TestPrincipal;
 import net.shibboleth.idp.profile.IdPEventIds;
 
 import org.opensaml.profile.context.ProfileRequestContext;
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/JAASCredentialValidatorTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/JAASCredentialValidatorTest.java
index 183be6f14..82113b538 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/JAASCredentialValidatorTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/JAASCredentialValidatorTest.java
@@ -35,9 +35,9 @@ import net.shibboleth.idp.authn.context.AuthenticationErrorContext;
 import net.shibboleth.idp.authn.context.RequestedPrincipalContext;
 import net.shibboleth.idp.authn.context.UsernamePasswordContext;
 import net.shibboleth.idp.authn.impl.testing.BaseAuthenticationContextTest;
-import net.shibboleth.idp.authn.principal.TestPrincipal;
 import net.shibboleth.idp.authn.principal.UsernamePrincipal;
 import net.shibboleth.idp.authn.principal.impl.ExactPrincipalEvalPredicateFactory;
+import net.shibboleth.idp.authn.testing.TestPrincipal;
 import net.shibboleth.idp.profile.testing.ActionTestingSupport;
 import net.shibboleth.utilities.java.support.collection.Pair;
 import net.shibboleth.utilities.java.support.net.URISupport;
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/SelectAuthenticationFlowTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/SelectAuthenticationFlowTest.java
index cb1287463..001276069 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/SelectAuthenticationFlowTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/SelectAuthenticationFlowTest.java
@@ -30,8 +30,8 @@ import net.shibboleth.idp.authn.context.AuthenticationContext;
 import net.shibboleth.idp.authn.context.PreferredPrincipalContext;
 import net.shibboleth.idp.authn.context.RequestedPrincipalContext;
 import net.shibboleth.idp.authn.impl.testing.BaseAuthenticationContextTest;
-import net.shibboleth.idp.authn.principal.TestPrincipal;
 import net.shibboleth.idp.authn.principal.impl.ExactPrincipalEvalPredicateFactory;
+import net.shibboleth.idp.authn.testing.TestPrincipal;
 import net.shibboleth.idp.profile.testing.ActionTestingSupport;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateExternalAuthenticationTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateExternalAuthenticationTest.java
index f4c33330c..9052115f1 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateExternalAuthenticationTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateExternalAuthenticationTest.java
@@ -32,8 +32,8 @@ import net.shibboleth.idp.authn.context.AuthenticationErrorContext;
 import net.shibboleth.idp.authn.context.ExternalAuthenticationContext;
 import net.shibboleth.idp.authn.impl.testing.BaseAuthenticationContextTest;
 import net.shibboleth.idp.authn.principal.ProxyAuthenticationPrincipal;
-import net.shibboleth.idp.authn.principal.TestPrincipal;
 import net.shibboleth.idp.authn.principal.UsernamePrincipal;
+import net.shibboleth.idp.authn.testing.TestPrincipal;
 import net.shibboleth.idp.profile.testing.ActionTestingSupport;
 
 import org.springframework.webflow.execution.Event;
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateFunctionResultTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateFunctionResultTest.java
index 0948e40b8..5c48b084e 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateFunctionResultTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateFunctionResultTest.java
@@ -24,8 +24,8 @@ import javax.security.auth.Subject;
 import net.shibboleth.idp.authn.AuthnEventIds;
 import net.shibboleth.idp.authn.context.AuthenticationContext;
 import net.shibboleth.idp.authn.impl.testing.BaseAuthenticationContextTest;
-import net.shibboleth.idp.authn.principal.TestPrincipal;
 import net.shibboleth.idp.authn.principal.UsernamePrincipal;
+import net.shibboleth.idp.authn.testing.TestPrincipal;
 import net.shibboleth.idp.profile.testing.ActionTestingSupport;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.logic.FunctionSupport;
diff --git a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateUserAgentAddressTest.java b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateUserAgentAddressTest.java
index dbb070d38..ac2542727 100644
--- a/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateUserAgentAddressTest.java
+++ b/idp-authn-impl/src/test/java/net/shibboleth/idp/authn/impl/ValidateUserAgentAddressTest.java
@@ -27,9 +27,9 @@ import net.shibboleth.idp.authn.AuthnEventIds;
 import net.shibboleth.idp.authn.context.AuthenticationContext;
 import net.shibboleth.idp.authn.context.RequestedPrincipalContext;
 import net.shibboleth.idp.authn.impl.testing.BaseAuthenticationContextTest;
-import net.shibboleth.idp.authn.principal.TestPrincipal;
 import net.shibboleth.idp.authn.principal.UsernamePrincipal;
 import net.shibboleth.idp.authn.principal.impl.ExactPrincipalEvalPredicateFactory;
+import net.shibboleth.idp.authn.testing.TestPrincipal;
 import net.shibboleth.idp.profile.testing.ActionTestingSupport;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.net.IPRange;
diff --git a/idp-authn-impl/src/test/resources/net/shibboleth/idp/authn/impl/complexAuthenticationResult.json b/idp-authn-impl/src/test/resources/net/shibboleth/idp/authn/impl/complexAuthenticationResult.json
index 2b4362f1c..5946097e6 100644
--- a/idp-authn-impl/src/test/resources/net/shibboleth/idp/authn/impl/complexAuthenticationResult.json
+++ b/idp-authn-impl/src/test/resources/net/shibboleth/idp/authn/impl/complexAuthenticationResult.json
@@ -1 +1 @@
-{"id":"test","ts":1378827849463,"princ":[{"U":"bob"},{"typ":"net.shibboleth.idp.authn.principal.TestPrincipal","nam":"foo"},{"typ":"net.shibboleth.idp.authn.principal.TestPrincipal","nam":"bar"}]}
\ No newline at end of file
+{"id":"test","ts":1378827849463,"princ":[{"U":"bob"},{"typ":"net.shibboleth.idp.authn.testing.TestPrincipal","nam":"foo"},{"typ":"net.shibboleth.idp.authn.testing.TestPrincipal","nam":"bar"}]}
\ No newline at end of file
diff --git a/idp-installer/src/test/resources/META-INF/services/net.shibboleth.idp.plugin.PluginDescription b/idp-installer/src/test/resources/META-INF/services/net.shibboleth.idp.plugin.PluginDescription
index abc52d47f..50e40ce8d 100644
--- a/idp-installer/src/test/resources/META-INF/services/net.shibboleth.idp.plugin.PluginDescription
+++ b/idp-installer/src/test/resources/META-INF/services/net.shibboleth.idp.plugin.PluginDescription
@@ -1 +1 @@
-net.shibboleth.idp.plugin.TestPlugin
+net.shibboleth.idp.plugin.impl.testing.TestPlugin
diff --git a/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/impl/ResolveAttributesTest.java b/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/impl/ResolveAttributesTest.java
index 4fe66d253..a856c40b2 100644
--- a/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/impl/ResolveAttributesTest.java
+++ b/idp-profile-impl/src/test/java/net/shibboleth/idp/profile/impl/ResolveAttributesTest.java
@@ -17,24 +17,30 @@
 
 package net.shibboleth.idp.profile.impl;
 
+import java.util.Collection;
 import java.util.Collections;
 import java.util.Map;
 
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+import net.shibboleth.ext.spring.testing.MockApplicationContext;
 import net.shibboleth.idp.attribute.IdPAttribute;
 import net.shibboleth.idp.attribute.StringAttributeValue;
 import net.shibboleth.idp.attribute.context.AttributeContext;
 import net.shibboleth.idp.attribute.resolver.AttributeDefinition;
-import net.shibboleth.idp.attribute.resolver.MockAttributeDefinition;
+import net.shibboleth.idp.attribute.resolver.DataConnector;
 import net.shibboleth.idp.attribute.resolver.ResolutionException;
 import net.shibboleth.idp.attribute.resolver.context.AttributeResolutionContext;
 import net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl;
-import net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImplTest;
+import net.shibboleth.idp.attribute.resolver.testing.MockAttributeDefinition;
 import net.shibboleth.idp.authn.context.SubjectContext;
 import net.shibboleth.idp.profile.IdPEventIds;
 import net.shibboleth.idp.profile.context.RelyingPartyContext;
 import net.shibboleth.idp.profile.context.navigate.WebflowRequestContextProfileRequestContextLookup;
 import net.shibboleth.idp.profile.testing.ActionTestingSupport;
 import net.shibboleth.idp.profile.testing.RequestContextBuilder;
+import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 import net.shibboleth.utilities.java.support.collection.LazySet;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.test.service.MockReloadableService;
@@ -73,7 +79,7 @@ public class ResolveAttributesTest {
         final AttributeDefinition ad1 = new MockAttributeDefinition("ad1", attribute);
         definitions.add(ad1);
 
-        final AttributeResolverImpl resolver = AttributeResolverImplTest.newAttributeResolverImpl("resolver", definitions, null);
+        final AttributeResolverImpl resolver = newAttributeResolverImpl("resolver", definitions, null);
         ad1.initialize();
         resolver.initialize();
 
@@ -107,7 +113,7 @@ public class ResolveAttributesTest {
         final AttributeDefinition ad1 = new MockAttributeDefinition("ad1", attribute);
         definitions.add(ad1);
 
-        final AttributeResolverImpl resolver = AttributeResolverImplTest.newAttributeResolverImpl("resolver", definitions, null);
+        final AttributeResolverImpl resolver = newAttributeResolverImpl("resolver", definitions, null);
         ad1.initialize();
         resolver.initialize();
 
@@ -170,7 +176,7 @@ public class ResolveAttributesTest {
         final AttributeDefinition ad1 = new MockAttributeDefinition("ad1", new ResolutionException());
         definitions.add(ad1);
 
-        final AttributeResolverImpl resolver = AttributeResolverImplTest.newAttributeResolverImpl("resolver", definitions, null);
+        final AttributeResolverImpl resolver = newAttributeResolverImpl("resolver", definitions, null);
         ad1.initialize();
         resolver.initialize();
 
@@ -206,4 +212,16 @@ public class ResolveAttributesTest {
         ActionTestingSupport.assertEvent(event, IdPEventIds.UNABLE_RESOLVE_ATTRIBS);
     }
     
-}
+    public static AttributeResolverImpl newAttributeResolverImpl(@Nonnull @NotEmpty final String resolverId,
+            @Nullable final Collection<AttributeDefinition> definitions,
+            @Nullable final Collection<DataConnector> connectors) {
+        final AttributeResolverImpl result = new AttributeResolverImpl();
+        result.setId(resolverId);
+        
+        result.setAttributeDefinitions(definitions == null ? Collections.EMPTY_LIST : definitions);
+        result.setDataConnectors(connectors == null ? Collections.EMPTY_LIST : connectors);
+        result.setApplicationContext(new MockApplicationContext());
+        return result;
+    }
+
+}
\ No newline at end of file
diff --git a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessLogoutRequestTest.java b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessLogoutRequestTest.java
index 4adc79b1c..4cba4cd4b 100644
--- a/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessLogoutRequestTest.java
+++ b/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/saml2/profile/impl/ProcessLogoutRequestTest.java
@@ -44,7 +44,7 @@ import net.shibboleth.idp.session.SessionException;
 import net.shibboleth.idp.session.context.LogoutContext;
 import net.shibboleth.idp.session.context.SessionContext;
 import net.shibboleth.idp.session.criterion.HttpServletRequestCriterion;
-import net.shibboleth.idp.session.impl.SessionManagerBaseTestCase;
+import net.shibboleth.idp.session.impl.testing.SessionManagerBaseTestCase;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.net.HttpServletRequestResponseContext;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
diff --git a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/DestroySessionsTest.java b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/DestroySessionsTest.java
index af890a8d4..018fce22b 100644
--- a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/DestroySessionsTest.java
+++ b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/DestroySessionsTest.java
@@ -34,6 +34,7 @@ import net.shibboleth.idp.session.context.LogoutContext;
 import net.shibboleth.idp.session.context.SessionContext;
 import net.shibboleth.idp.session.criterion.HttpServletRequestCriterion;
 import net.shibboleth.idp.session.criterion.SessionIdCriterion;
+import net.shibboleth.idp.session.impl.testing.SessionManagerBaseTestCase;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.net.HttpServletRequestResponseContext;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
diff --git a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/DetectIdentitySwitchTest.java b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/DetectIdentitySwitchTest.java
index cb409e6c9..5a5b360e9 100644
--- a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/DetectIdentitySwitchTest.java
+++ b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/DetectIdentitySwitchTest.java
@@ -29,6 +29,7 @@ import net.shibboleth.idp.profile.testing.ActionTestingSupport;
 import net.shibboleth.idp.profile.testing.RequestContextBuilder;
 import net.shibboleth.idp.session.SessionException;
 import net.shibboleth.idp.session.context.SessionContext;
+import net.shibboleth.idp.session.impl.testing.SessionManagerBaseTestCase;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.net.HttpServletRequestResponseContext;
 
diff --git a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/PopulateSessionContextTest.java b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/PopulateSessionContextTest.java
index 08959f0f7..d97be5db0 100644
--- a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/PopulateSessionContextTest.java
+++ b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/PopulateSessionContextTest.java
@@ -24,6 +24,7 @@ import net.shibboleth.idp.profile.testing.ActionTestingSupport;
 import net.shibboleth.idp.profile.testing.RequestContextBuilder;
 import net.shibboleth.idp.session.SessionException;
 import net.shibboleth.idp.session.context.SessionContext;
+import net.shibboleth.idp.session.impl.testing.SessionManagerBaseTestCase;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.net.HttpServletRequestResponseContext;
 
diff --git a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/ProcessLogoutTest.java b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/ProcessLogoutTest.java
index 558c80a13..06f30fdd6 100644
--- a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/ProcessLogoutTest.java
+++ b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/ProcessLogoutTest.java
@@ -34,6 +34,7 @@ import net.shibboleth.idp.session.SPSessionSerializerRegistry;
 import net.shibboleth.idp.session.SessionException;
 import net.shibboleth.idp.session.context.LogoutContext;
 import net.shibboleth.idp.session.criterion.HttpServletRequestCriterion;
+import net.shibboleth.idp.session.impl.testing.SessionManagerBaseTestCase;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.net.HttpServletRequestResponseContext;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
diff --git a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/StorageBackedSessionManagerTest.java b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/StorageBackedSessionManagerTest.java
index a9b6e3dc6..bf9bb6eeb 100644
--- a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/StorageBackedSessionManagerTest.java
+++ b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/StorageBackedSessionManagerTest.java
@@ -35,8 +35,8 @@ import javax.servlet.http.Cookie;
 import net.shibboleth.idp.authn.AuthenticationFlowDescriptor;
 import net.shibboleth.idp.authn.AuthenticationResult;
 import net.shibboleth.idp.authn.impl.DefaultAuthenticationResultSerializer;
-import net.shibboleth.idp.authn.principal.TestPrincipal;
 import net.shibboleth.idp.authn.principal.UsernamePrincipal;
+import net.shibboleth.idp.authn.testing.TestPrincipal;
 import net.shibboleth.idp.session.BasicSPSession;
 import net.shibboleth.idp.session.IdPSession;
 import net.shibboleth.idp.session.SPSession;
@@ -45,6 +45,7 @@ import net.shibboleth.idp.session.SessionException;
 import net.shibboleth.idp.session.criterion.HttpServletRequestCriterion;
 import net.shibboleth.idp.session.criterion.SPSessionCriterion;
 import net.shibboleth.idp.session.criterion.SessionIdCriterion;
+import net.shibboleth.idp.session.impl.testing.SessionManagerBaseTestCase;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.logic.ConstraintViolationException;
 import net.shibboleth.utilities.java.support.net.HttpServletRequestResponseContext;
diff --git a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/UpdateSessionWithAuthenticationResultTest.java b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/UpdateSessionWithAuthenticationResultTest.java
index b824393e0..fe56d2ae8 100644
--- a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/UpdateSessionWithAuthenticationResultTest.java
+++ b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/UpdateSessionWithAuthenticationResultTest.java
@@ -33,6 +33,7 @@ import net.shibboleth.idp.session.IdPSession;
 import net.shibboleth.idp.session.SessionException;
 import net.shibboleth.idp.session.context.SessionContext;
 import net.shibboleth.idp.session.criterion.SessionIdCriterion;
+import net.shibboleth.idp.session.impl.testing.SessionManagerBaseTestCase;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.net.HttpServletRequestResponseContext;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
diff --git a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/UpdateSessionWithSPSessionTest.java b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/UpdateSessionWithSPSessionTest.java
index adb608e00..9d4ae92ec 100644
--- a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/UpdateSessionWithSPSessionTest.java
+++ b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/UpdateSessionWithSPSessionTest.java
@@ -31,6 +31,7 @@ import net.shibboleth.idp.session.SPSession;
 import net.shibboleth.idp.session.SPSessionSerializerRegistry;
 import net.shibboleth.idp.session.SessionException;
 import net.shibboleth.idp.session.context.SessionContext;
+import net.shibboleth.idp.session.impl.testing.SessionManagerBaseTestCase;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.logic.FunctionSupport;
 import net.shibboleth.utilities.java.support.net.HttpServletRequestResponseContext;
diff --git a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/SessionManagerBaseTestCase.java b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/testing/SessionManagerBaseTestCase.java
similarity index 97%
rename from idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/SessionManagerBaseTestCase.java
rename to idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/testing/SessionManagerBaseTestCase.java
index c94173832..55f3bd6df 100644
--- a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/SessionManagerBaseTestCase.java
+++ b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/testing/SessionManagerBaseTestCase.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package net.shibboleth.idp.session.impl;
+package net.shibboleth.idp.session.impl.testing;
 
 import java.time.Duration;
 
@@ -23,6 +23,7 @@ import javax.annotation.Nonnull;
 import javax.servlet.http.Cookie;
 
 import net.shibboleth.idp.session.SessionException;
+import net.shibboleth.idp.session.impl.StorageBackedSessionManager;
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.net.CookieManager;
diff --git a/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/testing/package-info.java b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/testing/package-info.java
new file mode 100644
index 000000000..f53019cb3
--- /dev/null
+++ b/idp-session-impl/src/test/java/net/shibboleth/idp/session/impl/testing/package-info.java
@@ -0,0 +1,22 @@
+/*
+ * 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.
+ */
+
+/**
+ * Testing utility classes.
+ */
+
+package net.shibboleth.idp.session.impl.testing;
\ No newline at end of file

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


More information about the commits mailing list