@Before @BeforeEach public final void openTestConnections() { if(!suppressDb){ loadConfiguration("/database.properties"); List<ConnectionSpecWrapper> connectionWrappers = getTestConnectionWrappers(); if (connectionWrappers.isEmpty()) { LOGGER.warn("no DB connections are configured, none opened"); return; } for (ConnectionSpecWrapper connectionWrapper : connectionWrappers) { DB db = new DB(connectionWrapper.getDbName()); db.open(connectionWrapper.getConnectionSpec()); if (rollback()){ db.openTransaction(); } } } }
public List<ConnectionSpecWrapper> getTestConnectionWrappers() { List<ConnectionSpecWrapper> allConnections = getConnectionSpecWrappers(); List<ConnectionSpecWrapper> result = new LinkedList<>(); for (ConnectionSpecWrapper connectionWrapper : allConnections) { if (connectionWrapper.isTesting()) result.add(connectionWrapper); } return result; } }
private void createJdbcWrapper(String env, String driver, String url, String userName, String password) { ConnectionSpecWrapper wrapper = new ConnectionSpecWrapper(); if(env.equals("test")){ wrapper.setEnvironment("development"); wrapper.setTesting(true); } else if(env.endsWith(".test")) { wrapper.setEnvironment(env.split("\\.")[0]); wrapper.setTesting(true); }else{ wrapper.setEnvironment(env); } ConnectionJdbcSpec connectionSpec = new ConnectionJdbcSpec(driver, url, userName, password); wrapper.setConnectionSpec(connectionSpec); addConnectionWrapper(wrapper, false); }
private void createJndiWrapper(String env, String jndiName) { ConnectionSpecWrapper wrapper = new ConnectionSpecWrapper(); wrapper.setEnvironment(env); ConnectionJndiSpec connectionSpec = new ConnectionJndiSpec(jndiName); wrapper.setConnectionSpec(connectionSpec); addConnectionWrapper(wrapper, false); }
/** * Returns all connections which correspond dbName of this filter and not for testing * * @return all connections which correspond dbName of this filter and not for testing. */ private List<ConnectionSpecWrapper> getConnectionWrappers() { List<ConnectionSpecWrapper> allConnections = DbConfiguration.getConnectionSpecWrappers(); List<ConnectionSpecWrapper> result = new LinkedList<>(); for (ConnectionSpecWrapper connectionWrapper : allConnections) { if (!connectionWrapper.isTesting() && (dbName == null || dbName.equals(connectionWrapper.getDbName()))) result.add(connectionWrapper); } return result; } }
@After @AfterEach public final void closeTestConnections() { if(!suppressDb){ List<ConnectionSpecWrapper> connectionWrappers = getTestConnectionWrappers(); for (ConnectionSpecWrapper connectionWrapper : connectionWrappers) { String dbName = connectionWrapper.getDbName(); DB db = new DB(dbName); if (rollback()) { db.rollbackTransaction(); } db.close(); } clearConnectionWrappers(); } } }
ConnectionBuilder(String environment) { connectionWrapper = new ConnectionSpecWrapper(); connectionWrapper.setEnvironment(environment); DbConfiguration.addConnectionWrapper(connectionWrapper, false); }
/** * Configure expanded JDBC parameters for opening a connection if needed * @param driver class name of driver * @param url JDBC URL * @param props properties with additional parameters a driver can take. */ public void jdbc(String driver, String url, Properties props) { connectionWrapper.setConnectionSpec(new ConnectionJdbcSpec(driver, url, props)); }
/** * Marks this connection to be used for testing. When you use any of the testing classes, such as DBSpec, DBControllerSpec, * DBIntegrationSpec and AppIntegrationSpec from activeweb-testing package, they all will use a connection that is marked * by this method. * * @return self */ public ConnectionBuilder testing() { connectionWrapper.setTesting(true); return this; }
public static void addConnectionWrapper(ConnectionSpecWrapper connectionWrapper, boolean override) { String connectionWrapperEnv = connectionWrapper.getEnvironment(); List<ConnectionSpecWrapper> envConnectionWrappers = connectionWrappers.get(connectionWrapperEnv); if(envConnectionWrappers == null || override) { envConnectionWrappers = new ArrayList<>(); connectionWrappers.put(connectionWrapperEnv, envConnectionWrappers); } envConnectionWrappers.add(connectionWrapper); }
/** * Name of a database. If this method is not called, the name od database is presumed "default". * @param dbName name od database for ActiveJDBC models. * @return self */ public ConnectionBuilder db(String dbName) { connectionWrapper.setDbName(dbName); return this; }
private void createJndiWrapper(String env, String jndiName) { ConnectionSpecWrapper wrapper = new ConnectionSpecWrapper(); wrapper.setEnvironment(env); ConnectionJndiSpec connectionSpec = new ConnectionJndiSpec(jndiName); wrapper.setConnectionSpec(connectionSpec); addConnectionWrapper(wrapper, false); }
public static void closeTestConnections() { List<ConnectionSpecWrapper> connectionWrappers = getTestConnectionWrappers(); for (ConnectionSpecWrapper connectionWrapper : connectionWrappers) { String dbName = connectionWrapper.getDbName(); DB db = new DB(dbName); if (Configuration.rollback()) { db.rollbackTransaction(); } db.close(); } }
ConnectionBuilder(String environment, boolean override) { connectionWrapper = new ConnectionSpecWrapper(); connectionWrapper.setEnvironment(environment); DbConfiguration.addConnectionWrapper(connectionWrapper, override); }
/** * Sets a <code>DataSource</code> to be used by this configuration. * * @param dataSource instance of a datadource */ public void dataSource(DataSource dataSource) { connectionWrapper.setConnectionSpec(new ConnectionDataSourceSpec(dataSource)); } }
public static void addConnectionWrapper(ConnectionSpecWrapper connectionWrapper, boolean override) { String connectionWrapperEnv = connectionWrapper.getEnvironment(); List<ConnectionSpecWrapper> envConnectionWrappers = connectionWrappers.get(connectionWrapperEnv); if(envConnectionWrappers == null || override) { envConnectionWrappers = new ArrayList<>(); connectionWrappers.put(connectionWrapperEnv, envConnectionWrappers); } envConnectionWrappers.add(connectionWrapper); }
public static void openTestConnections(){ List<ConnectionSpecWrapper> connectionWrappers = getTestConnectionWrappers(); if(connectionWrappers.isEmpty()){ LOGGER.warn("no DB connections are configured, none opened"); return; } for (ConnectionSpecWrapper connectionWrapper : connectionWrappers) { DB db = new DB(connectionWrapper.getDbName()); db.open(connectionWrapper.getConnectionSpec()); if (Configuration.rollback()) db.openTransaction(); } }
private void createJdbcWrapper(String env, String driver, String url, String userName, String password) { ConnectionSpecWrapper wrapper = new ConnectionSpecWrapper(); if(env.equals("test")){ wrapper.setEnvironment("development"); wrapper.setTesting(true); } else if(env.endsWith(".test")) { wrapper.setEnvironment(env.split("\\.")[0]); wrapper.setTesting(true); }else{ wrapper.setEnvironment(env); } ConnectionJdbcSpec connectionSpec = new ConnectionJdbcSpec(driver, url, userName, password); wrapper.setConnectionSpec(connectionSpec); addConnectionWrapper(wrapper, false); }
@Override public void onException(Exception e) { if(Configuration.isTesting()) return; List<ConnectionSpecWrapper> connectionWrappers = getConnectionWrappers(); if (connectionWrappers != null && !connectionWrappers.isEmpty()) { for (ConnectionSpecWrapper connectionWrapper : connectionWrappers) { DB db = new DB(connectionWrapper.getDbName()); if (db.hasConnection()) { if (manageTransaction) { db.rollbackTransaction(); logDebug("Rolling back transaction due to exception: " + e); } db.close(); } } } }
public List<ConnectionSpecWrapper> getTestConnectionWrappers() { List<ConnectionSpecWrapper> allConnections = getConnectionSpecWrappers(); List<ConnectionSpecWrapper> result = new LinkedList<>(); for (ConnectionSpecWrapper connectionWrapper : allConnections) { if (connectionWrapper.isTesting()) result.add(connectionWrapper); } return result; } }