package liquibase.integration.commandline; import java.io.File; import java.io.FileOutputStream; import java.util.Properties; import liquibase.database.Database; import liquibase.resource.ClassLoaderResourceAccessor; import liquibase.resource.ResourceAccessor; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; public class ChangeExecListenerUtilsTest extends Assert { // private Database database = createMock(Database.class); private ResourceAccessor resourceAccessor = new ClassLoaderResourceAccessor(); private File tmpFile; @Before public void setup() throws Exception { tmpFile = File.createTempFile("changeExecListener", ".properties"); FileOutputStream out = new FileOutputStream(tmpFile); Properties properties = new Properties(); properties.put("test", "value"); properties.put("exclusions", "table.name, table2.name2"); properties.store(out, ""); } @After public void tearDown() throws Exception { tmpFile.delete(); } // @Test // public void testWithProperties() throws Exception { // ChangeExecListenerWithProperties listener = // (ChangeExecListenerWithProperties) ChangeExecListenerUtils.getChangeExecListener(database, resourceAccessor, // ChangeExecListenerWithProperties.class.getName(), // tmpFile.getAbsolutePath()); // // assertEquals("value", listener.getProperties().get("test")); // assertEquals("table.name, table2.name2", listener.getProperties().get("exclusions")); // } // // @Test // public void testWithPropertiesAndEmptyConstructor() throws Exception { // ChangeExecListenerNoPropertiesOrDatabase listener = // (ChangeExecListenerNoPropertiesOrDatabase) ChangeExecListenerUtils.getChangeExecListener(database, resourceAccessor, // ChangeExecListenerNoPropertiesOrDatabase.class.getName(), // tmpFile.getAbsolutePath()); // assertNotNull(listener); // } // // @Test // public void testNoPropertiesOrDatabase() throws Exception { // ChangeExecListenerNoPropertiesOrDatabase listener = (ChangeExecListenerNoPropertiesOrDatabase) // ChangeExecListenerUtils.getChangeExecListener(database, resourceAccessor, // ChangeExecListenerNoPropertiesOrDatabase.class.getName(), null); // assertNotNull(listener); // } // // @Test // public void testWithDatabaseNoProperties() throws Exception { // ChangeExecListenerWithDatabase listener = (ChangeExecListenerWithDatabase) // ChangeExecListenerUtils.getChangeExecListener(database, resourceAccessor, // ChangeExecListenerWithDatabase.class.getName(), null); // // assertEquals(database, listener.getDatabase()); // } // // @Test // public void testWithPropertiesAndDatabase() throws Exception { // ChangeExecListenerWithPropertiesAndDatabase listener = // (ChangeExecListenerWithPropertiesAndDatabase) ChangeExecListenerUtils.getChangeExecListener( // database, resourceAccessor, // ChangeExecListenerWithPropertiesAndDatabase.class.getName(), // tmpFile.getAbsolutePath()); // // assertEquals("value", listener.getProperties().get("test")); // assertEquals("table.name, table2.name2", listener.getProperties().get("exclusions")); // assertEquals(database, listener.getDatabase()); // } // // // make it a bit simpler by handling both combinations of Database and Properties // @Test // public void testWithDatabaseAndProperties() throws Exception { // ChangeExecListenerWithDatabaseAndProperties listener = // (ChangeExecListenerWithDatabaseAndProperties) ChangeExecListenerUtils.getChangeExecListener( // database, resourceAccessor, // ChangeExecListenerWithDatabaseAndProperties.class.getName(), // tmpFile.getAbsolutePath()); // // assertEquals("value", listener.getProperties().get("test")); // assertEquals("table.name, table2.name2", listener.getProperties().get("exclusions")); // assertEquals(database, listener.getDatabase()); // } // // @Test // public void testWithDatabaseAndNullProperties() throws Exception { // ChangeExecListenerWithDatabaseAndProperties listener = // (ChangeExecListenerWithDatabaseAndProperties) ChangeExecListenerUtils.getChangeExecListener( // database, resourceAccessor, // ChangeExecListenerWithDatabaseAndProperties.class.getName(), // null); // // assertNull(listener.getProperties()); // assertEquals(database, listener.getDatabase()); // } }