package uk.co.optimisticpanda.dropwizard; import static org.junit.Assert.*; import java.util.Collection; import java.util.List; import org.junit.Before; import org.junit.Test; import uk.co.optimisticpanda.dropwizard.dbdeploy.ClasspathResourceScanner; import com.dbdeploy.scripts.ChangeScript; import com.google.common.base.Charsets; import static uk.co.optimisticpanda.dropwizard.dbdeploy.ClasspathResourceScanner.*; public class ClasspathResourceScannerTest{ private ClasspathResourceScanner scanner; @Before public void setUp(){ scanner = new ClasspathResourceScanner(Charsets.UTF_8); } @Test public void checkSimpleReadingFromExpandedClasspath(){ Collection<String> resources = scan("scripts/set0"); assertEquals(3, resources.size()); assertTrue(resources.contains("scripts/set0/001_create_table_aaa.sql")); assertTrue(resources.contains("scripts/set0/002_create_table_bbb.sql")); assertTrue(resources.contains("scripts/set0/003_create_table_ccc.sql")); } @Test public void getResource(){ String script = load(Charsets.UTF_8, "scripts/set0/001_create_table_aaa.sql"); assertTrue(script.contains("CREATE TABLE aaa(")); assertTrue(script.contains("change_number BIGINT NOT NULL")); } @Test public void getFilenameForResource(){ assertEquals("001_create_table_aaa.sql", getFileNameForResource("scripts/set0/001_create_table_aaa.sql")); assertEquals("Bundle.class", getFileNameForResource("com/yammer/dropwizard/Bundle.class")); } @Test public void checkRetrieveResources(){ List<ChangeScript> scripts = scanner.getChangeScriptsForLocation("scripts/set0"); assertEquals(3, scripts.size()); assertEquals("scripts/set0/001_create_table_aaa.sql", scripts.get(0).getDescription()); assertEquals("scripts/set0/002_create_table_bbb.sql", scripts.get(1).getDescription()); assertEquals("scripts/set0/003_create_table_ccc.sql", scripts.get(2).getDescription()); } }