blob: 4f48c4308d38871c8795ed436908cdeac890df64 [file] [log] [blame]
/*
* Copyright (c) 2011, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// David McCann - Novebmer 10, 2011 - 2.4 - Initial implementation
package dbws.testing.types;
//javase imports
import java.io.StringReader;
import java.math.BigDecimal;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import org.w3c.dom.Document;
//java eXtension imports
import javax.wsdl.WSDLException;
//JUnit4 imports
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
//EclipseLink imports
import org.eclipse.persistence.internal.xr.Invocation;
import org.eclipse.persistence.internal.xr.Operation;
import org.eclipse.persistence.oxm.XMLMarshaller;
import org.eclipse.persistence.oxm.XMLRoot;
import org.eclipse.persistence.tools.dbws.DBWSBuilder;
//test imports
import dbws.testing.DBWSTestSuite;
/**
* Tests various types.
*
*/
public class TypesTestSuite extends DBWSTestSuite {
static final String CREATE_PACKAGE_TEST_TYPES =
"CREATE OR REPLACE PACKAGE TEST_TYPES AS" +
"\nFUNCTION ECHO_INTEGER (PINTEGER IN INTEGER) RETURN INTEGER;" +
"\nFUNCTION ECHO_SMALLINT(PSMALLINT IN SMALLINT) RETURN SMALLINT;" +
"\nFUNCTION ECHO_NUMERIC (PNUMERIC IN NUMERIC) RETURN NUMERIC;" +
"\nFUNCTION ECHO_DEC (PDEC IN DEC) RETURN DEC;" +
"\nFUNCTION ECHO_DECIMAL (PDECIMAL IN DECIMAL) RETURN DECIMAL;" +
"\nFUNCTION ECHO_NUMBER (PNUMBER IN NUMBER) RETURN NUMBER;" +
"\nFUNCTION ECHO_VARCHAR(PVARCHAR IN VARCHAR) RETURN VARCHAR;" +
"\nFUNCTION ECHO_VARCHAR2 (PINPUTVARCHAR IN VARCHAR2) RETURN VARCHAR2;" +
"\nFUNCTION ECHO_CHAR (PINPUTCHAR IN CHAR) RETURN CHAR;" +
"\nFUNCTION ECHO_REAL (PREAL IN REAL) RETURN REAL;" +
"\nFUNCTION ECHO_FLOAT (PINPUTFLOAT IN FLOAT) RETURN FLOAT;" +
"\nFUNCTION ECHO_DOUBLE (PDOUBLE IN DOUBLE PRECISION) RETURN DOUBLE PRECISION;" +
"\nFUNCTION ECHO_DATE (PINPUTDATE IN DATE) RETURN DATE;" +
"\nFUNCTION ECHO_TIMESTAMP (PINPUTTS IN TIMESTAMP) RETURN TIMESTAMP;" +
"\nFUNCTION ECHO_CLOB (PINPUTCLOB IN CLOB) RETURN CLOB;" +
"\nFUNCTION ECHO_BLOB (PINPUTBLOB IN BLOB) RETURN BLOB;" +
"\nFUNCTION ECHO_LONG (PLONG IN LONG) RETURN LONG;" +
"\nFUNCTION ECHO_LONG_RAW (PLONGRAW IN LONG RAW) RETURN LONG RAW;" +
"\nFUNCTION ECHO_RAW(PRAW IN RAW) RETURN RAW;" +
"\nFUNCTION ECHO_ROWID(PROWID IN ROWID) RETURN ROWID;" +
"\nFUNCTION ECHO_BOOLEAN(P1 IN BOOLEAN) RETURN BOOLEAN;" +
"\nPROCEDURE ECHO_BOOLEAN2(P1 IN BOOLEAN, P2 OUT BOOLEAN);" +
"\nFUNCTION ECHO_NVARCHAR2 (PNVARCHAR IN NVARCHAR2) RETURN NVARCHAR2;" +
"\nPROCEDURE pEchoNchar(p_nchar in nchar);" +
"\nFUNCTION fEchoNchar(p_nchar in nchar) return nchar;" +
"\nPROCEDURE pEchoNvarchar2(p_nvarchar2 in nvarchar2, p_nvarchar22 OUT nvarchar2);" +
"\nEND;" ;
static final String CREATE_PACKAGE_BODY_TEST_TYPES =
"CREATE OR REPLACE PACKAGE BODY TEST_TYPES AS" +
"\nFUNCTION ECHO_INTEGER (PINTEGER IN INTEGER) RETURN INTEGER IS" +
"\nBEGIN" +
"\nRETURN PINTEGER;" +
"\nEND ECHO_INTEGER;" +
"\nFUNCTION ECHO_SMALLINT(PSMALLINT IN SMALLINT) RETURN SMALLINT IS" +
"\nBEGIN" +
"\nRETURN PSMALLINT;" +
"\nEND ECHO_SMALLINT;" +
"\nFUNCTION ECHO_NUMERIC (PNUMERIC IN NUMERIC) RETURN NUMERIC IS" +
"\nBEGIN" +
"\nRETURN PNUMERIC;" +
"\nEND ECHO_NUMERIC;" +
"\nFUNCTION ECHO_DEC (PDEC IN DEC) RETURN DEC IS" +
"\nBEGIN" +
"\nRETURN PDEC;" +
"\nEND ECHO_DEC;" +
"\nFUNCTION ECHO_DECIMAL (PDECIMAL IN DECIMAL) RETURN DECIMAL IS" +
"\nBEGIN" +
"\nRETURN PDECIMAL;" +
"\nEND ECHO_DECIMAL;" +
"\nFUNCTION ECHO_NUMBER (PNUMBER IN NUMBER) RETURN NUMBER IS" +
"\nBEGIN" +
"\nRETURN PNUMBER;" +
"\nEND ECHO_NUMBER;" +
"\nFUNCTION ECHO_VARCHAR(PVARCHAR IN VARCHAR) RETURN VARCHAR IS" +
"\nBEGIN" +
"\nRETURN PVARCHAR;" +
"\nEND ECHO_VARCHAR;" +
"\nFUNCTION ECHO_VARCHAR2 (PINPUTVARCHAR IN VARCHAR2) RETURN VARCHAR2 IS" +
"\nBEGIN" +
"\nRETURN PINPUTVARCHAR;" +
"\nEND ECHO_VARCHAR2;" +
"\nFUNCTION ECHO_NVARCHAR2 (PNVARCHAR IN NVARCHAR2) RETURN NVARCHAR2 IS" +
"\nBEGIN" +
"\nRETURN PNVARCHAR;" +
"\nEND ECHO_NVARCHAR2;" +
"\nFUNCTION ECHO_CHAR (PINPUTCHAR IN CHAR) RETURN CHAR IS" +
"\nBEGIN" +
"\nRETURN PINPUTCHAR;" +
"\nEND ECHO_CHAR;" +
"\nFUNCTION ECHO_REAL (PREAL IN REAL) RETURN REAL IS" +
"\nBEGIN" +
"\nRETURN PREAL;" +
"\nEND ECHO_REAL;" +
"\nFUNCTION ECHO_FLOAT (PINPUTFLOAT IN FLOAT) RETURN FLOAT IS" +
"\nBEGIN" +
"\nRETURN PINPUTFLOAT;" +
"\nEND ECHO_FLOAT;" +
"\nFUNCTION ECHO_DOUBLE (PDOUBLE IN DOUBLE PRECISION) RETURN DOUBLE PRECISION IS" +
"\nBEGIN" +
"\nRETURN PDOUBLE;" +
"\nEND ECHO_DOUBLE;" +
"\nFUNCTION ECHO_DATE (PINPUTDATE IN DATE) RETURN DATE IS" +
"\nBEGIN" +
"\nRETURN PINPUTDATE;" +
"\nEND ECHO_DATE;" +
"\nFUNCTION ECHO_TIMESTAMP (PINPUTTS IN TIMESTAMP) RETURN TIMESTAMP IS" +
"\nBEGIN" +
"\nRETURN PINPUTTS;" +
"\nEND ECHO_TIMESTAMP;" +
"\nFUNCTION ECHO_CLOB (PINPUTCLOB IN CLOB) RETURN CLOB IS" +
"\nBEGIN" +
"\nRETURN PINPUTCLOB;" +
"\nEND ECHO_CLOB;" +
"\nFUNCTION ECHO_BLOB (PINPUTBLOB IN BLOB) RETURN BLOB IS" +
"\nBEGIN" +
"\nRETURN PINPUTBLOB;" +
"\nEND ECHO_BLOB;" +
"\nFUNCTION ECHO_LONG (PLONG IN LONG) RETURN LONG IS" +
"\nBEGIN" +
"\nRETURN PLONG;" +
"\nEND ECHO_LONG;" +
"\nFUNCTION ECHO_LONG_RAW (PLONGRAW IN LONG RAW) RETURN LONG RAW IS" +
"\nBEGIN" +
"\nRETURN PLONGRAW;" +
"\nEND ECHO_LONG_RAW;" +
"\nFUNCTION ECHO_RAW(PRAW IN RAW) RETURN RAW IS" +
"\nBEGIN" +
"\nRETURN PRAW;" +
"\nEND ECHO_RAW;" +
"\nFUNCTION ECHO_ROWID(PROWID IN ROWID) RETURN ROWID IS" +
"\nBEGIN" +
"\nRETURN PROWID;" +
"\nEND ECHO_ROWID;" +
"\nFUNCTION ECHO_BOOLEAN(P1 IN BOOLEAN) RETURN BOOLEAN IS" +
"\nBEGIN" +
"\nRETURN P1;" +
"\nEND ECHO_BOOLEAN;" +
"\nPROCEDURE ECHO_BOOLEAN2(P1 IN BOOLEAN, P2 OUT BOOLEAN) IS" +
"\nBEGIN" +
"\nP2 := P1;" +
"\nEND ECHO_BOOLEAN2;" +
"\nPROCEDURE pEchoNchar(p_nchar in nchar) AS" +
"\nBEGIN" +
"\nNULL;" +
"\nEND pEchoNchar;" +
"\nFUNCTION fEchoNchar(p_nchar in nchar) return nchar AS" +
"\nBEGIN" +
"\nreturn p_nchar;" +
"\nEND fEchoNchar;" +
"\nPROCEDURE pEchoNvarchar2(p_nvarchar2 in nvarchar2, p_nvarchar22 OUT nvarchar2) AS" +
"\nBEGIN" +
"\np_nvarchar22 := p_nvarchar2;" +
"\nEND pEchoNvarchar2;" +
"\nEND;" ;
static final String CREATE_XMLTYPEDATA_TABLE =
"CREATE TABLE XMLTYPEDATA (" +
"ID NUMBER(4,0) NOT NULL," +
"XMLDATA XMLType," +
"PRIMARY KEY (ID)" +
")";
static final String[] POPULATE_XMLTYPEDATA_TABLE = new String[] {
"INSERT INTO XMLTYPEDATA (ID, XMLDATA) VALUES (666, XMLTYPE('<blah>some blah text</blah>'))",
"INSERT INTO XMLTYPEDATA (ID, XMLDATA) VALUES (667, XMLTYPE('<foo>yo fool!</foo>'))",
};
static final String DROP_XMLTYPEDATA_TABLE =
"DROP TABLE XMLTYPEDATA";
static final String DROP_PACKAGE_TEST_TYPES =
"DROP PACKAGE TEST_TYPES";
static final String DROP_PACKAGE_BODY_TEST_TYPES =
"DROP PACKAGE BODY TEST_TYPES";
static boolean ddlCreate = false;
static boolean ddlDrop = false;
static boolean ddlDebug = false;
@BeforeClass
public static void setUp() throws WSDLException {
if (conn == null) {
try {
conn = buildConnection();
}
catch (Exception e) {
e.printStackTrace();
}
}
String ddlCreateProp = System.getProperty(DATABASE_DDL_CREATE_KEY, DEFAULT_DATABASE_DDL_CREATE);
if ("true".equalsIgnoreCase(ddlCreateProp)) {
ddlCreate = true;
}
String ddlDropProp = System.getProperty(DATABASE_DDL_DROP_KEY, DEFAULT_DATABASE_DDL_DROP);
if ("true".equalsIgnoreCase(ddlDropProp)) {
ddlDrop = true;
}
String ddlDebugProp = System.getProperty(DATABASE_DDL_DEBUG_KEY, DEFAULT_DATABASE_DDL_DEBUG);
if ("true".equalsIgnoreCase(ddlDebugProp)) {
ddlDebug = true;
}
if (ddlCreate) {
runDdl(conn, CREATE_PACKAGE_TEST_TYPES, ddlDebug);
runDdl(conn, CREATE_PACKAGE_BODY_TEST_TYPES, ddlDebug);
runDdl(conn, CREATE_XMLTYPEDATA_TABLE, ddlDebug);
try {
Statement stmt = conn.createStatement();
for (int i = 0; i < POPULATE_XMLTYPEDATA_TABLE.length; i++) {
stmt.addBatch(POPULATE_XMLTYPEDATA_TABLE[i]);
}
stmt.executeBatch();
}
catch (SQLException e) {
//e.printStackTrace();
}
}
DBWS_BUILDER_XML_USERNAME =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<dbws-builder xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">" +
"<properties>" +
"<property name=\"projectName\">Types</property>" +
"<property name=\"logLevel\">off</property>" +
"<property name=\"username\">";
DBWS_BUILDER_XML_PASSWORD =
"</property><property name=\"password\">";
DBWS_BUILDER_XML_URL =
"</property><property name=\"url\">";
DBWS_BUILDER_XML_DRIVER =
"</property><property name=\"driver\">";
DBWS_BUILDER_XML_PLATFORM =
"</property><property name=\"platformClassname\">";
DBWS_BUILDER_XML_MAIN =
"</property>" +
"</properties>" +
"<procedure " +
"name=\"echoInteger\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"ECHO_INTEGER\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"echoSmallint\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"ECHO_SMALLINT\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"echoNumeric\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"ECHO_NUMERIC\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"echoDec\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"ECHO_DEC\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"echoDecimal\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"ECHO_DECIMAL\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"echoNumber\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"ECHO_NUMBER\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"echoVarchar\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"ECHO_VARCHAR\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"echoVarchar2\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"ECHO_VARCHAR2\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"echoNVarchar2\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"ECHO_NVARCHAR2\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"pEchoNchar\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"pEchoNchar\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"fEchoNchar\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"fEchoNchar\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"pEchoNvarchar2\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"pEchoNvarchar2\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"echoChar\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"ECHO_CHAR\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"echoReal\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"ECHO_REAL\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"echoFloat\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"ECHO_FLOAT\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"echoDouble\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"ECHO_DOUBLE\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"echoDate\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"ECHO_DATE\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"echoTimestamp\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"ECHO_TIMESTAMP\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"echoClob\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"ECHO_CLOB\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"echoBlob\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"ECHO_BLOB\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"echoLong\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"ECHO_LONG\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"echoLongRaw\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"ECHO_LONG_RAW\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"echoRaw\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"ECHO_RAW\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"echoRowId\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"ECHO_ROWID\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"echoBoolean\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"ECHO_BOOLEAN\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<procedure " +
"name=\"echoBoolean2\" " +
"catalogPattern=\"TEST_TYPES\" " +
"procedurePattern=\"ECHO_BOOLEAN2\" " +
"isSimpleXMLFormat=\"true\" " +
"/>" +
"<sql " +
"name=\"selectXMLData\" " +
"isSimpleXMLFormat=\"true\" " +
">" +
"<text><![CDATA[select * from XMLTYPEDATA]]></text>" +
"</sql>" +
"</dbws-builder>";
builder = new DBWSBuilder();
DBWSTestSuite.setUp(".");
}
@AfterClass
public static void tearDown() {
String ddlDrop = System.getProperty(DATABASE_DDL_DROP_KEY, DEFAULT_DATABASE_DDL_DROP);
if ("true".equalsIgnoreCase(ddlDrop)) {
runDdl(conn, DROP_PACKAGE_BODY_TEST_TYPES, ddlDebug);
runDdl(conn, DROP_PACKAGE_TEST_TYPES, ddlDebug);
runDdl(conn, DROP_XMLTYPEDATA_TABLE, ddlDebug);
}
}
@Test
public void echoInteger() {
Invocation invocation = new Invocation("echoInteger");
invocation.setParameter("PINTEGER", 128);
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(result, doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_INTEGER_RESULT));
assertTrue("Control document not same as instance document.\nExpected:\n" + documentToString(controlDoc) + "\nActual:\n" + documentToString(doc), comparer.isNodeEqual(controlDoc, doc));
}
public static final String ECHO_INTEGER_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result>128</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void echoSmallint() {
Invocation invocation = new Invocation("echoSmallint");
invocation.setParameter("PSMALLINT", 7);
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(result, doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_SMALLINT_RESULT));
assertTrue("Control document not same as instance document.\nExpected:\n" + documentToString(controlDoc) + "\nActual:\n" + documentToString(doc), comparer.isNodeEqual(controlDoc, doc));
}
public static final String ECHO_SMALLINT_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result>7</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void echoNumeric() {
Invocation invocation = new Invocation("echoNumeric");
invocation.setParameter("PNUMERIC", new BigDecimal("123.45"));
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(result, doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_NUMERIC_RESULT));
assertTrue("Control document not same as instance document.\nExpected:\n" + documentToString(controlDoc) + "\nActual:\n" + documentToString(doc), comparer.isNodeEqual(controlDoc, doc));
}
public static final String ECHO_NUMERIC_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result>123.45</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void echoDec() {
Invocation invocation = new Invocation("echoDec");
invocation.setParameter("PDEC", new BigDecimal("543.21"));
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(result, doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_DEC_RESULT));
assertTrue("Control document not same as instance document.\nExpected:\n" + documentToString(controlDoc) + "\nActual:\n" + documentToString(doc), comparer.isNodeEqual(controlDoc, doc));
}
public static final String ECHO_DEC_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result>543.21</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void echoDecimal() {
Invocation invocation = new Invocation("echoDecimal");
invocation.setParameter("PDECIMAL", new BigDecimal("23.9"));
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(result, doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_DECIMAL_RESULT));
assertTrue("Control document not same as instance document.\nExpected:\n" + documentToString(controlDoc) + "\nActual:\n" + documentToString(doc), comparer.isNodeEqual(controlDoc, doc));
}
public static final String ECHO_DECIMAL_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result>23.9</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void echoNumber() {
Invocation invocation = new Invocation("echoNumber");
invocation.setParameter("PNUMBER", BigDecimal.valueOf(17));
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(result, doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_NUMBER_RESULT));
assertTrue("Control document not same as instance document.\nExpected:\n" + documentToString(controlDoc) + "\nActual:\n" + documentToString(doc), comparer.isNodeEqual(controlDoc, doc));
}
public static final String ECHO_NUMBER_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result>17</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void echoVarchar() {
Invocation invocation = new Invocation("echoVarchar");
invocation.setParameter("PVARCHAR", "this is a varchar test");
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(result, doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_VARCHAR_RESULT));
assertTrue("control document not same as instance document", comparer.isNodeEqual(
controlDoc, doc));
}
public static final String ECHO_VARCHAR_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result>this is a varchar test</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void echoVarchar2() {
Invocation invocation = new Invocation("echoVarchar2");
invocation.setParameter("PINPUTVARCHAR", "this is a varchar2 test");
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(result, doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_VARCHAR2_RESULT));
assertTrue("control document not same as instance document", comparer.isNodeEqual(
controlDoc, doc));
}
public static final String ECHO_VARCHAR2_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result>this is a varchar2 test</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void echoNVarchar2() {
Invocation invocation = new Invocation("echoNVarchar2");
invocation.setParameter("PNVARCHAR", "N'qwerty'");
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(result, doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_NVARCHAR2_RESULT));
assertTrue("control document not same as instance document", comparer.isNodeEqual(
controlDoc, doc));
}
public static final String ECHO_NVARCHAR2_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result>N'qwerty'</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void pEchoNvarchar2() {
Invocation invocation = new Invocation("pEchoNvarchar2");
invocation.setParameter("p_nvarchar2", "N'qwerty'");
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(result, doc);
Document controlDoc = xmlParser.parse(new StringReader(P_ECHO_NVARCHAR2_RESULT));
assertTrue("control document not same as instance document. Expected " + documentToString(controlDoc) + " but was " + documentToString(doc), comparer.isNodeEqual(
controlDoc, doc));
}
public static final String P_ECHO_NVARCHAR2_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result>N'qwerty'</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void pEchoNchar() {
Invocation invocation = new Invocation("pEchoNchar");
invocation.setParameter("p_nchar", "N'q'");
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(result, doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_NCHAR_RESULT));
assertTrue("control document not same as instance document. Expected " + documentToString(controlDoc) + " but was " + documentToString(doc), comparer.isNodeEqual(
controlDoc, doc));
}
public static final String ECHO_NCHAR_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result>1</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void fEchoNchar() {
Invocation invocation = new Invocation("fEchoNchar");
invocation.setParameter("p_nchar", "N'q'");
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(result, doc);
Document controlDoc = xmlParser.parse(new StringReader(F_ECHO_NCHAR_RESULT));
assertTrue("control document not same as instance document. Expected " + documentToString(controlDoc) + " but was " + documentToString(doc), comparer.isNodeEqual(
controlDoc, doc));
}
public static final String F_ECHO_NCHAR_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result>N'q'</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void echoChar() {
Invocation invocation = new Invocation("echoChar");
invocation.setParameter("PINPUTCHAR", "Q");
Operation op = xrService.getOperation(invocation.getName());
// something goes wrong with invoke
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(result, doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_CHAR_RESULT));
assertTrue("control document not same as instance document", comparer.isNodeEqual(
controlDoc, doc));
}
public static final String ECHO_CHAR_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result>Q</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void echoReal() {
Invocation invocation = new Invocation("echoReal");
invocation.setParameter("PREAL", Float.valueOf("3.14159"));
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(result, doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_REAL_RESULT));
assertTrue("control document not same as instance document", comparer.isNodeEqual(
controlDoc, doc));
}
public static final String ECHO_REAL_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result>3.14159</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void echoFloat() {
Invocation invocation = new Invocation("echoFloat");
invocation.setParameter("PINPUTFLOAT", Float.valueOf("31415.926"));
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(result, doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_FLOAT_RESULT));
assertTrue("control document not same as instance document", comparer.isNodeEqual(
controlDoc, doc));
}
public static final String ECHO_FLOAT_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result>31415.926</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void echoDouble() {
Invocation invocation = new Invocation("echoDouble");
invocation.setParameter("PDOUBLE", Double.valueOf("314.15926"));
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(result, doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_DOUBLE_RESULT));
assertTrue("control document not same as instance document", comparer.isNodeEqual(
controlDoc, doc));
}
public static final String ECHO_DOUBLE_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result>314.15926</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void echoDate() throws ParseException {
Invocation invocation = new Invocation("echoDate");
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
invocation.setParameter("PINPUTDATE", format.parse("20091203"));
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(result, doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_DATE_RESULT));
assertTrue("control document not same as instance document", comparer.isNodeEqual(
controlDoc, doc));
}
public static final String ECHO_DATE_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result>2009-12-03T00:00:00-05:00</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void echoTimestamp() throws ParseException {
Invocation invocation = new Invocation("echoTimestamp");
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd:hhmmss.SSS");
invocation.setParameter("PINPUTTS", format.parse("20091204:091923.123"));
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(result, doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_TS_RESULT));
assertTrue("control document not same as instance document", comparer.isNodeEqual(
controlDoc, doc));
}
public static final String ECHO_TS_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result>2009-12-04T09:19:23.123-05:00</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void echoClob() throws ParseException, SQLException {
Invocation invocation = new Invocation("echoClob");
invocation.setParameter("PINPUTCLOB", "This is a Clob test");
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(result, doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_CLOB_RESULT));
assertTrue("control document not same as instance document", comparer.isNodeEqual(
controlDoc, doc));
}
public static final String ECHO_CLOB_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result>This is a Clob test</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void echoBlob() throws ParseException {
Invocation invocation = new Invocation("echoBlob");
byte[] testBytes = "This is a test".getBytes();
invocation.setParameter("PINPUTBLOB", testBytes);
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(((XMLRoot)result).getObject(), doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_BLOB_RESULT));
assertTrue("control document not same as instance document", comparer.isNodeEqual(
controlDoc, doc));
}
public static final String ECHO_BLOB_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result xsi:type=\"xsd:base64Binary\" " +
"xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " +
"xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" +
"5647687063794270637942684948526C6333513D" +
"</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void echoLong() throws ParseException {
Invocation invocation = new Invocation("echoLong");
invocation.setParameter("PLONG", "This is a LONG type test. A LONG type represents 2GB of character data.");
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(((XMLRoot)result).getObject(), doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_LONG_RESULT));
assertTrue("Expected:\n" + documentToString(controlDoc) + "\nActual:\n" + documentToString(doc), comparer.isNodeEqual(controlDoc, doc));
}
public static final String ECHO_LONG_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result>" +
"This is a LONG type test. A LONG type represents 2GB of character data." +
"</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void echoLongRaw() throws ParseException {
Invocation invocation = new Invocation("echoLongRaw");
byte[] testBytes = ("This is yet another test (long stringggggggggggggggggggggggggggggggggggggg" +
"ggggggggggggggggggggggggggggggggggggggg").getBytes();
invocation.setParameter("PLONGRAW", testBytes);
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(((XMLRoot)result).getObject(), doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_LONGRAW_RESULT));
assertTrue("control document not same as instance document", comparer.isNodeEqual(
controlDoc, doc));
}
public static final String ECHO_LONGRAW_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result xsi:type=\"xsd:base64Binary\" " +
"xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " +
"xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" +
"5647687063794270637942355A585167595735766447686C636942305A584E30494368736232356E49484E30636D6C755A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32646E5A32633D" +
"</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void echoRaw() throws ParseException {
Invocation invocation = new Invocation("echoRaw");
byte[] testBytes = "This is yet another test!".getBytes();
invocation.setParameter("PRAW", testBytes);
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(((XMLRoot)result).getObject(), doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_RAW_RESULT));
assertTrue("control document not same as instance document", comparer.isNodeEqual(
controlDoc, doc));
}
public static final String ECHO_RAW_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result xsi:type=\"xsd:base64Binary\" " +
"xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " +
"xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" +
"5647687063794270637942355A585167595735766447686C636942305A584E3049513D3D" +
"</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void echoRowId() throws ParseException {
Invocation invocation = new Invocation("echoRowId");
invocation.setParameter("PROWID", "'AAADL1AABAAACTEAAE'");
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(((XMLRoot)result).getObject(), doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_ROWID_RESULT));
assertTrue("control document not same as instance document", comparer.isNodeEqual(
controlDoc, doc));
}
public static final String ECHO_ROWID_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<result>" +
"'AAADL1AABAAACTEAAE'" +
"</result>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void selectXMLData() throws ParseException {
Invocation invocation = new Invocation("selectXMLData");
Operation op = xrService.getOperation(invocation.getName());
Object result = null;
try {
result = op.invoke(xrService, invocation);
} catch (NoClassDefFoundError ncdfex) {
fail("Test failed unexpectedly. Please make sure that Oracle's XDB and XMLParser jars are on the test classpath.\nException:\n" + ncdfex);
}
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(((XMLRoot)result).getObject(), doc);
Document controlDoc = xmlParser.parse(new StringReader(XMLTYPE_XML_2));
assertTrue("Expected:\n" + documentToString(controlDoc) + "\nActual:\n" + documentToString(doc), comparer.isNodeEqual(controlDoc, doc));
}
public static final String XMLTYPE_XML_2 =
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<ID>666</ID>" +
"<XMLDATA>&lt;blah>some blah text&lt;/blah></XMLDATA>" +
"</simple-xml>" +
"<simple-xml>" +
"<ID>667</ID>" +
"<XMLDATA>&lt;foo>yo fool!&lt;/foo></XMLDATA>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void echoBooleanTrue() {
Invocation invocation = new Invocation("echoBoolean");
invocation.setParameter("P1", 1);
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(result, doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_BOOLEAN_TRUE_RESULT));
assertTrue("control document not same as instance document: expected " + documentToString(controlDoc) + " but was " + documentToString(doc), comparer.isNodeEqual(
controlDoc, doc));
}
@Test
public void echoBooleanTrue2() {
Invocation invocation = new Invocation("echoBoolean2");
invocation.setParameter("P1", 1);
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(result, doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_BOOLEAN_TRUE_RESULT2));
assertTrue("control document not same as instance document: expected " + documentToString(controlDoc) + " but was " + documentToString(doc), comparer.isNodeEqual(
controlDoc, doc));
}
public static final String ECHO_BOOLEAN_TRUE_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<RESULT>1</RESULT>" +
"</simple-xml>" +
"</simple-xml-format>";
public static final String ECHO_BOOLEAN_TRUE_RESULT2 =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<P2>1</P2>" +
"</simple-xml>" +
"</simple-xml-format>";
@Test
public void echoBooleanFalse() {
Invocation invocation = new Invocation("echoBoolean");
invocation.setParameter("P1", 0);
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(result, doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_BOOLEAN_RESULT));
assertTrue("control document not same as instance document: expected " + documentToString(controlDoc) + " but was " + documentToString(doc), comparer.isNodeEqual(
controlDoc, doc));
}
@Test
public void echoBooleanFalse2() {
Invocation invocation = new Invocation("echoBoolean2");
invocation.setParameter("P1", 0);
Operation op = xrService.getOperation(invocation.getName());
Object result = op.invoke(xrService, invocation);
assertNotNull("result is null", result);
Document doc = xmlPlatform.createDocument();
XMLMarshaller marshaller = xrService.getXMLContext().createMarshaller();
marshaller.marshal(result, doc);
Document controlDoc = xmlParser.parse(new StringReader(ECHO_BOOLEAN_RESULT2));
assertTrue("control document not same as instance document: expected " + documentToString(controlDoc) + " but was " + documentToString(doc), comparer.isNodeEqual(
controlDoc, doc));
}
public static final String ECHO_BOOLEAN_RESULT =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<RESULT>0</RESULT>" +
"</simple-xml>" +
"</simple-xml-format>";
public static final String ECHO_BOOLEAN_RESULT2 =
"<?xml version = '1.0' encoding = 'UTF-8'?>" +
"<simple-xml-format>" +
"<simple-xml>" +
"<P2>0</P2>" +
"</simple-xml>" +
"</simple-xml-format>";
}