Author: ningjiang
Date: Wed Apr 14 09:47:57 2010
New Revision: 933898

URL: http://svn.apache.org/viewvc?rev=933898&view=rev
Log:
CAMEL-2643 Added test and update the schema file for it

Modified:
    
camel/trunk/components/camel-spring-security/src/main/resources/schema/camel-spring-security.xsd
    
camel/trunk/components/camel-spring-security/src/test/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicyTest.java

Modified: 
camel/trunk/components/camel-spring-security/src/main/resources/schema/camel-spring-security.xsd
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-spring-security/src/main/resources/schema/camel-spring-security.xsd?rev=933898&r1=933897&r2=933898&view=diff
==============================================================================
--- 
camel/trunk/components/camel-spring-security/src/main/resources/schema/camel-spring-security.xsd
 (original)
+++ 
camel/trunk/components/camel-spring-security/src/main/resources/schema/camel-spring-security.xsd
 Wed Apr 14 09:47:57 2010
@@ -35,6 +35,7 @@
                <xsd:attribute name="access" type="xsd:string" />
                <xsd:attribute name="authenticationManager" type="xsd:string" />
                <xsd:attribute name="accessDecisionManager" type="xsd:string" />
+               <xsd:attribute name="useThreadSecurityContext" 
type="xsd:boolean" default="true"/>
                <xsd:attribute name="alwaysReauthenticate" type="xsd:boolean" 
default="false"/>
          </xsd:complexType>
   </xsd:element>

Modified: 
camel/trunk/components/camel-spring-security/src/test/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicyTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-spring-security/src/test/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicyTest.java?rev=933898&r1=933897&r2=933898&view=diff
==============================================================================
--- 
camel/trunk/components/camel-spring-security/src/test/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicyTest.java
 (original)
+++ 
camel/trunk/components/camel-spring-security/src/test/java/org/apache/camel/component/spring/security/SpringSecurityAuthorizationPolicyTest.java
 Wed Apr 14 09:47:57 2010
@@ -29,6 +29,7 @@ import org.springframework.security.Auth
 import org.springframework.security.AuthenticationManager;
 import org.springframework.security.GrantedAuthority;
 import org.springframework.security.GrantedAuthorityImpl;
+import org.springframework.security.context.SecurityContextHolder;
 import 
org.springframework.security.providers.UsernamePasswordAuthenticationToken;
 
 public class SpringSecurityAuthorizationPolicyTest extends 
CamelSpringTestSupport {
@@ -54,9 +55,20 @@ public class SpringSecurityAuthorization
         }
         end.assertIsSatisfied();
     }
-
-    private void sendMessageWithAuthentication(String username, String 
password, String... roles) {
-
+    
+    @Test
+    public void testGetAuthorizationTokenFromSecurityContextHolder() throws 
Exception {
+        MockEndpoint end = getMockEndpoint("mock:end");
+        end.expectedBodiesReceived("hello world");
+        Authentication authToken = createAuthenticationToken("jim", 
"jimspassword", "ROLE_USER", "ROLE_ADMIN");
+        SecurityContextHolder.getContext().setAuthentication(authToken);
+        template.sendBody("direct:start", "hello world");
+        end.assertIsSatisfied();
+        SecurityContextHolder.getContext().setAuthentication(null);
+        
+    }
+    
+    private Authentication createAuthenticationToken(String username, String 
password, String... roles) {
         Authentication authToken;
         if (roles != null && roles.length > 0) {
             GrantedAuthority[] authorities = new 
GrantedAuthority[roles.length];
@@ -67,7 +79,13 @@ public class SpringSecurityAuthorization
         } else {
             authToken = new UsernamePasswordAuthenticationToken(username, 
password);
         }
+        return authToken;
+    }
+
+    private void sendMessageWithAuthentication(String username, String 
password, String... roles) {
 
+        Authentication authToken = createAuthenticationToken(username, 
password, roles);
+        
         Subject subject = new Subject();
         subject.getPrincipals().add(authToken);
 


Reply via email to