/*
* Copyright (C) 2006-2016 DLR, Germany
*
* All rights reserved
*
* http://www.rcenvironment.de/
*/
package de.rcenvironment.core.utils.incubator.xml;
import java.io.File;
import java.io.InputStream;
import junit.framework.TestCase;
import org.dom4j.DocumentException;
/**
*
* Test cases for the class <code>XMLIOSupport</code>.
*
* @author Andre Nurzenski
*/
public class XMLIOSupportTest extends TestCase {
/**
* Message that indicates that a test has failed because no exception was thrown.
*/
private static final String EXCEPTION_MESSAGE = "Should raise a DocumentException";
/**
* The filename of the XML file to read.
*/
private static final String XML_INPUT_FILENAME = "src/test/resources/authorization.xml";
/**
* The schema definition for the used XML file.
*/
private static final String XML_SCHEMA_DEFINITION = "src/test/resources/authorization.xsd";
/**
* An input stream containing XML data.
*/
private InputStream myXMLInputStream = null;
/**
* A <code>File</code> representation of the XML file to read.
*/
private File myXMLInputFile = null;
/**
* A <code>File</code> representation of the XML schema definition file to read.
*/
private File myXMLSchemaDefinitionFile = null;
@Override
protected void setUp() throws Exception {
super.setUp();
myXMLInputStream = getClass().getResourceAsStream("/authorization.xml");
myXMLInputFile = new File(XML_INPUT_FILENAME);
myXMLSchemaDefinitionFile = new File(XML_SCHEMA_DEFINITION);
}
@Override
protected void tearDown() throws Exception {
super.tearDown();
myXMLInputStream.close();
myXMLInputFile = null;
myXMLSchemaDefinitionFile = null;
}
/*
* #################### Test for success ####################
*/
/**
*
* Test if a XML file can be read.
*
* @throws Exception
* if an exception occurs.
*/
public void testReadXMLInputStreamForSuccess() throws Exception {
XMLIOSupport.readXML(myXMLInputStream);
}
/**
*
* Test if a XML file can be read.
*
* @throws Exception
* if an exception occurs.
*/
public void testReadXMLFilenameForSuccess() throws Exception {
XMLIOSupport.readXML(XML_INPUT_FILENAME);
}
/**
*
* Test if a XML file can be read.
*
* @throws Exception
* if an exception occurs.
*/
public void testReadXMLFileForSuccess() throws Exception {
XMLIOSupport.readXML(myXMLInputFile);
}
/**
*
* Test if a XML file can be read and validated.
*
* @throws Exception
* if an exception occurs.
*/
public void testReadWithValidationXMLFilenameForSuccess() throws Exception {
XMLIOSupport.readXML(XML_SCHEMA_DEFINITION, XML_INPUT_FILENAME);
}
/**
*
* Test if a XML file can be read and validated.
*
* @throws Exception
* if an exception occurs.
*/
public void testReadWithValidationXMLFileForSuccess() throws Exception {
XMLIOSupport.readXML(myXMLSchemaDefinitionFile, myXMLInputFile);
}
/*
* #################### Test for failure ####################
*/
/**
*
* Test if a document exception is raised while reading a non-XML file.
*
*/
public void testReadXMLInputStreamForFailure() {
try {
XMLIOSupport.readXML(getClass().getResourceAsStream("/rce.cer"));
fail(EXCEPTION_MESSAGE);
} catch (DocumentException e) {
assertTrue(true);
}
}
/**
*
* Test if a document exception is raised while reading a non-XML file.
*
*/
public void testReadXMLFilenameForFailure() {
try {
XMLIOSupport.readXML("src/test/resources/rce.cer");
fail(EXCEPTION_MESSAGE);
} catch (DocumentException e) {
assertTrue(true);
}
}
/**
*
* Test if a document exception is raised while reading a non-XML file.
*
*/
public void testReadXMLFileForFailure() {
try {
XMLIOSupport.readXML(new File("src/test/resources/rce.cer"));
fail(EXCEPTION_MESSAGE);
} catch (DocumentException e) {
assertTrue(true);
}
}
/*
* #################### Test for sanity ####################
*/
}