From 893022a0281fba0023ff6a5bc55b58ae35b66bcd Mon Sep 17 00:00:00 2001 From: Arjen Poutsma Date: Sat, 8 Mar 2008 03:32:13 +0000 Subject: [PATCH] Added more tests --- .../wsdl/wsdl11/DynamicWsdl11Definition.java | 2 + .../wsdl11/DefaultWsdl11DefinitionTest.java | 139 ++++++++++++++++++ .../ws/wsdl/wsdl11/import-inline.wsdl | 65 ++++++++ .../ws/wsdl/wsdl11/importing.xsd | 17 +++ .../ws/wsdl/wsdl11/include-inline.wsdl | 61 ++++++++ .../ws/wsdl/wsdl11/included.xsd | 15 ++ .../ws/wsdl/wsdl11/including.xsd | 18 +++ .../ws/wsdl/wsdl11/single-inline.wsdl | 75 ++++++++++ .../springframework/ws/wsdl/wsdl11/single.xsd | 35 +++++ .../ws/wsdl/wsdl11/soap-11-12.wsdl | 94 ++++++++++++ 10 files changed, 521 insertions(+) create mode 100644 core/src/test/java/org/springframework/ws/wsdl/wsdl11/DefaultWsdl11DefinitionTest.java create mode 100644 core/src/test/resources/org/springframework/ws/wsdl/wsdl11/import-inline.wsdl create mode 100644 core/src/test/resources/org/springframework/ws/wsdl/wsdl11/importing.xsd create mode 100644 core/src/test/resources/org/springframework/ws/wsdl/wsdl11/include-inline.wsdl create mode 100644 core/src/test/resources/org/springframework/ws/wsdl/wsdl11/included.xsd create mode 100644 core/src/test/resources/org/springframework/ws/wsdl/wsdl11/including.xsd create mode 100644 core/src/test/resources/org/springframework/ws/wsdl/wsdl11/single-inline.wsdl create mode 100644 core/src/test/resources/org/springframework/ws/wsdl/wsdl11/single.xsd create mode 100644 core/src/test/resources/org/springframework/ws/wsdl/wsdl11/soap-11-12.wsdl diff --git a/core/src/main/java/org/springframework/ws/wsdl/wsdl11/DynamicWsdl11Definition.java b/core/src/main/java/org/springframework/ws/wsdl/wsdl11/DynamicWsdl11Definition.java index adbd46a5..5d889148 100644 --- a/core/src/main/java/org/springframework/ws/wsdl/wsdl11/DynamicWsdl11Definition.java +++ b/core/src/main/java/org/springframework/ws/wsdl/wsdl11/DynamicWsdl11Definition.java @@ -31,6 +31,8 @@ import org.springframework.util.Assert; * @see #setBuildAbstractPart(boolean) * @see #setBuildConcretePart(boolean) * @since 1.0.0 + * @deprecated as of Spring Web Services 1.5: superseded by {@link org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition} + * and the {@link org.springframework.ws.wsdl.wsdl11.provider} package */ public class DynamicWsdl11Definition implements Wsdl11Definition, InitializingBean { diff --git a/core/src/test/java/org/springframework/ws/wsdl/wsdl11/DefaultWsdl11DefinitionTest.java b/core/src/test/java/org/springframework/ws/wsdl/wsdl11/DefaultWsdl11DefinitionTest.java new file mode 100644 index 00000000..43fd6c1c --- /dev/null +++ b/core/src/test/java/org/springframework/ws/wsdl/wsdl11/DefaultWsdl11DefinitionTest.java @@ -0,0 +1,139 @@ +/* + * Copyright ${YEAR} the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.ws.wsdl.wsdl11; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMResult; + +import org.custommonkey.xmlunit.XMLTestCase; +import org.custommonkey.xmlunit.XMLUnit; +import org.w3c.dom.Document; + +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.Resource; +import org.springframework.xml.xsd.SimpleXsdSchema; +import org.springframework.xml.xsd.commons.CommonsXsdSchemaCollection; + +public class DefaultWsdl11DefinitionTest extends XMLTestCase { + + private DefaultWsdl11Definition definition; + + private Transformer transformer; + + private DocumentBuilder documentBuilder; + + protected void setUp() throws Exception { + definition = new DefaultWsdl11Definition(); + TransformerFactory transformerFactory = TransformerFactory.newInstance(); + transformer = transformerFactory.newTransformer(); + DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); + documentBuilderFactory.setNamespaceAware(true); + documentBuilder = documentBuilderFactory.newDocumentBuilder(); + XMLUnit.setIgnoreWhitespace(true); + } + + public void testSingle() throws Exception { + Resource resource = new ClassPathResource("single.xsd", getClass()); + SimpleXsdSchema schema = new SimpleXsdSchema(resource); + schema.afterPropertiesSet(); + definition.setSchema(schema); + + definition.setTargetNamespace("http://www.springframework.org/spring-ws/single/definitions"); + definition.setPortTypeName("Order"); + definition.setLocationUri("http://localhost:8080/"); + + definition.afterPropertiesSet(); + + DOMResult domResult = new DOMResult(); + transformer.transform(definition.getSource(), domResult); + + Document result = (Document) domResult.getNode(); + Document expected = documentBuilder.parse(getClass().getResourceAsStream("single-inline.wsdl")); + + assertXMLEqual("Invalid WSDL built", expected, result); + + } + + public void testInclude() throws Exception { + ClassPathResource resource = new ClassPathResource("including.xsd", getClass()); + CommonsXsdSchemaCollection schemaCollection = new CommonsXsdSchemaCollection(new Resource[]{resource}); + schemaCollection.setInline(true); + schemaCollection.afterPropertiesSet(); + definition.setSchemaCollection(schemaCollection); + + definition.setPortTypeName("Order"); + definition.setTargetNamespace("http://www.springframework.org/spring-ws/include/definitions"); + definition.setLocationUri("http://localhost:8080/"); + definition.afterPropertiesSet(); + + DOMResult domResult = new DOMResult(); + transformer.transform(definition.getSource(), domResult); + + Document result = (Document) domResult.getNode(); + Document expected = documentBuilder.parse(getClass().getResourceAsStream("include-inline.wsdl")); + assertXMLEqual("Invalid WSDL built", expected, result); + } + + public void testImport() throws Exception { + ClassPathResource resource = new ClassPathResource("importing.xsd", getClass()); + CommonsXsdSchemaCollection schemaCollection = new CommonsXsdSchemaCollection(new Resource[]{resource}); + schemaCollection.setInline(true); + schemaCollection.afterPropertiesSet(); + definition.setSchemaCollection(schemaCollection); + + definition.setPortTypeName("Order"); + definition.setTargetNamespace("http://www.springframework.org/spring-ws/import/definitions"); + definition.setLocationUri("http://localhost:8080/"); + definition.afterPropertiesSet(); + + DOMResult domResult = new DOMResult(); + transformer.transform(definition.getSource(), domResult); + + Document result = (Document) domResult.getNode(); + Document expected = documentBuilder.parse(getClass().getResourceAsStream("import-inline.wsdl")); + assertXMLEqual("Invalid WSDL built", expected, result); + } + + public void testSoap11And12() throws Exception { + Resource resource = new ClassPathResource("single.xsd", getClass()); + SimpleXsdSchema schema = new SimpleXsdSchema(resource); + schema.afterPropertiesSet(); + definition.setSchema(schema); + + definition.setTargetNamespace("http://www.springframework.org/spring-ws/single/definitions"); + definition.setPortTypeName("Order"); + definition.setLocationUri("http://localhost:8080/"); + definition.setCreateSoap11Binding(true); + definition.setCreateSoap12Binding(true); + + definition.afterPropertiesSet(); + + DOMResult domResult = new DOMResult(); + transformer.transform(definition.getSource(), domResult); + + Document result = (Document) domResult.getNode(); + Document expected = documentBuilder.parse(getClass().getResourceAsStream("soap-11-12.wsdl")); + + assertXMLEqual("Invalid WSDL built", expected, result); + + } + + +} \ No newline at end of file diff --git a/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/import-inline.wsdl b/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/import-inline.wsdl new file mode 100644 index 00000000..b7a8caa9 --- /dev/null +++ b/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/import-inline.wsdl @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/importing.xsd b/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/importing.xsd new file mode 100644 index 00000000..421f6aa7 --- /dev/null +++ b/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/importing.xsd @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/include-inline.wsdl b/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/include-inline.wsdl new file mode 100644 index 00000000..e39fb6f0 --- /dev/null +++ b/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/include-inline.wsdl @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/included.xsd b/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/included.xsd new file mode 100644 index 00000000..fc508ca7 --- /dev/null +++ b/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/included.xsd @@ -0,0 +1,15 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/including.xsd b/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/including.xsd new file mode 100644 index 00000000..78dd1daf --- /dev/null +++ b/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/including.xsd @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/single-inline.wsdl b/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/single-inline.wsdl new file mode 100644 index 00000000..9238bafb --- /dev/null +++ b/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/single-inline.wsdl @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/single.xsd b/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/single.xsd new file mode 100644 index 00000000..df338465 --- /dev/null +++ b/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/single.xsd @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/soap-11-12.wsdl b/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/soap-11-12.wsdl new file mode 100644 index 00000000..e8338606 --- /dev/null +++ b/core/src/test/resources/org/springframework/ws/wsdl/wsdl11/soap-11-12.wsdl @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file