001package de.cuioss.test.jsf.defaults; 002 003import static de.cuioss.tools.collect.CollectionLiterals.immutableSet; 004 005import java.util.Collection; 006import java.util.Locale; 007 008import de.cuioss.test.jsf.config.ApplicationConfigurator; 009import de.cuioss.test.jsf.config.RequestConfigurator; 010import de.cuioss.test.jsf.config.decorator.ApplicationConfigDecorator; 011import de.cuioss.test.jsf.config.decorator.RequestConfigDecorator; 012 013/** 014 * Provides some default configuration for the tests. The defaults are: 015 * <ul> 016 * <li>Setting the supported locales to {@link Locale#ENGLISH} and 017 * {@link Locale#GERMANY}</li> 018 * <li>Setting the default locale to {@link Locale#ENGLISH}</li> 019 * <li>Setting the user-agent to {@value #FIREFOX}</li> 020 * </ul> 021 * 022 * @author Oliver Wolff 023 */ 024public class BasicApplicationConfiguration implements ApplicationConfigurator, RequestConfigurator { 025 026 /** Firefox user-agent */ 027 public static final String FIREFOX = "Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0"; 028 029 /** User-agent identifier. */ 030 public static final String USER_AGENT = "user-agent"; 031 032 /** The supported {@link Locale}s */ 033 @SuppressWarnings("java:S2386") // owolff: false positive -> immutableSet 034 public static final Collection<Locale> SUPPORTED_LOCALES = immutableSet(Locale.ENGLISH, Locale.GERMANY, 035 Locale.FRENCH); 036 037 /** The default {@link Locale} */ 038 public static final Locale DEFAULT_LOCALE = Locale.ENGLISH; 039 040 @Override 041 public void configureApplication(final ApplicationConfigDecorator config) { 042 config.registerSupportedLocales(SUPPORTED_LOCALES).registerDefaultLocale(DEFAULT_LOCALE).setContextPath(""); // default 043 // context 044 // path 045 // for myfaces test is 046 // 'null' 047 } 048 049 @Override 050 public void configureRequest(final RequestConfigDecorator decorator) { 051 decorator.setRequestHeader(USER_AGENT, FIREFOX) 052 .setRequestLocale(SUPPORTED_LOCALES.toArray(new Locale[SUPPORTED_LOCALES.size()])); 053 } 054}