All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jlot.client.it.config.ClientIntegrationConfig Maven / Gradle / Ivy

The newest version!
package org.jlot.client.it.config;

import java.net.URL;
import java.util.HashSet;
import java.util.Set;

import javax.inject.Inject;

import org.jlot.client.configuration.ProjectConfiguration;
import org.jlot.client.configuration.UserHomeDirectory;
import org.jlot.client.login.Login;
import org.jlot.core.domain.User;
import org.jlot.core.it.IntegrationTestObjects;
import org.jlot.test.TomcatConfig;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import org.springframework.security.authentication.encoding.ShaPasswordEncoder;

@Configuration
@Profile("integration")
public class ClientIntegrationConfig
{
	private static final String	PROJECT_NAME	= "testproject";
	private static final String	USER_HOME		= "./home";
	private static final String	BASE_DIR		= "./home/" + PROJECT_NAME;

	@Inject
	private User				testUser;

	@Inject
	private TomcatConfig		tomcatConfig;

	@Bean
	public UserHomeDirectory userHomeDirectory ( )
	{
		String classPath = getClass().getClassLoader().getResource(USER_HOME).getFile();
		return new UserHomeDirectory(classPath);
	}

	@Bean
	public ProjectConfiguration projectConfiguration ( )
	{
		Set resources = new HashSet();
		resources.add("src/main/resources/test1.properties");
		resources.add("src/main/resources/test2.properties");
		URL resource = getClass().getClassLoader().getResource(BASE_DIR);
		String baseDir = resource.getFile();
		return new ProjectConfiguration(PROJECT_NAME, baseDir, tomcatConfig.getUrl(), "1.0", resources, "UTF-8", true);
	}

	@Bean
	public Login login ( )
	{
		return new Login(testUser.getEmailAddress(), IntegrationTestObjects.USER_PASSWORD);
	}

	@Bean
	public ShaPasswordEncoder passwordEncoder ( )
	{
		return new ShaPasswordEncoder();
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy