package no.met.metadataeditor.datastore; import java.io.File; import java.io.IOException; import java.util.Arrays; import java.util.List; import no.met.metadataeditor.EditorException; import org.apache.commons.io.FileUtils; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; import static no.met.metadataeditor.TestHelpers.*; import static org.junit.Assert.*; public class DiskDataStoreTest { private static String baseDir = "DiskDataStoreTest"; private static File testDir; @BeforeClass public static void setup() throws IOException{ String tmpDir = System.getProperty("java.io.tmpdir"); testDir = new File(tmpDir, baseDir); testDir.mkdirs(); File startDir = new File(DiskDataStoreTest.class.getResource("/datastore/diskdatastore/testProject").getFile()); FileUtils.copyDirectory(startDir, testDir); } @AfterClass public static void teardown() throws IOException{ FileUtils.deleteDirectory(testDir); } @Test public void testExistingTemplate() { DataStore store = new DiskDataStore(testDir.getAbsolutePath()); String template = store.readTemplate("metadata1"); String expectedTemplate = fileAsString("/datastore/diskdatastore/testProject/config/MM2Template.xml"); assertEquals(expectedTemplate, template); } @Test(expected=EditorException.class) public void testNonExistingTemplate() { DataStore store = new DiskDataStore(testDir.getAbsolutePath()); store.readTemplate("mm2combined"); } @Test public void testAvailableMetadata(){ DataStore store = new DiskDataStore(testDir.getAbsolutePath()); List<String> expected = Arrays.asList("metadata1", "mm2combined"); assertEquals("Available list as expected", expected, store.availableMetadata()); } }