package no.met.metadataeditor.datastore; import static org.junit.Assert.*; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.xml.parsers.ParserConfigurationException; import javax.xml.stream.FactoryConfigurationError; import javax.xml.stream.XMLStreamException; import org.junit.Before; import org.junit.Test; import org.w3c.dom.Document; import org.xml.sax.SAXException; import static no.met.metadataeditor.TestHelpers.*; public class DataStoreUtilsTest { List<SupportedFormat> formats = new ArrayList<>(); @Before public void setUp() { Document doc; javax.xml.parsers.DocumentBuilderFactory dbf = javax.xml.parsers.DocumentBuilderFactory.newInstance(); try { javax.xml.parsers.DocumentBuilder db = dbf.newDocumentBuilder(); doc = db.parse(DataStoreUtilsTest.class.getResourceAsStream("/datastore/diskdatastore/testProject/config/setup.xml")); formats = DataStoreUtils.parseSupportedFormats(doc); } catch (SAXException e) { Logger.getLogger(DataStoreImpl.class.getName()).log(Level.SEVERE, null, e); } catch (IOException e) { Logger.getLogger(DataStoreImpl.class.getName()).log(Level.SEVERE, null, e); } catch (ParserConfigurationException e) { Logger.getLogger(DataStoreImpl.class.getName()).log(Level.SEVERE, null, e); } } @Test public void testParseSupportedFormats() { assertEquals(4, formats.size()); assertEquals("http://www.met.no/schema/metamod/MM2", formats.get(0).getNamespace()); } @Test public void testGetFormatMM2Combined() throws XMLStreamException, FactoryConfigurationError{ String metadata = formattedXMLAsString("/datastore/datastoreutils/mm2combined.xml"); SupportedFormat format = DataStoreUtils.getFormat(formats, metadata); assertEquals("MM2COMBINED", format.getTagName()); } @Test public void testGetFormatMM2() throws XMLStreamException, FactoryConfigurationError{ String metadata = formattedXMLAsString("/datastore/datastoreutils/mm2.xml"); SupportedFormat format = DataStoreUtils.getFormat(formats, metadata); assertEquals("MM2", format.getTagName()); } @Test public void testGetFormatISO() throws XMLStreamException, FactoryConfigurationError{ String metadata = formattedXMLAsString("/datastore/datastoreutils/iso.xml"); SupportedFormat format = DataStoreUtils.getFormat(formats, metadata); assertEquals("ISO19139", format.getTagName()); } @Test public void testGetFormatISOCombined() throws XMLStreamException, FactoryConfigurationError{ String metadata = formattedXMLAsString("/datastore/datastoreutils/isocombined.xml"); SupportedFormat format = DataStoreUtils.getFormat(formats, metadata); assertEquals("ISO19139COMBINED", format.getTagName()); } }