diff --git a/libresonic-main/src/test/java/org/libresonic/player/dao/DaoTestCaseBase.java b/libresonic-main/src/test/java/org/libresonic/player/dao/DaoTestCaseBase.java deleted file mode 100644 index 9024575a..00000000 --- a/libresonic-main/src/test/java/org/libresonic/player/dao/DaoTestCaseBase.java +++ /dev/null @@ -1,126 +0,0 @@ -package org.libresonic.player.dao; - -import junit.framework.TestCase; -import liquibase.exception.LiquibaseException; -import org.libresonic.player.TestCaseUtils; -import org.libresonic.player.service.SettingsService; -import org.libresonic.player.spring.SpringLiquibase; -import org.libresonic.player.util.FileUtil; -import org.libresonic.player.util.Util; -import org.springframework.core.io.DefaultResourceLoader; -import org.springframework.jdbc.core.JdbcTemplate; -import org.springframework.jdbc.datasource.DriverManagerDataSource; - -import javax.sql.DataSource; - -import java.io.File; -import java.util.HashMap; -import java.util.Map; - -/** - * Superclass for all DAO test cases. - * Creates and configures the DAO's, and resets the test database. - * - * @author Sindre Mehus - */ -public abstract class DaoTestCaseBase extends TestCase { - - /** Do not re-create database if it is less than one hour old. */ - private static final long MAX_DB_AGE_MILLIS = 60L * 60 * 1000; - - static { - deleteDatabase(); - } - - private DaoHelper daoHelper; - protected PlayerDao playerDao; - protected InternetRadioDao internetRadioDao; - protected RatingDao ratingDao; - protected MusicFolderDao musicFolderDao; - protected UserDao userDao; - protected TranscodingDao transcodingDao; - protected PodcastDao podcastDao; - - protected DaoTestCaseBase() { - DataSource dataSource = createDataSource(); - daoHelper = new GenericDaoHelper(dataSource); - - runDatabaseMigration(dataSource); - - playerDao = new PlayerDao(); - internetRadioDao = new InternetRadioDao(); - ratingDao = new RatingDao(); - musicFolderDao = new MusicFolderDao(); - userDao = new UserDao(); - transcodingDao = new TranscodingDao(); - podcastDao = new PodcastDao(); - - playerDao.setDaoHelper(daoHelper); - internetRadioDao.setDaoHelper(daoHelper); - ratingDao.setDaoHelper(daoHelper); - musicFolderDao.setDaoHelper(daoHelper); - musicFolderDao.setUserDao(userDao); - userDao.setDaoHelper(daoHelper); - transcodingDao.setDaoHelper(daoHelper); - podcastDao.setDaoHelper(daoHelper); - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - getJdbcTemplate().execute("shutdown"); - } - - private void runDatabaseMigration(DataSource dataSource) { - SpringLiquibase springLiquibase = new SpringLiquibase(); - springLiquibase.setDataSource(dataSource); - springLiquibase.setChangeLog("classpath:liquibase/db-changelog.xml"); - springLiquibase.setResourceLoader(new DefaultResourceLoader()); - Map parameters = new HashMap<>(); - parameters.put("defaultMusicFolder", Util.getDefaultMusicFolder()); - parameters.put("varcharLimit", "512"); - parameters.put("userTableQuote", ""); - springLiquibase.setChangeLogParameters(parameters); - try { - springLiquibase.afterPropertiesSet(); - } catch (LiquibaseException e) { - throw new RuntimeException(e); - } - } - - private DataSource createDataSource() { - File libresonicHome = SettingsService.getLibresonicHome(); - DriverManagerDataSource ds = new DriverManagerDataSource(); - ds.setDriverClassName("org.hsqldb.jdbcDriver"); - ds.setUrl("jdbc:hsqldb:file:" + libresonicHome.getPath() + "/db/libresonic"); - ds.setUsername("sa"); - ds.setPassword(""); - - return ds; - } - - protected JdbcTemplate getJdbcTemplate() { - return daoHelper.getJdbcTemplate(); - } - - private static void deleteDatabase() { - File libresonicHome = new File(TestCaseUtils.libresonicHomePathForTest()); - File dbHome = new File(libresonicHome, "db"); - System.setProperty("libresonic.home", libresonicHome.getPath()); - - long now = System.currentTimeMillis(); - if (now - dbHome.lastModified() > MAX_DB_AGE_MILLIS) { - System.out.println("Resetting test database: " + dbHome); - delete(dbHome); - } - } - - private static void delete(File file) { - if (file.isDirectory()) { - for (File child : FileUtil.listFiles(file)) { - delete(child); - } - } - file.delete(); - } -} diff --git a/libresonic-main/src/test/java/org/libresonic/player/dao/DaoTestCaseBean2.java b/libresonic-main/src/test/java/org/libresonic/player/dao/DaoTestCaseBean2.java index 1ed12dab..987e7ab8 100644 --- a/libresonic-main/src/test/java/org/libresonic/player/dao/DaoTestCaseBean2.java +++ b/libresonic-main/src/test/java/org/libresonic/player/dao/DaoTestCaseBean2.java @@ -22,8 +22,8 @@ public class DaoTestCaseBean2 { LibresonicHomeRule libresonicRule = new LibresonicHomeRule(); @Override public Statement apply(Statement base, Description description) { - Statement spring = super.apply(base, description); - return libresonicRule.apply(spring, description); + Statement newBase = libresonicRule.apply(base, description); + return super.apply(newBase, description); } };