[java-identity-provider COMMIT] in /trunk/idp-attribute-resolver-impl/src/test: java/net/shibboleth/idp/attribute/res...

noreply at shibboleth.net noreply at shibboleth.net
Thu Oct 16 15:16:18 EDT 2014


Author: scantor
Date: Thu Oct 16 15:16:18 2014
New Revision: 6728

URL: http://svn.shibboleth.net/view/java-identity-provider?rev=6728&view=rev
Log:
IDP-494 - add test case that demonstrates rowcount bug

Modified:
    trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/rdbms/impl/RdbmsDataConnectorTest.java
    trunk/idp-attribute-resolver-impl/src/test/resources/data/net/shibboleth/idp/attribute/resolver/impl/dc/rdbms/RdbmsData.sql
    trunk/idp-attribute-resolver-impl/src/test/resources/data/net/shibboleth/idp/attribute/resolver/impl/dc/rdbms/RdbmsStore.sql

Modified: trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/rdbms/impl/RdbmsDataConnectorTest.java
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/rdbms/impl/RdbmsDataConnectorTest.java?rev=6728&r1=6727&r2=6728&view=diff
==============================================================================
--- trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/rdbms/impl/RdbmsDataConnectorTest.java (original)
+++ trunk/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/rdbms/impl/RdbmsDataConnectorTest.java Thu Oct 16 15:16:18 2014
@@ -60,7 +60,9 @@
 
     private static final String DATA_FILE = "/data/net/shibboleth/idp/attribute/resolver/impl/dc/rdbms/RdbmsData.sql";
 
-    private static final String SQL_QUERY = "SELECT userid, name, homephone, mail FROM people WHERE userid='%s'";
+    private static final String USER_QUERY = "SELECT userid, name, homephone, mail FROM people WHERE userid='%s'";
+
+    private static final String GROUP_QUERY = "SELECT name FROM groups WHERE userid='%s'";
 
     private DataSource datasource;
 
@@ -84,12 +86,30 @@
      * @param strategy to map results
      * @return rdbms data connector
      */
-    protected RDBMSDataConnector createRdbmsDataConnector(ExecutableSearchBuilder builder,
+    protected RDBMSDataConnector createUserRdbmsDataConnector(ExecutableSearchBuilder builder,
             ResultMappingStrategy strategy) {
         RDBMSDataConnector connector = new RDBMSDataConnector();
         connector.setId(TEST_CONNECTOR_NAME);
         connector.setDataSource(datasource);
-        connector.setExecutableSearchBuilder(builder == null ? new FormatExecutableStatementBuilder(SQL_QUERY) : builder);
+        connector.setExecutableSearchBuilder(builder == null ? new FormatExecutableStatementBuilder(USER_QUERY) : builder);
+        connector.setMappingStrategy(strategy == null ? new StringResultMappingStrategy() : strategy);
+        return connector;
+    }
+
+    /**
+     * Creates a RDBMS data connector for group lookup using the supplied builder and strategy. Sets defaults values if
+     * the parameters are null.
+     * 
+     * @param builder to build executable statements
+     * @param strategy to map results
+     * @return rdbms data connector
+     */
+    protected RDBMSDataConnector createGroupRdbmsDataConnector(ExecutableSearchBuilder builder,
+            ResultMappingStrategy strategy) {
+        RDBMSDataConnector connector = new RDBMSDataConnector();
+        connector.setId(TEST_CONNECTOR_NAME + "ForGroups");
+        connector.setDataSource(datasource);
+        connector.setExecutableSearchBuilder(builder == null ? new FormatExecutableStatementBuilder(GROUP_QUERY) : builder);
         connector.setMappingStrategy(strategy == null ? new StringResultMappingStrategy() : strategy);
         return connector;
     }
@@ -114,7 +134,7 @@
             // OK
         }
 
-        ExecutableSearchBuilder statementBuilder = new FormatExecutableStatementBuilder(SQL_QUERY);
+        ExecutableSearchBuilder statementBuilder = new FormatExecutableStatementBuilder(USER_QUERY);
         connector.setExecutableSearchBuilder(statementBuilder);
         try {
             connector.initialize();
@@ -193,7 +213,7 @@
     }
 
     @Test public void resolve() throws ComponentInitializationException, ResolutionException {
-        RDBMSDataConnector connector = createRdbmsDataConnector(null, null);
+        RDBMSDataConnector connector = createUserRdbmsDataConnector(null, null);
         connector.initialize();
 
         AttributeResolutionContext context =
@@ -223,7 +243,7 @@
 
     @Test(expectedExceptions = ResolutionException.class) public void resolveNoStatement()
             throws ComponentInitializationException, ResolutionException {
-        RDBMSDataConnector connector = createRdbmsDataConnector(new ExecutableSearchBuilder<ExecutableStatement>() {
+        RDBMSDataConnector connector = createUserRdbmsDataConnector(new ExecutableSearchBuilder<ExecutableStatement>() {
 
             @Override @Nonnull public ExecutableStatement build(@Nonnull AttributeResolutionContext resolutionContext, @Nonnull Map<String, Set<IdPAttributeValue<?>>> dependencyAttributes)
                     throws ResolutionException {
@@ -240,7 +260,7 @@
 

[... 76 lines stripped ...]


More information about the commits mailing list