X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fconfig%2Fconfig-persister-directory-xml-adapter%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fpersist%2Fstorage%2Fdirectory%2Fxml%2FDirectoryStorageAdapterTest.java;h=1142e060aaa0ae19e736098750b1615dcfc37cbf;hb=451ac09a6c84ea1e438ee1221470e629725379fc;hp=8e34bc79903bcb54c712416afa906246c2ef3a5e;hpb=26da1d7b5baaef16e403cf6b926e36b604c4394a;p=controller.git diff --git a/opendaylight/config/config-persister-directory-xml-adapter/src/test/java/org/opendaylight/controller/config/persist/storage/directory/xml/DirectoryStorageAdapterTest.java b/opendaylight/config/config-persister-directory-xml-adapter/src/test/java/org/opendaylight/controller/config/persist/storage/directory/xml/DirectoryStorageAdapterTest.java index 8e34bc7990..1142e060aa 100644 --- a/opendaylight/config/config-persister-directory-xml-adapter/src/test/java/org/opendaylight/controller/config/persist/storage/directory/xml/DirectoryStorageAdapterTest.java +++ b/opendaylight/config/config-persister-directory-xml-adapter/src/test/java/org/opendaylight/controller/config/persist/storage/directory/xml/DirectoryStorageAdapterTest.java @@ -8,31 +8,46 @@ package org.opendaylight.controller.config.persist.storage.directory.xml; +import static org.custommonkey.xmlunit.XMLAssert.assertXMLEqual; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import com.google.common.base.Optional; + import java.io.File; +import java.io.IOException; import java.util.Collections; import java.util.List; import java.util.SortedSet; + import org.junit.Test; import org.opendaylight.controller.config.persist.api.ConfigSnapshotHolder; import org.opendaylight.controller.config.persist.api.Persister; import org.opendaylight.controller.config.persist.test.PropertiesProviderTest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import org.xml.sax.SAXException; public class DirectoryStorageAdapterTest { + private static final Logger LOG = LoggerFactory.getLogger(DirectoryStorageAdapterTest.class); Persister tested; - Logger logger = LoggerFactory.getLogger(DirectoryStorageAdapterTest.class.toString()); - private Persister instantiatePersisterFromAdapter(File file){ + private Persister instantiatePersisterFromAdapter(final File file, final Optional extensions) { PropertiesProviderTest pp = new PropertiesProviderTest(); - pp.addProperty("directoryStorage",file.getPath()); + pp.addProperty(XmlDirectoryStorageAdapter.DIRECTORY_STORAGE_PROP, file.getPath()); + if (extensions.isPresent()) { + pp.addProperty(XmlDirectoryStorageAdapter.INCLUDE_EXT_PROP, extensions.get()); + } + XmlDirectoryStorageAdapter dsa = new XmlDirectoryStorageAdapter(); return dsa.instantiate(pp); } + private Persister instantiatePersisterFromAdapter(final File file) { + return instantiatePersisterFromAdapter(file, Optional.absent()); + } + @Test public void testEmptyDirectory() throws Exception { File folder = new File("target/emptyFolder"); @@ -54,14 +69,13 @@ public class DirectoryStorageAdapterTest { } }); fail(); - } catch (UnsupportedOperationException e) { - + } catch (final UnsupportedOperationException e) { + // TODO: empty catch block } } - private File getFolder(String folderName) { - File result = new File(("src/test/resources/" + - folderName).replace("/", File.separator)); + private File getFolder(final String folderName) { + File result = new File(("src/test/resources/" + folderName).replace("/", File.separator)); assertTrue(result + " is not a directory", result.isDirectory()); return result; } @@ -69,34 +83,72 @@ public class DirectoryStorageAdapterTest { @Test public void testOneFile() throws Exception { File folder = getFolder("oneFile"); - tested = instantiatePersisterFromAdapter(folder); + tested = instantiatePersisterFromAdapter(folder, Optional.of("xml")); - logger.info("Testing : "+tested.toString()); + LOG.info("Testing : {}", tested); List results = tested.loadLastConfigs(); assertEquals(1, results.size()); ConfigSnapshotHolder result = results.get(0); assertResult(result, "1", "cap1&rev", "cap2", "capa a"); } - private void assertResult(ConfigSnapshotHolder result, String s, String... caps) { - assertEquals(s, result.getConfigSnapshot().replaceAll("\\s", "")); - int i = 0; + @Test + public void testOneFileWrongExtension() throws Exception { + File folder = getFolder("oneFile"); + tested = instantiatePersisterFromAdapter(folder, Optional.of("aa, bb")); + LOG.info("Testing : {}", tested); + } + + private void assertResult(final ConfigSnapshotHolder result, + final String string, + final String... caps) throws SAXException, IOException { + assertXMLEqual(string, result.getConfigSnapshot()); + int index = 0; for (String capFromSnapshot : result.getCapabilities()) { - assertEquals(capFromSnapshot, caps[i++]); + assertEquals(capFromSnapshot, caps[index++]); } } @Test - public void testTwoFiles() throws Exception { + public void testTwoFilesAllExtensions() throws Exception { File folder = getFolder("twoFiles"); tested = instantiatePersisterFromAdapter(folder); - logger.info("Testing : "+tested.toString()); + LOG.info("Testing : {}", tested); List results = tested.loadLastConfigs(); assertEquals(2, results.size()); assertResult(results.get(0), "1", "cap1-a", "cap2-a", "capa a-a"); assertResult(results.get(1), "2", "cap1-b", "cap2-b", "capa a-b"); + } + + @Test + public void testTwoFilesTwoExtensions() throws Exception { + File folder = getFolder("twoFiles"); + tested = instantiatePersisterFromAdapter(folder, Optional.of("xml, xml2")); + LOG.info("Testing : {}", tested); + assertEquals(2, tested.loadLastConfigs().size()); + } + + @Test + public void testTwoFilesOnlyOneExtension() throws Exception { + File folder = getFolder("twoFiles"); + tested = instantiatePersisterFromAdapter(folder, Optional.of("xml")); + LOG.info("Testing : ", tested); + List results = tested.loadLastConfigs(); + assertEquals(1, results.size()); + assertResult(results.get(0), "1", "cap1-a", "cap2-a", "capa a-a"); + } + + @Test + public void testTwoFilesOneInvalid() throws Exception { + File folder = getFolder("twoFiles_corrupt"); + tested = instantiatePersisterFromAdapter(folder, Optional.of("xml")); + LOG.info("Testing : {}", tested); + List results = tested.loadLastConfigs(); + assertEquals(1, results.size()); + + assertResult(results.get(0), "1", "cap1-a", "cap2-a", "capa a-a"); } }