X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fconfig%2Fconfig-persister-directory-xml-adapter%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fpersist%2Fstorage%2Fdirectory%2Fxml%2FDirectoryStorageAdapterTest.java;h=7af06bd3e39cdd341e917779961150b21af4a6f9;hp=8e34bc79903bcb54c712416afa906246c2ef3a5e;hb=408eeef51f435abd2027f9d25ac5592066b202dd;hpb=0a2c6d311412a23647a9e5a591e5ce02e940bcc8 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..7af06bd3e3 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 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; + +import com.google.common.base.Optional; public class DirectoryStorageAdapterTest { Persister tested; Logger logger = LoggerFactory.getLogger(DirectoryStorageAdapterTest.class.toString()); - private Persister instantiatePersisterFromAdapter(File file){ + private Persister instantiatePersisterFromAdapter(File file, 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(File file){ + return instantiatePersisterFromAdapter(file, Optional.absent()); + } + @Test public void testEmptyDirectory() throws Exception { File folder = new File("target/emptyFolder"); @@ -69,17 +84,24 @@ 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()); + logger.info("Testing : " + tested.toString()); 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", "")); + @Test + public void testOneFileWrongExtension() throws Exception { + File folder = getFolder("oneFile"); + tested = instantiatePersisterFromAdapter(folder, Optional.of("aa, bb")); + logger.info("Testing : " + tested.toString()); + } + + private void assertResult(ConfigSnapshotHolder result, String s, String... caps) throws SAXException, IOException { + assertXMLEqual(s, result.getConfigSnapshot()); int i = 0; for (String capFromSnapshot : result.getCapabilities()) { assertEquals(capFromSnapshot, caps[i++]); @@ -87,16 +109,45 @@ public class DirectoryStorageAdapterTest { } @Test - public void testTwoFiles() throws Exception { + public void testTwoFilesAllExtensions() throws Exception { File folder = getFolder("twoFiles"); tested = instantiatePersisterFromAdapter(folder); - logger.info("Testing : "+tested.toString()); + logger.info("Testing : " + tested.toString()); 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")); + logger.info("Testing : " + tested.toString()); + assertEquals(2, tested.loadLastConfigs().size()); + } + @Test + public void testTwoFilesOnlyOneExtension() throws Exception { + File folder = getFolder("twoFiles"); + tested = instantiatePersisterFromAdapter(folder, Optional.of("xml")); + logger.info("Testing : " + tested.toString()); + 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")); + logger.info("Testing : " + tested.toString()); + List results = tested.loadLastConfigs(); + assertEquals(1, results.size()); + + assertResult(results.get(0), "1", "cap1-a", "cap2-a", "capa a-a"); } }