|  | @@ -1,4 +1,4 @@
 | 
	
		
			
				|  |  | -/* Copyright 2004, 2005 Acegi Technology Pty Limited
 | 
	
		
			
				|  |  | +/* Copyright 2004, 2005, 2006 Acegi Technology Pty Limited
 | 
	
		
			
				|  |  |   *
 | 
	
		
			
				|  |  |   * Licensed under the Apache License, Version 2.0 (the "License");
 | 
	
		
			
				|  |  |   * you may not use this file except in compliance with the License.
 | 
	
	
		
			
				|  | @@ -53,11 +53,43 @@ public class MethodInvocationPrivilegeEvaluatorTests extends TestCase {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      //~ Methods ================================================================
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    private Object lookupTargetObject() {
 | 
	
		
			
				|  |  | +        ApplicationContext context = new ClassPathXmlApplicationContext(
 | 
	
		
			
				|  |  | +                "org/acegisecurity/intercept/method/aopalliance/applicationContext.xml");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        return context.getBean("target");
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      public static void main(String[] args) {
 | 
	
		
			
				|  |  |          junit.textui.TestRunner.run(MethodInvocationPrivilegeEvaluatorTests.class);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    public void testAllowsAccess() throws Exception {
 | 
	
		
			
				|  |  | +    private MethodSecurityInterceptor makeSecurityInterceptor() {
 | 
	
		
			
				|  |  | +        ApplicationContext context = new ClassPathXmlApplicationContext(
 | 
	
		
			
				|  |  | +                "org/acegisecurity/intercept/method/aopalliance/applicationContext.xml");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        return (MethodSecurityInterceptor) context.getBean(
 | 
	
		
			
				|  |  | +            "securityInterceptor");
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public void testAllowsAccessUsingCreate() throws Exception {
 | 
	
		
			
				|  |  | +        UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken("Test",
 | 
	
		
			
				|  |  | +                "Password",
 | 
	
		
			
				|  |  | +                new GrantedAuthority[] {new GrantedAuthorityImpl("MOCK_LOWER")});
 | 
	
		
			
				|  |  | +        Object object = lookupTargetObject();
 | 
	
		
			
				|  |  | +        MethodInvocation mi = MethodInvocationUtils.create(object,
 | 
	
		
			
				|  |  | +                "makeLowerCase", new Object[] {"foobar"});
 | 
	
		
			
				|  |  | +        MethodSecurityInterceptor interceptor = makeSecurityInterceptor();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        MethodInvocationPrivilegeEvaluator mipe = new MethodInvocationPrivilegeEvaluator();
 | 
	
		
			
				|  |  | +        mipe.setSecurityInterceptor(interceptor);
 | 
	
		
			
				|  |  | +        mipe.afterPropertiesSet();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        assertTrue(mipe.isAllowed(mi, token));
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public void testAllowsAccessUsingCreateFromClass()
 | 
	
		
			
				|  |  | +        throws Exception {
 | 
	
		
			
				|  |  |          UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken("Test",
 | 
	
		
			
				|  |  |                  "Password",
 | 
	
		
			
				|  |  |                  new GrantedAuthority[] {new GrantedAuthorityImpl("MOCK_LOWER")});
 | 
	
	
		
			
				|  | @@ -72,12 +104,13 @@ public class MethodInvocationPrivilegeEvaluatorTests extends TestCase {
 | 
	
		
			
				|  |  |          assertTrue(mipe.isAllowed(mi, token));
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    public void testDeclinesAccess() throws Exception {
 | 
	
		
			
				|  |  | +    public void testDeclinesAccessUsingCreate() throws Exception {
 | 
	
		
			
				|  |  |          UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken("Test",
 | 
	
		
			
				|  |  |                  "Password",
 | 
	
		
			
				|  |  |                  new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_NOT_HELD")});
 | 
	
		
			
				|  |  | -        MethodInvocation mi = MethodInvocationUtils.createFromClass(ITargetObject.class,
 | 
	
		
			
				|  |  | -                "makeLowerCase", new Class[] {String.class});
 | 
	
		
			
				|  |  | +        Object object = lookupTargetObject();
 | 
	
		
			
				|  |  | +        MethodInvocation mi = MethodInvocationUtils.create(object,
 | 
	
		
			
				|  |  | +                "makeLowerCase", new Object[] {"foobar"});
 | 
	
		
			
				|  |  |          MethodSecurityInterceptor interceptor = makeSecurityInterceptor();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          MethodInvocationPrivilegeEvaluator mipe = new MethodInvocationPrivilegeEvaluator();
 | 
	
	
		
			
				|  | @@ -87,11 +120,19 @@ public class MethodInvocationPrivilegeEvaluatorTests extends TestCase {
 | 
	
		
			
				|  |  |          assertFalse(mipe.isAllowed(mi, token));
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    private MethodSecurityInterceptor makeSecurityInterceptor() {
 | 
	
		
			
				|  |  | -        ApplicationContext context = new ClassPathXmlApplicationContext(
 | 
	
		
			
				|  |  | -                "org/acegisecurity/intercept/method/aopalliance/applicationContext.xml");
 | 
	
		
			
				|  |  | +    public void testDeclinesAccessUsingCreateFromClass()
 | 
	
		
			
				|  |  | +        throws Exception {
 | 
	
		
			
				|  |  | +        UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken("Test",
 | 
	
		
			
				|  |  | +                "Password",
 | 
	
		
			
				|  |  | +                new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_NOT_HELD")});
 | 
	
		
			
				|  |  | +        MethodInvocation mi = MethodInvocationUtils.createFromClass(ITargetObject.class,
 | 
	
		
			
				|  |  | +                "makeLowerCase", new Class[] {String.class});
 | 
	
		
			
				|  |  | +        MethodSecurityInterceptor interceptor = makeSecurityInterceptor();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        return (MethodSecurityInterceptor) context.getBean(
 | 
	
		
			
				|  |  | -            "securityInterceptor");
 | 
	
		
			
				|  |  | +        MethodInvocationPrivilegeEvaluator mipe = new MethodInvocationPrivilegeEvaluator();
 | 
	
		
			
				|  |  | +        mipe.setSecurityInterceptor(interceptor);
 | 
	
		
			
				|  |  | +        mipe.afterPropertiesSet();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        assertFalse(mipe.isAllowed(mi, token));
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 |