< prev index next >
test/javax/xml/jaxp/functional/test/auctionportal/UserController.java
Print this page
*** 25,47 ****
import static com.sun.org.apache.xerces.internal.jaxp.JAXPConstants.JAXP_SCHEMA_LANGUAGE;
import static org.testng.Assert.assertFalse;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.Files;
- import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import static javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import static jaxp.library.JAXPTestUtilities.compareDocumentWithGold;
- import static jaxp.library.JAXPTestUtilities.failCleanup;
- import static jaxp.library.JAXPTestUtilities.failUnexpected;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertTrue;
-
import org.testng.annotations.Test;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
--- 25,44 ----
import static com.sun.org.apache.xerces.internal.jaxp.JAXPConstants.JAXP_SCHEMA_LANGUAGE;
import static org.testng.Assert.assertFalse;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import static javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
+ import jaxp.library.JAXPFileBaseTest;
import static jaxp.library.JAXPTestUtilities.compareDocumentWithGold;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertTrue;
import org.testng.annotations.Test;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
*** 57,76 ****
import static test.auctionportal.HiBidConstants.XML_DIR;
/**
* This is the user controller class for the Auction portal HiBid.com.
*/
! public class UserController {
/**
* Checking when creating an XML document using DOM Level 2 validating
* it without having a schema source or a schema location It must throw a
* sax parse exception.
*/
@Test
! public void testCreateNewUser() {
String resultFile = CLASS_DIR + "accountInfoOut.xml";
- try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
dbf.setValidating(true);
DocumentBuilder docBuilder = dbf.newDocumentBuilder();
--- 54,86 ----
import static test.auctionportal.HiBidConstants.XML_DIR;
/**
* This is the user controller class for the Auction portal HiBid.com.
*/
! public class UserController extends JAXPFileBaseTest {
/**
* Checking when creating an XML document using DOM Level 2 validating
* it without having a schema source or a schema location It must throw a
* sax parse exception.
+ *
+ * @throws ClassNotFoundException If any specified class does not implement.
+ * @throws ParserConfigurationException if a DocumentBuilder cannot be
+ * created which satisfies the configuration requested.
+ * @throws InstantiationException If any specified class is an interface or
+ * abstract class.
+ * @throws IllegalAccessException If the default constructor of a specified
+ * class is not accessible.
+ * @throws SAXException If any parse errors occur.
+ * @throws IOException if the file exists but is a directory rather than
+ * a regular file, does not exist but cannot be created, or cannot
+ * be opened for any other reason.
*/
@Test
! public void testCreateNewUser() throws ParserConfigurationException,
! SAXException, IOException, ClassNotFoundException,
! InstantiationException, IllegalAccessException {
String resultFile = CLASS_DIR + "accountInfoOut.xml";
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
dbf.setValidating(true);
DocumentBuilder docBuilder = dbf.newDocumentBuilder();
*** 90,124 ****
DOMImplementationLS impl
= (DOMImplementationLS) DOMImplementationRegistry
.newInstance().getDOMImplementation("LS");
LSSerializer writer = impl.createLSSerializer();
LSParser builder = impl.createLSParser(DOMImplementationLS.MODE_SYNCHRONOUS, null);
! FileOutputStream output = new FileOutputStream(resultFile);
MyDOMOutput domOutput = new MyDOMOutput();
-
domOutput.setByteStream(output);
writer.write(account, domOutput);
docBuilder.parse(resultFile);
-
- assertTrue(eh.isAnyError());
- } catch (ParserConfigurationException | ClassNotFoundException |
- InstantiationException | IllegalAccessException
- | ClassCastException | SAXException | IOException e) {
- failUnexpected(e);
}
}
/**
* Checking conflicting namespaces and use renameNode and normalizeDocument.
* @see <a href="content/accountInfo.xml">accountInfo.xml</a>
*/
@Test
! public void testAddUser() {
String resultFile = CLASS_DIR + "accountRole.out";
String xmlFile = XML_DIR + "accountInfo.xml";
- try {
// Copy schema for outputfile
Files.copy(Paths.get(XML_DIR, "accountInfo.xsd"),
Paths.get(CLASS_DIR, "accountInfo.xsd"),
StandardCopyOption.REPLACE_EXISTING);
MyErrorHandler eh = new MyErrorHandler();
--- 100,141 ----
DOMImplementationLS impl
= (DOMImplementationLS) DOMImplementationRegistry
.newInstance().getDOMImplementation("LS");
LSSerializer writer = impl.createLSSerializer();
LSParser builder = impl.createLSParser(DOMImplementationLS.MODE_SYNCHRONOUS, null);
! try(FileOutputStream output = new FileOutputStream(resultFile)) {
MyDOMOutput domOutput = new MyDOMOutput();
domOutput.setByteStream(output);
writer.write(account, domOutput);
docBuilder.parse(resultFile);
}
+ assertTrue(eh.isAnyError());
}
/**
* Checking conflicting namespaces and use renameNode and normalizeDocument.
* @see <a href="content/accountInfo.xml">accountInfo.xml</a>
+ *
+ * @throws ClassNotFoundException If any specified class does not implement.
+ * @throws ParserConfigurationException if a DocumentBuilder cannot be
+ * created which satisfies the configuration requested.
+ * @throws InstantiationException If any specified class is an interface or
+ * abstract class.
+ * @throws IllegalAccessException If the default constructor of a specified
+ * class is not accessible.
+ * @throws SAXException If any parse errors occur.
+ * @throws IOException if the file exists but is a directory rather than
+ * a regular file, does not exist but cannot be created, or cannot
+ * be opened for any other reason.
*/
@Test
! public void testAddUser() throws ParserConfigurationException, SAXException,
! IOException, ClassNotFoundException, InstantiationException,
! IllegalAccessException {
String resultFile = CLASS_DIR + "accountRole.out";
String xmlFile = XML_DIR + "accountInfo.xml";
// Copy schema for outputfile
Files.copy(Paths.get(XML_DIR, "accountInfo.xsd"),
Paths.get(CLASS_DIR, "accountInfo.xsd"),
StandardCopyOption.REPLACE_EXISTING);
MyErrorHandler eh = new MyErrorHandler();
*** 150,177 ****
writer.write(document, mydomoutput);
}
docBuilder.parse(resultFile);
assertFalse(eh.isAnyError());
- } catch (ParserConfigurationException | SAXException | IOException
- | ClassNotFoundException | InstantiationException
- | IllegalAccessException | ClassCastException e) {
- failUnexpected(e);
- }
}
/**
* Checking Text content in XML file.
* @see <a href="content/accountInfo.xml">accountInfo.xml</a>
*/
! @Test
! public void testMoreUserInfo() {
String xmlFile = XML_DIR + "accountInfo.xml";
-
- try {
- System.out.println("Checking additional user info");
-
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA_NS_URI);
dbf.setNamespaceAware(true);
dbf.setValidating(true);
--- 167,193 ----
writer.write(document, mydomoutput);
}
docBuilder.parse(resultFile);
assertFalse(eh.isAnyError());
}
/**
* Checking Text content in XML file.
* @see <a href="content/accountInfo.xml">accountInfo.xml</a>
+ *
+ * @throws ParserConfigurationException if a DocumentBuilder cannot be
+ * created which satisfies the configuration requested.
+ * @throws SAXException If any parse errors occur.
+ * @throws IOException if the file exists but is a directory rather than
+ * a regular file, does not exist but cannot be created, or cannot
+ * be opened for any other reason.
*/
! @Test(groups = {"readLocalFiles"})
! public void testMoreUserInfo() throws ParserConfigurationException,
! SAXException, IOException {
String xmlFile = XML_DIR + "accountInfo.xml";
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA_NS_URI);
dbf.setNamespaceAware(true);
dbf.setValidating(true);
*** 189,220 ****
Attr accountID = account.getAttributeNodeNS(PORTAL_ACCOUNT_NS, "accountID");
assertTrue(accountID.getTextContent().trim().equals("1"));
assertFalse(eh.isAnyError());
- } catch (ParserConfigurationException | SAXException | IOException e) {
- failUnexpected(e);
- }
}
/**
* This will check if adoptNode works will adoptNode from
* @see <a href="content/userInfo.xml">userInfo.xml</a>
* @see <a href="content/accountInfo.xml">accountInfo.xml</a>. This is
* adopting a node from the XML file which is validated by a DTD and
* into an XML file which is validated by the schema This covers Row 5
* for the table
* http://javaweb.sfbay/~jsuttor/JSR206/jsr-206-html/ch03s05.html. Filed
! * bug 4893745 because there was a difference in behavior
*/
@Test
! public void testCreateUserAccount() {
! System.out.println("Creating user account");
String userXmlFile = XML_DIR + "userInfo.xml";
String accountXmlFile = XML_DIR + "accountInfo.xml";
-
- try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
dbf.setValidating(true);
DocumentBuilder docBuilder = dbf.newDocumentBuilder();
--- 205,244 ----
Attr accountID = account.getAttributeNodeNS(PORTAL_ACCOUNT_NS, "accountID");
assertTrue(accountID.getTextContent().trim().equals("1"));
assertFalse(eh.isAnyError());
}
/**
* This will check if adoptNode works will adoptNode from
* @see <a href="content/userInfo.xml">userInfo.xml</a>
* @see <a href="content/accountInfo.xml">accountInfo.xml</a>. This is
* adopting a node from the XML file which is validated by a DTD and
* into an XML file which is validated by the schema This covers Row 5
* for the table
* http://javaweb.sfbay/~jsuttor/JSR206/jsr-206-html/ch03s05.html. Filed
! * bug 4893745 because there was a difference in behavior.
! *
! * @throws ClassNotFoundException If any specified class does not implement.
! * @throws ParserConfigurationException if a DocumentBuilder cannot be
! * created which satisfies the configuration requested.
! * @throws InstantiationException If any specified class is an interface or
! * abstract class.
! * @throws IllegalAccessException If the default constructor of a specified
! * class is not accessible.
! * @throws SAXException If any parse errors occur.
! * @throws IOException if the file exists but is a directory rather than
! * a regular file, does not exist but cannot be created, or cannot
! * be opened for any other reason.
*/
@Test
! public void testCreateUserAccount() throws ParserConfigurationException,
! SAXException, IOException, ClassNotFoundException,
! InstantiationException, IllegalAccessException {
String userXmlFile = XML_DIR + "userInfo.xml";
String accountXmlFile = XML_DIR + "accountInfo.xml";
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
dbf.setValidating(true);
DocumentBuilder docBuilder = dbf.newDocumentBuilder();
*** 246,298 ****
writer.write(document, mydomoutput);
writer.write(accDocument, mydomoutput);
assertFalse(eh.isAnyError());
- } catch (ParserConfigurationException | SAXException | IOException
- | ClassNotFoundException | InstantiationException
- | IllegalAccessException | ClassCastException e) {
- failUnexpected(e);
- }
}
/**
* Checking for Row 8 from the schema table when setting the schemaSource
* without the schemaLanguage must report an error.
*/
@Test(expectedExceptions = IllegalArgumentException.class)
! public void testUserError() throws IllegalArgumentException {
! System.out.println("Creating an error in user account");
!
String xmlFile = XML_DIR + "userInfo.xml";
String schema = "http://java.sun.com/xml/jaxp/properties/schemaSource";
String schemaValue = "http://dummy.com/dummy.xsd";
- try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
dbf.setValidating(true);
dbf.setAttribute(schema, schemaValue);
DocumentBuilder docBuilder = dbf.newDocumentBuilder();
MyErrorHandler eh = new MyErrorHandler();
docBuilder.setErrorHandler(eh);
! Document document = docBuilder.parse(xmlFile);
assertFalse(eh.isAnyError());
- } catch (ParserConfigurationException | SAXException | IOException e) {
- failUnexpected(e);
- }
}
/**
* Checking for namespace normalization.
* @see <a href="content/screenName.xml">screenName.xml</a> has prefix of
* userName is bound to "http://hibid.com/user" namespace normalization
* will create a namespace of prefix us and attach userEmail.
*/
@Test
! public void testCheckScreenNameExists() {
String resultFile = CLASS_DIR + "screenName.out";
String xmlFile = XML_DIR + "screenName.xml";
String goldFile = GOLDEN_DIR + "screenNameGold.xml";
String nsTagName = "http://hibid.com/screenName";
--- 270,333 ----
writer.write(document, mydomoutput);
writer.write(accDocument, mydomoutput);
assertFalse(eh.isAnyError());
}
/**
* Checking for Row 8 from the schema table when setting the schemaSource
* without the schemaLanguage must report an error.
+ *
+ * @throws ParserConfigurationException if a DocumentBuilder cannot be
+ * created which satisfies the configuration requested.
+ * @throws SAXException If any parse errors occur.
+ * @throws IOException if the file exists but is a directory rather than
+ * a regular file, does not exist but cannot be created, or cannot
+ * be opened for any other reason.
*/
@Test(expectedExceptions = IllegalArgumentException.class)
! public void testUserError() throws ParserConfigurationException,
! SAXException, IOException {
String xmlFile = XML_DIR + "userInfo.xml";
String schema = "http://java.sun.com/xml/jaxp/properties/schemaSource";
String schemaValue = "http://dummy.com/dummy.xsd";
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
dbf.setValidating(true);
dbf.setAttribute(schema, schemaValue);
DocumentBuilder docBuilder = dbf.newDocumentBuilder();
MyErrorHandler eh = new MyErrorHandler();
docBuilder.setErrorHandler(eh);
! docBuilder.parse(xmlFile);
assertFalse(eh.isAnyError());
}
/**
* Checking for namespace normalization.
* @see <a href="content/screenName.xml">screenName.xml</a> has prefix of
* userName is bound to "http://hibid.com/user" namespace normalization
* will create a namespace of prefix us and attach userEmail.
+ *
+ * @throws ClassNotFoundException If any specified class does not implement.
+ * @throws ParserConfigurationException if a DocumentBuilder cannot be
+ * created which satisfies the configuration requested.
+ * @throws InstantiationException If any specified class is an interface or
+ * abstract class.
+ * @throws IllegalAccessException If the default constructor of a specified
+ * class is not accessible.
+ * @throws SAXException If any parse errors occur.
+ * @throws IOException if the file exists but is a directory rather than
+ * a regular file, does not exist but cannot be created, or cannot
+ * be opened for any other reason.
*/
@Test
! public void testCheckScreenNameExists() throws ParserConfigurationException,
! ClassNotFoundException, InstantiationException, IllegalAccessException,
! SAXException, IOException {
String resultFile = CLASS_DIR + "screenName.out";
String xmlFile = XML_DIR + "screenName.xml";
String goldFile = GOLDEN_DIR + "screenNameGold.xml";
String nsTagName = "http://hibid.com/screenName";
*** 316,338 ****
document.normalizeDocument();
MyDOMOutput domoutput = new MyDOMOutput();
domoutput.setByteStream(output);
writer.write(document, domoutput);
-
- assertTrue(compareDocumentWithGold(goldFile, resultFile));
- } catch (ClassNotFoundException | InstantiationException
- | IllegalAccessException | ClassCastException | IOException
- | ParserConfigurationException | SAXException e) {
- failUnexpected(e);
- } finally {
- try {
- Path resultPath = Paths.get(resultFile);
- if (Files.exists(resultPath)) {
- Files.delete(resultPath);
- }
- } catch (IOException ex) {
- failCleanup(ex, resultFile);
- }
}
}
}
--- 351,359 ----
document.normalizeDocument();
MyDOMOutput domoutput = new MyDOMOutput();
domoutput.setByteStream(output);
writer.write(document, domoutput);
}
+ assertTrue(compareDocumentWithGold(goldFile, resultFile));
}
}
< prev index next >