cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Glen Mazza <gma...@talend.com>
Subject Re: svn commit: r1347560 - in /cxf/trunk: rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSClient.java services/sts/systests/advanced/src/test/java/org/apache/cxf/systest/sts/renew/SAMLRenewUnitTest.java
Date Thu, 07 Jun 2012 18:12:26 GMT
I'm not sure on this point, and perhaps just hair-splitting, but when 
you have a boolean value whose usage is optional and rarely declared, I 
suspect the "true" value should be the non-common setting (the 
non-default one), as that makes it more self-documenting and clearer 
that you're doing something non-default (and hence, you can just go 
ahead and remove the declaration if you want normal functionality).  
I.e., instead of "sendRenewing=false" having "hideRenewing=true" might 
be better.

Glen


On 06/07/2012 06:32 AM, coheigea@apache.org wrote:
> Author: coheigea
> Date: Thu Jun  7 10:32:00 2012
> New Revision: 1347560
>
> URL: http://svn.apache.org/viewvc?rev=1347560&view=rev
> Log:
> Adding a "sendRenewing" property to the STSClient
>
> Modified:
>      cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSClient.java
>      cxf/trunk/services/sts/systests/advanced/src/test/java/org/apache/cxf/systest/sts/renew/SAMLRenewUnitTest.java
>
> Modified: cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSClient.java
> URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSClient.java?rev=1347560&r1=1347559&r2=1347560&view=diff
> ==============================================================================
> --- cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSClient.java
(original)
> +++ cxf/trunk/rt/ws/security/src/main/java/org/apache/cxf/ws/security/trust/STSClient.java
Thu Jun  7 10:32:00 2012
> @@ -165,6 +165,7 @@ public class STSClient implements Config
>       protected boolean isSpnego;
>       protected boolean enableLifetime;
>       protected int ttl = 300;
> +    protected boolean sendRenewing = true;
>       protected boolean allowRenewing = true;
>       protected boolean allowRenewingAfterExpiry;
>
> @@ -215,6 +216,10 @@ public class STSClient implements Config
>           this.enableLifetime = enableLifetime;
>       }
>
> +    public void setSendRenewing(boolean sendRenewing) {
> +        this.sendRenewing = sendRenewing;
> +    }
> +
>       /**
>        * Sets the WS-P policy that is applied to communications between this client and
the remote server
>        * if no value is supplied for {@link #setWsdlLocation(String)}.
> @@ -720,14 +725,16 @@ public class STSClient implements Config
>           }
>
>           // Write out renewal semantics
> -        writer.writeStartElement("wst", "Renewing", namespace);
> -        if (!allowRenewing) {
> -            writer.writeAttribute(null, "Allow", "false");
> -        }
> -        if (allowRenewing&&  allowRenewingAfterExpiry) {
> -            writer.writeAttribute(null, "OK", "true");
> +        if (sendRenewing) {
> +            writer.writeStartElement("wst", "Renewing", namespace);
> +            if (!allowRenewing) {
> +                writer.writeAttribute(null, "Allow", "false");
> +            }
> +            if (allowRenewing&&  allowRenewingAfterExpiry) {
> +                writer.writeAttribute(null, "OK", "true");
> +            }
> +            writer.writeEndElement();
>           }
> -        writer.writeEndElement();
>
>           writer.writeEndElement();
>
>
> Modified: cxf/trunk/services/sts/systests/advanced/src/test/java/org/apache/cxf/systest/sts/renew/SAMLRenewUnitTest.java
> URL: http://svn.apache.org/viewvc/cxf/trunk/services/sts/systests/advanced/src/test/java/org/apache/cxf/systest/sts/renew/SAMLRenewUnitTest.java?rev=1347560&r1=1347559&r2=1347560&view=diff
> ==============================================================================
> --- cxf/trunk/services/sts/systests/advanced/src/test/java/org/apache/cxf/systest/sts/renew/SAMLRenewUnitTest.java
(original)
> +++ cxf/trunk/services/sts/systests/advanced/src/test/java/org/apache/cxf/systest/sts/renew/SAMLRenewUnitTest.java
Thu Jun  7 10:32:00 2012
> @@ -223,10 +223,47 @@ public class SAMLRenewUnitTest extends A
>           bus.shutdown(true);
>       }
>
> +    @org.junit.Test
> +    public void testRenewDisabled() throws Exception {
> +        SpringBusFactory bf = new SpringBusFactory();
> +        URL busFile = SAMLRenewUnitTest.class.getResource("cxf-client-unit.xml");
> +
> +        Bus bus = bf.createBus(busFile.toString());
> +        SpringBusFactory.setDefaultBus(bus);
> +        SpringBusFactory.setThreadDefaultBus(bus);
> +
> +        String wsdlLocation =
> +            "https://localhost:" + STSPORT + "/SecurityTokenService/Transport?wsdl";
> +
> +        // Request the token
> +        SecurityToken token =
> +            requestSecurityToken(bus, wsdlLocation, WSConstants.WSS_SAML_TOKEN_TYPE,
300, false, false);
> +        assertNotNull(token);
> +
> +        // Validate the token
> +        List<SecurityToken>  validatedTokens = validateSecurityToken(bus, wsdlLocation,
token);
> +        assertFalse(validatedTokens.isEmpty());
> +        assertTrue(validatedTokens.get(0).equals(token));
> +
> +        // Renew the token
> +        SecurityToken renewedToken = renewSecurityToken(bus, wsdlLocation, token, false);
> +        assertFalse(token.equals(renewedToken));
> +
> +        // Validate the renewed token
> +        validateSecurityToken(bus, wsdlLocation, renewedToken);
> +
> +        bus.shutdown(true);
> +    }
>
>       private SecurityToken requestSecurityToken(
>           Bus bus, String wsdlLocation, String tokenType, int ttl, boolean allowExpired
>       ) throws Exception {
> +        return requestSecurityToken(bus, wsdlLocation, tokenType, ttl, allowExpired,
true);
> +    }
> +
> +    private SecurityToken requestSecurityToken(
> +        Bus bus, String wsdlLocation, String tokenType, int ttl, boolean allowExpired,
boolean sendRenewing
> +    ) throws Exception {
>           STSClient stsClient = new STSClient(bus);
>           stsClient.setWsdlLocation(wsdlLocation);
>           stsClient.setServiceName("{http://docs.oasis-open.org/ws-sx/ws-trust/200512/}SecurityTokenService");
> @@ -250,6 +287,7 @@ public class SAMLRenewUnitTest extends A
>           stsClient.setRequiresEntropy(true);
>           stsClient.setKeySize(128);
>           stsClient.setAddressingNamespace("http://www.w3.org/2005/08/addressing");
> +        stsClient.setSendRenewing(sendRenewing);
>
>           return stsClient.requestSecurityToken("https://localhost:8081/doubleit/services/doubleittransport");
>       }
>
>


-- 
Glen Mazza
Talend Community Coders
coders.talend.com
blog: www.jroller.com/gmazza


Mime
View raw message