package org.axway.grapes.tests.acceptance; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class TestConfiguration { private static final Logger LOG = LoggerFactory.getLogger(TestConfiguration.class); private static TestConfiguration INSTANCE = null; private static final String PROPERTY_DB_HOST = "mongo.host"; private static final String DEFAULT_DB_HOST = "localhost"; private String dbHost; private static final String PROPERTY_DB_PORT = "mongo.port"; private static final String DEFAULT_DB_PORT = "27017"; private String dbPort; private static final String PROPERTY_DB_NAME = "grapes.database.name"; private static final String DEFAULT_DB_NAME = "test"; private String dbName; private static final String PROPERTY_DB_USER = "mongo.user"; private String dbUser; private static final String PROPERTY_DB_PWD = "mongo.password"; private String dbPassword; private static final String PROPERTY_GRAPES_HOST = "grapes.host"; private static final String DEFAULT_GRAPES_HOST = "localhost"; private String grapesHost; private static final String PROPERTY_GRAPES_PORT = "grapes.server.port"; private static final String DEFAULT_GRAPES_PORT = "8080"; private String grapesPort; private static final String PROPERTY_GRAPES_ADMIN_PORT = "grapes.server.admin.port"; private static final String DEFAULT_GRAPES_ADMIN_PORT = "8081"; private String grapesAdminPort; private static final String PROPERTY_GRAPES_USER_NOTIFIER = "grapes.user.notifier"; private String grapesNotifier; private static final String PROPERTY_GRAPES_USER_NOTIFIER_PWD = "grapes.user.notifier.pwd"; private String grapesNotifierPwd; private static final String PROPERTY_GRAPES_ADMIN_USER = "grapes.user.admin"; private String grapesAdminUser; private static final String PROPERTY_GRAPES_ADMIN_PWD = "grapes.user.admin.pwd"; private String grapesAdminPassword; private TestConfiguration(){ dbHost = System.getProperty(PROPERTY_DB_HOST, null); if(dbHost == null){ LOG.info("No variable define for the database host, the default value will be used: " + DEFAULT_DB_HOST); dbHost = DEFAULT_DB_HOST; } dbPort = System.getProperty(PROPERTY_DB_PORT, null); if(dbPort == null){ LOG.info("No variable define for the database port, the default value will be used " + DEFAULT_DB_PORT); dbPort = DEFAULT_DB_PORT; } dbName = System.getProperty(PROPERTY_DB_NAME, null); if(dbName == null){ LOG.info("No variable define for the database name, the default value will be used " + DEFAULT_DB_NAME); dbName = DEFAULT_DB_NAME; } dbUser = System.getProperty(PROPERTY_DB_USER, null); dbPassword = System.getProperty(PROPERTY_DB_PWD, null); grapesHost = System.getProperty(PROPERTY_GRAPES_HOST, null); if(grapesHost == null){ LOG.info("No variable define for the Dependency Manager host, the default value will be used " + DEFAULT_GRAPES_HOST); grapesHost = DEFAULT_GRAPES_HOST; } grapesPort = System.getProperty(PROPERTY_GRAPES_PORT, null); if(grapesPort == null){ LOG.info("No variable define for the Dependency Manager port, the default value will be used " + DEFAULT_GRAPES_PORT); grapesPort = DEFAULT_GRAPES_PORT; } grapesAdminPort = System.getProperty(PROPERTY_GRAPES_ADMIN_PORT, null); if(grapesAdminPort == null){ LOG.info("No variable define for the Dependency Manager administration port, the default value will be used " + DEFAULT_GRAPES_ADMIN_PORT); grapesAdminPort = DEFAULT_GRAPES_ADMIN_PORT; } grapesNotifier = System.getProperty(PROPERTY_GRAPES_USER_NOTIFIER, null); grapesNotifierPwd = System.getProperty(PROPERTY_GRAPES_USER_NOTIFIER_PWD, null); grapesAdminUser = System.getProperty(PROPERTY_GRAPES_ADMIN_USER, null); String adminPwd = System.getProperty(PROPERTY_GRAPES_ADMIN_PWD, null); if(adminPwd != null){ grapesAdminPassword = adminPwd; } } public static synchronized TestConfiguration getInstance() { if (INSTANCE == null){ INSTANCE = new TestConfiguration(); } return INSTANCE; } public String getGrapesAdminPort() { return grapesAdminPort; } public String getGrapesPort() { return grapesPort; } public String getGrapesHost() { return grapesHost; } public String getDbPassword() { return dbPassword; } public String getDbUser() { return dbUser; } public String getDbName() { return dbName; } public String getDbPort() { return dbPort; } public String getDbHost() { return dbHost; } public String getGrapesNotifier() { return grapesNotifier; } public String getGrapesNotifierPwd() { return grapesNotifierPwd; } public String getGrapesBaseUrl(){ final StringBuilder sb = new StringBuilder(); sb.append("http://"); sb.append(grapesHost); sb.append(":"); sb.append(grapesPort); return sb.toString(); } public String getGrapesAdminUser() { return grapesAdminUser; } public String getGrapesAdminPassword() { return grapesAdminPassword; } }