From f35490cae676e10fac7e2a963bffea134b655369 Mon Sep 17 00:00:00 2001 From: bdaniel Date: Fri, 3 Dec 2010 17:10:49 +0000 Subject: 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 --- .../xml/ReadWriteAnyAttributeTestCase.java | 33 ++++++++++- .../assembly/xml/ReadWriteAnyElementTestCase.java | 66 ++++++++++++++++++++-- .../xml/ReadWriteLocalCompositeTestCase.java | 8 ++- 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 = ""+ - ""+ ""+ @@ -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()); } } -- cgit v1.2.3