summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyElementTestCase.java
diff options
context:
space:
mode:
authorbdaniel <bdaniel@13f79535-47bb-0310-9956-ffa450edef68>2010-12-03 17:10:49 +0000
committerbdaniel <bdaniel@13f79535-47bb-0310-9956-ffa450edef68>2010-12-03 17:10:49 +0000
commitf35490cae676e10fac7e2a963bffea134b655369 (patch)
treec70fb755022d0d9187933fc09ea4a1e2f63a2734 /sca-java-2.x/trunk/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyElementTestCase.java
parentb45ddbd9b965d35bca5c6974c7ab2cceda794fb2 (diff)
Modify test cases so that they aren't checking for an exact string. Different parser implementations can return strings that are equivalent but different in some trivial way
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1041915 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyElementTestCase.java')
-rw-r--r--sca-java-2.x/trunk/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyElementTestCase.java66
1 files changed, 60 insertions, 6 deletions
diff --git a/sca-java-2.x/trunk/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyElementTestCase.java b/sca-java-2.x/trunk/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyElementTestCase.java
index 7a36c1d97d..ddbd70e567 100644
--- a/sca-java-2.x/trunk/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyElementTestCase.java
+++ b/sca-java-2.x/trunk/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyElementTestCase.java
@@ -21,13 +21,17 @@ package org.apache.tuscany.sca.assembly.xml;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.StringReader;
import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
+import org.apache.tuscany.sca.assembly.Component;
import org.apache.tuscany.sca.assembly.Composite;
+import org.apache.tuscany.sca.assembly.Extension;
import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
import org.apache.tuscany.sca.contribution.processor.ProcessorContext;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
@@ -101,24 +105,54 @@ public class ReadWriteAnyElementTestCase {
assertNotNull(composite);
reader.close();
+ verifyExtendedElementComposite(composite);
+
ByteArrayOutputStream bos = new ByteArrayOutputStream();
staxProcessor.write(composite, bos, context);
// used for debug comparison
- // System.out.println(XML_RECURSIVE_EXTENDED_ELEMENT);
- // System.out.println(bos.toString());
+// System.out.println(XML_RECURSIVE_EXTENDED_ELEMENT);
+// System.out.println(bos.toString());
- assertEquals(XML_RECURSIVE_EXTENDED_ELEMENT, bos.toString());
+ // assertEquals(XML_RECURSIVE_EXTENDED_ELEMENT, bos.toString());
bos.close();
+
+ ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
+ composite = staxProcessor.read(bis, Composite.class, context);
+ verifyExtendedElementComposite(composite);
}
- @Test
+ private void verifyExtendedElementComposite(Composite composite) throws XMLStreamException {
+
+ assertEquals("RecursiveExtendedElement", composite.getName().getLocalPart());
+ assertEquals(1, composite.getExtensions().size());
+ Extension ext1 = (Extension) composite.getExtensions().get(0);
+ assertEquals("unknownElement", ext1.getQName().getLocalPart());
+ assertEquals("http://docs.oasis-open.org/ns/opencsa/sca/200912", ext1.getQName().getNamespaceURI());
+
+ XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader((String)ext1.getValue()));
+ reader.next();
+ assertEquals("unknownElement", reader.getLocalName());
+ reader.next();
+ assertEquals("subUnknownElement1", reader.getLocalName());
+ assertEquals(1, reader.getAttributeCount());
+ assertEquals("attribute", reader.getAttributeLocalName(0));
+ assertEquals("anyAttribute", reader.getAttributeValue(0));
+
+ reader.close();
+
+ }
+
+ @Test
public void testReadWriteUnknwonImpl() throws Exception {
+
XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(XML_UNKNOWN_IMPL));
Composite composite = (Composite)staxProcessor.read(reader, context);
assertNotNull(composite);
reader.close();
+ verifyUnknownImplComposite(composite);
+
ByteArrayOutputStream bos = new ByteArrayOutputStream();
staxProcessor.write(composite, bos, context);
@@ -126,13 +160,33 @@ public class ReadWriteAnyElementTestCase {
// System.out.println(XML_UNKNOWN_IMPL);
// System.out.println(bos.toString());
- assertEquals(XML_UNKNOWN_IMPL, bos.toString());
+ // assertEquals(XML_UNKNOWN_IMPL, bos.toString());
bos.close();
+
+ ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
+ composite = staxProcessor.read(bis, Composite.class, context);
+ verifyUnknownImplComposite(composite);
}
- // @Test
+ private void verifyUnknownImplComposite(Composite composite) {
+
+ assertEquals("aaaa", composite.getName().getLocalPart());
+ assertEquals(1, composite.getComponents().size());
+ Component component = composite.getComponents().get(0);
+ assertEquals("unknownImpl", component.getName());
+ assertEquals(1, component.getServices().size());
+ assertEquals("service", component.getServices().get(0).getName());
+ assertEquals(1, component.getExtensions().size());
+ Extension ext = (Extension) component.getExtensions().get(0);
+ assertEquals("http://docs.oasis-open.org/ns/opencsa/sca/200912", ext.getQName().getNamespaceURI());
+ assertEquals("implementation.unknown", ext.getQName().getLocalPart());
+
+ }
+
+ // @Test
@Ignore()
public void testReadWriteInvalidAttribute() throws Exception {
+
XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(XML_UNKNOWN_IMPL_WITH_INVALID_ATTRIBUTE));
Composite composite = (Composite)staxProcessor.read(reader, context);
assertNotNull(composite);