<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you 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.
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<!--
    ==================================================
    ========== The Simple Methods Section ==========
    ==================================================
    (see further down for the Simple Map Processor Section)
-->

  <!-- Reusable artifacts (abstract elements, groups, attributeGroups -->
    <xs:element name="TestCaseTypes" abstract="true"/>
    <xs:group name="AllTestCaseTypes">
        <xs:choice>
            <xs:element ref="TestCaseTypes"/>
        </xs:choice>
    </xs:group>

    <!-- ELEMENTS start here -->
    <xs:element name="test-suite">
        <xs:complexType>
            <xs:choice minOccurs="1" maxOccurs="unbounded">
                <xs:element ref="test-case"/>
                <xs:element ref="test-group"/>
        </xs:choice>
            <xs:attributeGroup ref="attlist.test-suite"/>
        </xs:complexType>
    </xs:element>
    <xs:attributeGroup name="attlist.test-suite">
        <xs:attribute type="xs:string" name="suite-name" use="required"/>
        <xs:attribute type="xs:string" name="delegator-name" default="test"/>
        <xs:attribute type="xs:string" name="dispatcher-name" default="test-dispatcher"/>
    </xs:attributeGroup>
    <xs:element name="test-case">
        <xs:annotation><xs:documentation></xs:documentation></xs:annotation>
        <xs:complexType>
            <xs:group minOccurs="1" maxOccurs="1" ref="AllTestCaseTypes"/>
            <xs:attributeGroup ref="attlist.test-case"/>
        </xs:complexType>
    </xs:element>
    <xs:attributeGroup name="attlist.test-case">
        <xs:attribute type="xs:string" name="case-name" use="required"/>
    </xs:attributeGroup>
    <xs:element name="test-group">
        <xs:annotation><xs:documentation></xs:documentation></xs:annotation>
        <xs:complexType>
            <xs:group minOccurs="1" maxOccurs="unbounded" ref="AllTestCaseTypes"/>
            <xs:attributeGroup ref="attlist.test-group"/>
        </xs:complexType>
    </xs:element>
    <xs:attributeGroup name="attlist.test-group">
        <xs:attribute type="xs:string" name="case-name" use="required"/>
    </xs:attributeGroup>

    <xs:element name="junit-test-suite" substitutionGroup="TestCaseTypes">
        <xs:annotation><xs:documentation>Used for JUnit test suites written as a Java class.</xs:documentation></xs:annotation>
        <xs:complexType>
            <xs:attributeGroup ref="attlist.junit-test-suite"/>
        </xs:complexType>
    </xs:element>
    <xs:attributeGroup name="attlist.junit-test-suite">
        <xs:attribute type="xs:string" name="class-name" use="required">
            <xs:annotation>
                <xs:documentation>
                    At minimum should extend the junit.framework.TestCase class. If you want to use a GenericDelegator or 
                    LocalDispatcher you should extend the OFBizTestCase class and use the ones provided by it.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:attributeGroup>

    <xs:element name="service-test" substitutionGroup="TestCaseTypes">
        <xs:complexType>
            <xs:attributeGroup ref="attlist.service-test"/>
        </xs:complexType>
    </xs:element>
    <xs:attributeGroup name="attlist.service-test">
        <xs:attribute type="xs:string" name="service-name" use="required"/>
    </xs:attributeGroup>

    <xs:element name="simple-method-test" substitutionGroup="TestCaseTypes">
        <xs:complexType>
            <xs:attributeGroup ref="attlist.simple-method-test"/>
        </xs:complexType>
    </xs:element>
    <xs:attributeGroup name="attlist.simple-method-test">
        <xs:attribute type="xs:string" name="location" use="required"/>
        <xs:attribute type="xs:string" name="name">
            <xs:annotation>
                <xs:documentation>
                    The method-name of the simple-method to execute.  If no name is supplied then all simple-methods from
                    location with a method-name beginning with "test" will be added as individual tests.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:attributeGroup>

    <xs:element name="entity-xml" substitutionGroup="TestCaseTypes">
        <xs:complexType>
            <xs:attributeGroup ref="attlist.entity-xml"/>
        </xs:complexType>
    </xs:element>
    <xs:attributeGroup name="attlist.entity-xml">
        <xs:attribute type="xs:string" name="entity-xml-url" use="required"/>
        <xs:attribute name="action" use="optional" default="assert">
            <xs:simpleType>
                <xs:restriction base="xs:token">
                    <xs:enumeration value="assert"/>
                    <xs:enumeration value="load"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>

</xs:schema>
