package at.gv.egovernment.moa.id.auth.modules.auth.dummy.test.dummy; import java.io.IOException; import java.io.InputStream; import java.net.URI; import java.net.URL; import java.util.HashMap; import java.util.Map; import java.util.Properties; import org.apache.commons.lang3.StringUtils; import at.gv.egiz.eaaf.core.api.idp.IConfigurationWithSP; import at.gv.egiz.eaaf.core.api.idp.ISPConfiguration; import at.gv.egiz.eaaf.core.exceptions.EAAFConfigurationException; import at.gv.egiz.eaaf.core.exceptions.EAAFException; import at.gv.egiz.eaaf.core.impl.utils.KeyValueUtils; /** * Dummy Application-configuration implementation for jUnit tests. * * @author tlenz * */ public class DummyAuthConfigMap implements IConfigurationWithSP { private Map config = new HashMap<>(); public DummyAuthConfigMap() { } /** * Dummy Application-configuration. * * @param configIs Property based configuration * @throws IOException In case of an configuration read error */ public DummyAuthConfigMap(final InputStream configIs) throws IOException { final Properties props = new Properties(); props.load(configIs); config = KeyValueUtils.convertPropertiesToMap(props); } /** * Dummy Application-configuration. * * @param path Path to property based configuration * @throws IOException In case of an configuration read error */ public DummyAuthConfigMap(final String path) throws IOException { final Properties props = new Properties(); props.load(this.getClass().getResourceAsStream(path)); config = KeyValueUtils.convertPropertiesToMap(props); } @Override public String getBasicConfiguration(final String key) { return config.get(key); } @Override public String getBasicConfiguration(final String key, final String defaultValue) { final String value = getBasicConfiguration(key); if (StringUtils.isEmpty(value)) { return defaultValue; } else { return value; } } @Override public Boolean getBasicConfigurationBoolean(final String key) { final String value = getBasicConfiguration(key); if (StringUtils.isEmpty(value)) { return false; } else { return Boolean.valueOf(value); } } @Override public boolean getBasicConfigurationBoolean(final String key, final boolean defaultValue) { return Boolean.parseBoolean(getBasicConfiguration(key, String.valueOf(defaultValue))); } @Override public Map getBasicConfigurationWithPrefix(final String prefix) { return KeyValueUtils.getSubSetWithPrefix(config, prefix); } @Override public ISPConfiguration getServiceProviderConfiguration(final String uniqueID) throws EAAFConfigurationException { return null; } @Override public T getServiceProviderConfiguration(final String spIdentifier, final Class decorator) throws EAAFConfigurationException { return null; } @Override public URI getConfigurationRootDirectory() { return new java.io.File(".").toURI(); } @Override public String validateIDPURL(final URL authReqUrl) throws EAAFException { return null; } public void putConfigValue(final String key, final String value) { config.put(key, value); } public void removeConfigValue(final String key) { config.remove(key); } }