[java-identity-provider] branch master updated: Switch to new helper method and add test for exceeding size.

Scott Cantor cantor.2 at osu.edu
Mon May 22 22:47:48 EDT 2017


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

scantor pushed a commit to branch master
in repository java-identity-provider.

View the commit online:
http://git.shibboleth.net/view/?p=java-identity-provider.git;a=commit;h=6907329dfe17bc9857d5215f88d7d8e60d1057f8

The following commit(s) were added to refs/heads/master by this push:
       new  6907329   Switch to new helper method and add test for exceeding size.
6907329 is described below

commit 6907329dfe17bc9857d5215f88d7d8e60d1057f8
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon May 22 22:47:46 2017 -0400

    Switch to new helper method and add test for exceeding size.
---
 .../dc/http/impl/HTTPDataConnectorTest.java        | 88 +++++++++++++++++-----
 .../idp/attribute/resolver/impl/dc/http/test.js    |  4 +-
 .../resolver/impl/dc/http/{test.js => testsize.js} |  4 +-
 .../idp/attribute/resolver/impl/dc/http/v8/test.js |  4 +-
 .../impl/dc/http/v8/{test.js => testsize.js}       |  4 +-
 5 files changed, 76 insertions(+), 28 deletions(-)

diff --git a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/HTTPDataConnectorTest.java b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/HTTPDataConnectorTest.java
index d01b00c..af5880f 100644
--- a/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/HTTPDataConnectorTest.java
+++ b/idp-attribute-resolver-impl/src/test/java/net/shibboleth/idp/attribute/resolver/dc/http/impl/HTTPDataConnectorTest.java
@@ -53,9 +53,9 @@ public class HTTPDataConnectorTest {
             RepositorySupport.buildHTTPSResourceURL("java-identity-provider",
                     "idp-attribute-resolver-impl/src/test/resources/net/shibboleth/idp/attribute/resolver/impl/dc/http/test.json");
 
-    private static final String SCRIPT_PATH = "/net/shibboleth/idp/attribute/resolver/impl/dc/http/test.js";
+    private static final String SCRIPT_PATH = "/net/shibboleth/idp/attribute/resolver/impl/dc/http/";
     
-    private static final String SCRIPT_PATH_V8 = "/net/shibboleth/idp/attribute/resolver/impl/dc/http/v8/test.js";
+    private static final String SCRIPT_PATH_V8 = "/net/shibboleth/idp/attribute/resolver/impl/dc/http/v8/";
 
     private HTTPDataConnector connector;
     
@@ -64,22 +64,16 @@ public class HTTPDataConnectorTest {
         return ver.startsWith("1.8");
     }
     
-    @BeforeMethod public void setUp() throws IOException, ScriptException {
+    @BeforeMethod public void setUp() {
         connector = new HTTPDataConnector();
         connector.setId(TEST_CONNECTOR_NAME);
         connector.setHttpClient(
                 HttpClientBuilder.create()
                     .setSSLSocketFactory(SecurityEnhancedHttpClientSupport.buildTLSSocketFactory(false, false))
                     .build());
-        
-        final ScriptedResponseMappingStrategy mapping =
-                ScriptedResponseMappingStrategy.resourceScript(
-                        ResourceHelper.of(new ClassPathResource(isV8() ? SCRIPT_PATH_V8 : SCRIPT_PATH)));
-        mapping.setLogPrefix(TEST_CONNECTOR_NAME + ":");
-        connector.setMappingStrategy(mapping);
     }
     
-    @Test public void test() throws ComponentInitializationException, ResolutionException {
+    @Test public void test() throws ComponentInitializationException, ResolutionException, ScriptException, IOException {
         final HttpClientSecurityParameters params = new HttpClientSecurityParameters();
         params.setTLSProtocols(Collections.singleton("TLSv1"));
         final TemplatedURLBuilder builder = new TemplatedURLBuilder();
@@ -87,10 +81,15 @@ public class HTTPDataConnectorTest {
         builder.setVelocityEngine(VelocityEngine.newVelocityEngine());
         builder.setHttpClientSecurityParameters(params);
         builder.initialize();
-        
         connector.setExecutableSearchBuilder(builder);
-        ((ScriptedResponseMappingStrategy) connector.getMappingStrategy()).setAcceptStatuses(Collections.singleton(HttpStatus.SC_OK));
-        ((ScriptedResponseMappingStrategy) connector.getMappingStrategy()).setAcceptTypes(Collections.singleton("application/json"));
+        
+        final ScriptedResponseMappingStrategy mapping =
+                ScriptedResponseMappingStrategy.resourceScript(
+                        ResourceHelper.of(new ClassPathResource((isV8() ? SCRIPT_PATH_V8 : SCRIPT_PATH) + "test.js")));
+        mapping.setLogPrefix(TEST_CONNECTOR_NAME + ":");
+        mapping.setAcceptStatuses(Collections.singleton(HttpStatus.SC_OK));
+        mapping.setAcceptTypes(Collections.singleton("application/json"));
+        connector.setMappingStrategy(mapping);
         connector.initialize();
         
         final AttributeResolutionContext context =
@@ -110,16 +109,49 @@ public class HTTPDataConnectorTest {
     }
 
     @Test(expectedExceptions=ResolutionException.class) public void testBadProtocol()
-            throws ComponentInitializationException, ResolutionException {
+            throws ComponentInitializationException, ResolutionException, ScriptException, IOException {
         final HttpClientSecurityParameters params = new HttpClientSecurityParameters();
         params.setTLSProtocols(Collections.singleton("SSLv3"));
         final TemplatedURLBuilder builder = new TemplatedURLBuilder();
         builder.setTemplateText(TEST_URL);
         builder.setVelocityEngine(VelocityEngine.newVelocityEngine());
         builder.setHttpClientSecurityParameters(params);
-        builder.initialize();
+        builder.initialize();        
+        connector.setExecutableSearchBuilder(builder);
         
+        final ScriptedResponseMappingStrategy mapping =
+                ScriptedResponseMappingStrategy.resourceScript(
+                        ResourceHelper.of(new ClassPathResource((isV8() ? SCRIPT_PATH_V8 : SCRIPT_PATH) + "test.js")));
+        mapping.setLogPrefix(TEST_CONNECTOR_NAME + ":");
+        mapping.setAcceptStatuses(Collections.singleton(HttpStatus.SC_OK));
+        mapping.setAcceptTypes(Collections.singleton("application/json"));
+        connector.setMappingStrategy(mapping);
+        
+        connector.initialize();
+        
+        final AttributeResolutionContext context =
+                TestSources.createResolutionContext(TestSources.PRINCIPAL_ID, TestSources.IDP_ENTITY_ID,
+                        TestSources.SP_ENTITY_ID);
+        
+        connector.resolve(context);
+    }
+    
+    @Test(expectedExceptions=ResolutionException.class) public void testSize()
+            throws ComponentInitializationException, ResolutionException, ScriptException, IOException {
+        final TemplatedURLBuilder builder = new TemplatedURLBuilder();
+        builder.setTemplateText("https://shibboleth.net/test.json");
+        builder.setVelocityEngine(VelocityEngine.newVelocityEngine());
+        builder.initialize();
         connector.setExecutableSearchBuilder(builder);
+        
+        final ScriptedResponseMappingStrategy mapping =
+                ScriptedResponseMappingStrategy.resourceScript(
+                        ResourceHelper.of(new ClassPathResource((isV8() ? SCRIPT_PATH_V8 : SCRIPT_PATH) + "testsize.js")));
+        mapping.setLogPrefix(TEST_CONNECTOR_NAME + ":");
+        mapping.setAcceptStatuses(Collections.singleton(HttpStatus.SC_OK));
+        mapping.setAcceptTypes(Collections.singleton("application/json"));
+        connector.setMappingStrategy(mapping);
+
         connector.initialize();
         
         final AttributeResolutionContext context =
@@ -130,13 +162,21 @@ public class HTTPDataConnectorTest {
     }
 
     @Test(expectedExceptions=ResolutionException.class) public void testMissing()
-            throws ComponentInitializationException, ResolutionException {
+            throws ComponentInitializationException, ResolutionException, ScriptException, IOException {
         final TemplatedURLBuilder builder = new TemplatedURLBuilder();
         builder.setTemplateText("https://shibboleth.net/test.json");
         builder.setVelocityEngine(VelocityEngine.newVelocityEngine());
         builder.initialize();
-        
         connector.setExecutableSearchBuilder(builder);
+        
+        final ScriptedResponseMappingStrategy mapping =
+                ScriptedResponseMappingStrategy.resourceScript(
+                        ResourceHelper.of(new ClassPathResource((isV8() ? SCRIPT_PATH_V8 : SCRIPT_PATH) + "test.js")));
+        mapping.setLogPrefix(TEST_CONNECTOR_NAME + ":");
+        mapping.setAcceptStatuses(Collections.singleton(HttpStatus.SC_OK));
+        mapping.setAcceptTypes(Collections.singleton("application/json"));
+        connector.setMappingStrategy(mapping);
+
         connector.initialize();
         
         final AttributeResolutionContext context =
@@ -145,7 +185,7 @@ public class HTTPDataConnectorTest {
         
         connector.resolve(context);
     }
-
+    
     @Test public void testMissingOk() throws ComponentInitializationException, ResolutionException, ScriptException {
         final TemplatedURLBuilder builder = new TemplatedURLBuilder();
         builder.setTemplateText("https://shibboleth.net/test.json");
@@ -170,16 +210,24 @@ public class HTTPDataConnectorTest {
         Assert.assertTrue(attrs == null || attrs.isEmpty());
     }
     
-    @Test public void resolveWithCache() throws ComponentInitializationException, ResolutionException {
+    @Test public void resolveWithCache() throws ComponentInitializationException, ResolutionException, ScriptException, IOException {
         final TemplatedURLBuilder builder = new TemplatedURLBuilder();
         builder.setTemplateText(TEST_URL);
         builder.setVelocityEngine(VelocityEngine.newVelocityEngine());
         builder.initialize();
-        
         connector.setExecutableSearchBuilder(builder);
         
+        final ScriptedResponseMappingStrategy mapping =
+                ScriptedResponseMappingStrategy.resourceScript(
+                        ResourceHelper.of(new ClassPathResource((isV8() ? SCRIPT_PATH_V8 : SCRIPT_PATH) + "test.js")));
+        mapping.setLogPrefix(TEST_CONNECTOR_NAME + ":");
+        mapping.setAcceptStatuses(Collections.singleton(HttpStatus.SC_OK));
+        mapping.setAcceptTypes(Collections.singleton("application/json"));
+        connector.setMappingStrategy(mapping);
+        
         final TestCache cache = new TestCache();
         connector.setResultsCache(cache);
+
         connector.initialize();
 
         final AttributeResolutionContext context =
diff --git a/idp-attribute-resolver-impl/src/test/resources/net/shibboleth/idp/attribute/resolver/impl/dc/http/test.js b/idp-attribute-resolver-impl/src/test/resources/net/shibboleth/idp/attribute/resolver/impl/dc/http/test.js
index b1cce73..a99fcd4 100644
--- a/idp-attribute-resolver-impl/src/test/resources/net/shibboleth/idp/attribute/resolver/impl/dc/http/test.js
+++ b/idp-attribute-resolver-impl/src/test/resources/net/shibboleth/idp/attribute/resolver/impl/dc/http/test.js
@@ -1,8 +1,8 @@
 importClass(Packages.java.util.HashSet);
-importClass(Packages.org.apache.http.util.EntityUtils);
+importClass(Packages.net.shibboleth.utilities.java.support.httpclient.HttpClientSupport);
 importPackage(Packages.net.shibboleth.idp.attribute);
 
-var body = EntityUtils.toString(response.getEntity(), "UTF-8");
+var body = HttpClientSupport.toString(response.getEntity(), "UTF-8", 1024);
 var result = JSON.parse(body);
 
 for (var i=0; i<result.length; i++) {
diff --git a/idp-attribute-resolver-impl/src/test/resources/net/shibboleth/idp/attribute/resolver/impl/dc/http/test.js b/idp-attribute-resolver-impl/src/test/resources/net/shibboleth/idp/attribute/resolver/impl/dc/http/testsize.js
similarity index 73%
copy from idp-attribute-resolver-impl/src/test/resources/net/shibboleth/idp/attribute/resolver/impl/dc/http/test.js
copy to idp-attribute-resolver-impl/src/test/resources/net/shibboleth/idp/attribute/resolver/impl/dc/http/testsize.js
index b1cce73..a6b5ef8 100644
--- a/idp-attribute-resolver-impl/src/test/resources/net/shibboleth/idp/attribute/resolver/impl/dc/http/test.js
+++ b/idp-attribute-resolver-impl/src/test/resources/net/shibboleth/idp/attribute/resolver/impl/dc/http/testsize.js
@@ -1,8 +1,8 @@
 importClass(Packages.java.util.HashSet);
-importClass(Packages.org.apache.http.util.EntityUtils);
+importClass(Packages.net.shibboleth.utilities.java.support.httpclient.HttpClientSupport);
 importPackage(Packages.net.shibboleth.idp.attribute);
 
-var body = EntityUtils.toString(response.getEntity(), "UTF-8");
+var body = HttpClientSupport.toString(response.getEntity(), "UTF-8", 10);
 var result = JSON.parse(body);
 
 for (var i=0; i<result.length; i++) {
diff --git a/idp-attribute-resolver-impl/src/test/resources/net/shibboleth/idp/attribute/resolver/impl/dc/http/v8/test.js b/idp-attribute-resolver-impl/src/test/resources/net/shibboleth/idp/attribute/resolver/impl/dc/http/v8/test.js
index f8acb96..ee14d9a 100644
--- a/idp-attribute-resolver-impl/src/test/resources/net/shibboleth/idp/attribute/resolver/impl/dc/http/v8/test.js
+++ b/idp-attribute-resolver-impl/src/test/resources/net/shibboleth/idp/attribute/resolver/impl/dc/http/v8/test.js
@@ -1,5 +1,5 @@
-var EntityHelper = Java.type("org.apache.http.util.EntityUtils");
-var body = EntityHelper.toString(response.getEntity(), "UTF-8");
+var HttpClientSupport = Java.type("net.shibboleth.utilities.java.support.httpclient.HttpClientSupport");
+var body = HttpClientSupport.toString(response.getEntity(), "UTF-8", 1024);
 var result = JSON.parse(body);
 
 var IdPAttribute = Java.type("net.shibboleth.idp.attribute.IdPAttribute");
diff --git a/idp-attribute-resolver-impl/src/test/resources/net/shibboleth/idp/attribute/resolver/impl/dc/http/v8/test.js b/idp-attribute-resolver-impl/src/test/resources/net/shibboleth/idp/attribute/resolver/impl/dc/http/v8/testsize.js
similarity index 75%
copy from idp-attribute-resolver-impl/src/test/resources/net/shibboleth/idp/attribute/resolver/impl/dc/http/v8/test.js
copy to idp-attribute-resolver-impl/src/test/resources/net/shibboleth/idp/attribute/resolver/impl/dc/http/v8/testsize.js
index f8acb96..2fcccad 100644
--- a/idp-attribute-resolver-impl/src/test/resources/net/shibboleth/idp/attribute/resolver/impl/dc/http/v8/test.js
+++ b/idp-attribute-resolver-impl/src/test/resources/net/shibboleth/idp/attribute/resolver/impl/dc/http/v8/testsize.js
@@ -1,5 +1,5 @@
-var EntityHelper = Java.type("org.apache.http.util.EntityUtils");
-var body = EntityHelper.toString(response.getEntity(), "UTF-8");
+var HttpClientSupport = Java.type("net.shibboleth.utilities.java.support.httpclient.HttpClientSupport");
+var body = HttpClientSupport.toString(response.getEntity(), "UTF-8", 10);
 var result = JSON.parse(body);
 
 var IdPAttribute = Java.type("net.shibboleth.idp.attribute.IdPAttribute");

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


More information about the commits mailing list