Package nu.localhost.testsite.services

Source Code of nu.localhost.testsite.services.TestModule

package nu.localhost.testsite.services;

import java.io.IOException;

import nu.localhost.tapestry5.springsecurity.services.SecurityModule;
import nu.localhost.testsite.utils.MockFactory;

import org.apache.tapestry5.SymbolConstants;
import org.apache.tapestry5.ioc.MappedConfiguration;
import org.apache.tapestry5.ioc.OrderedConfiguration;
import org.apache.tapestry5.ioc.ServiceBinder;
import org.apache.tapestry5.ioc.annotations.SubModule;
import org.apache.tapestry5.services.Request;
import org.apache.tapestry5.services.RequestFilter;
import org.apache.tapestry5.services.RequestGlobals;
import org.apache.tapestry5.services.RequestHandler;
import org.apache.tapestry5.services.Response;
import org.springframework.security.authentication.AuthenticationProvider;
import org.springframework.security.authentication.TestingAuthenticationProvider;
import org.springframework.security.core.userdetails.UserDetailsService;

@SubModule(SecurityModule.class)
public class TestModule {

 
  public static void bind( final ServiceBinder binder ) {
    binder.bind(UserDetailsService.class,DummyUserDetailService.class);
  }
 
 
  public static void contributeApplicationDefaults(
      final MappedConfiguration<String, String> configuration) {
       
    configuration.add(SymbolConstants.PRODUCTION_MODE, "true");
  }
 
  /**
     * Ensure that there are valid HTTP request/response objects in the test, otherwise the spring security integration tends to blow up.
     *
     * From: http://tapestry.1045711.n5.nabble.com/Tapestry-Spring-Security-amp-Page-Testing-td2433482.html
     */
    public static void contributeRequestHandler(OrderedConfiguration<RequestFilter> config,
        final RequestGlobals requestGlobals) {
       
      RequestFilter filter = new RequestFilter() {
       
        @Override
        public boolean service(Request request, Response response,
            RequestHandler handler) throws IOException {
       
                requestGlobals.storeServletRequestResponse(MockFactory.getInstance().getMockedServletRequest(), MockFactory.getInstance().getMockedServletResponse());
                return handler.service(request, response);
            }
        };
        config.add("EnsureNonNullHttpRequestAndResponse", filter,"before:*");
    }
   
    //@Marker(SpringSecurityServices.class)
  public static void contributeAuthenticationManager(final OrderedConfiguration<AuthenticationProvider> configuration) {
      configuration.add("test", new TestingAuthenticationProvider());
    }
}
TOP

Related Classes of nu.localhost.testsite.services.TestModule

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.