summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sca-java-2.x/trunk/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyAttributeTestCase.java33
-rw-r--r--sca-java-2.x/trunk/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyElementTestCase.java66
-rw-r--r--sca-java-2.x/trunk/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteLocalCompositeTestCase.java8
3 files changed, 97 insertions, 10 deletions
diff --git a/sca-java-2.x/trunk/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyAttributeTestCase.java b/sca-java-2.x/trunk/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyAttributeTestCase.java
index 28a2bb6851..cbe3cfa09c 100644
--- a/sca-java-2.x/trunk/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyAttributeTestCase.java
+++ b/sca-java-2.x/trunk/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteAnyAttributeTestCase.java
@@ -22,6 +22,7 @@ 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;
@@ -29,7 +30,9 @@ import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLOutputFactory;
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;
@@ -47,7 +50,7 @@ import org.junit.Test;
public class ReadWriteAnyAttributeTestCase {
private static final String XML = "<?xml version='1.0' encoding='UTF-8'?>"+
- "<composite xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200912\" " +
+ "<composite xmlns=\"http://docs.oasis-open.org/ns/opencsa/sca/200912\" " +
"targetNamespace=\"http://calc\" " +
"name=\"Calculator\">"+
"<component name=\"AddServiceComponent\" xmlns:test=\"http://test\" test:customAttribute=\"customValue\">"+
@@ -94,6 +97,8 @@ public class ReadWriteAnyAttributeTestCase {
assertNotNull(composite);
reader.close();
+ verifyComposite(composite);
+
ByteArrayOutputStream bos = new ByteArrayOutputStream();
staxProcessor.write(composite, bos, context);
@@ -101,7 +106,11 @@ public class ReadWriteAnyAttributeTestCase {
// System.out.println(XML);
// System.out.println(bos.toString());
- assertEquals(XML, bos.toString());
+ //assertEquals(XML, bos.toString());
+
+ ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
+ composite = staxProcessor.read(bis, Composite.class, context);
+ verifyComposite(composite);
}
/**
@@ -118,6 +127,8 @@ public class ReadWriteAnyAttributeTestCase {
assertNotNull(composite);
reader.close();
+ verifyComposite(composite);
+
ByteArrayOutputStream bos = new ByteArrayOutputStream();
staxProcessor.write(composite, bos, context);
@@ -125,6 +136,22 @@ public class ReadWriteAnyAttributeTestCase {
// System.out.println(XML);
// System.out.println(bos.toString());
- assertEquals(XML, bos.toString());
+ // assertEquals(XML, bos.toString());
+
+ ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
+ composite = staxProcessor.read(bis, Composite.class, context);
+ verifyComposite(composite);
+ }
+
+ private void verifyComposite(Composite c) {
+ assertEquals("Calculator", c.getName().getLocalPart());
+ assertEquals(1, c.getComponents().size());
+ Component component = c.getComponents().get(0);
+ assertEquals("AddServiceComponent", component.getName());
+ assertEquals(1, component.getAttributeExtensions().size());
+ Extension extension = component.getAttributeExtensions().get(0);
+ assertEquals("customAttribute", extension.getQName().getLocalPart());
+ assertEquals("http://test", extension.getQName().getNamespaceURI());
+ assertEquals("customValue", extension.getValue());
}
} \ No newline at end of file
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);
diff --git a/sca-java-2.x/trunk/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteLocalCompositeTestCase.java b/sca-java-2.x/trunk/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteLocalCompositeTestCase.java
index fc675dcdce..b3ccdd8201 100644
--- a/sca-java-2.x/trunk/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteLocalCompositeTestCase.java
+++ b/sca-java-2.x/trunk/modules/assembly-xml/src/test/java/org/apache/tuscany/sca/assembly/xml/ReadWriteLocalCompositeTestCase.java
@@ -23,6 +23,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
+import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
@@ -98,6 +99,11 @@ public class ReadWriteLocalCompositeTestCase {
staxProcessor.write(composite, bos, context);
System.out.println(bos.toString());
- assertEquals(LOCAL_COMPOSITE_XML, bos.toString());
+ // assertEquals(LOCAL_COMPOSITE_XML, bos.toString());
+
+ ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
+ composite = staxProcessor.read(bis, Composite.class, context);
+ assertNotNull(composite);
+ assertTrue(composite.isLocal());
}
}