product-iots-community/integration-test/src/test/resources/automationSchema.xsd
2023-07-04 12:03:25 +05:30

565 lines
38 KiB
XML

<!--
~ Copyright (c) 2018 - 2023, Entgra (Pvt) Ltd. (http://www.entgra.io) All Rights Reserved.
~
~ Entgra (Pvt) Ltd. 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" attributeFormDefault="unqualified"
elementFormDefault="qualified"
targetNamespace="automationSchema.xsd">
<xs:element name="automation">
<xs:complexType>
<xs:sequence>
<xs:element name="configurations">
<xs:annotation>
<xs:documentation>=================================================
Parameters =================================================
Browser type with used by framework to execute UI test, supported types
- chrome|firefox|opera|ie|htmlUnit
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="deploymentDelay">
<xs:annotation>
<xs:documentation>Change this to edit wait time for test
artifact deployment
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element type="xs:string" name="executionEnvironment">
<xs:annotation>
<xs:documentation>Change this to product|platform/cloud to
execute test on specific environment
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element type="xs:boolean" name="multiTenantMode">
<xs:annotation>
<xs:documentation>Change this to user/tenant to execute test
with user mode or tenant mode
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element type="xs:string" name="coverage">
<xs:annotation>
<xs:documentation>Change this to true if you want to generate
coverage statistics
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element type="xs:string" name="frameworkDashboard">
<xs:annotation>
<xs:documentation>Change this to true if you want to enable
framework dashboard
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tools">
<xs:complexType>
<xs:sequence>
<xs:element name="selenium">
<xs:complexType>
<xs:sequence>
<xs:element name="remoteDriverUrl">
<xs:annotation>
<xs:documentation>Change to enable remote webDriver
URL of remote webDriver server
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:anyURI">
<xs:attribute type="xs:string"
name="enable"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="browser">
<xs:annotation>
<xs:documentation>Type of the browser selenium tests
are running"
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string"
name="browserType"/>
<xs:element name="webdriverPath">
<xs:annotation>
<xs:documentation>path to webDriver
executable - required only for
chrome
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string"
name="enable"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="datasources">
<xs:complexType>
<xs:sequence>
<xs:element name="datasource" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="url"/>
<xs:element type="xs:string" name="username"/>
<xs:element type="xs:string" name="password"/>
<xs:element type="xs:string" name="driverClassName"/>
</xs:sequence>
<xs:attribute type="xs:string" name="name"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="security">
<xs:complexType>
<xs:sequence>
<xs:element name="keystore" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>KeyStore which will be used for
encrypting/decrypting passwords
and other sensitive information.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="fileName">
<xs:annotation>
<xs:documentation>Keystore file location
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element type="xs:string" name="type">
<xs:annotation>
<xs:documentation>Keystore type (JKS/PKCS12 etc.)
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element type="xs:string" name="password">
<xs:annotation>
<xs:documentation>Keystore password
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element type="xs:string" name="keyAlias">
<xs:annotation>
<xs:documentation>Private Key alias
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element type="xs:string" name="keyPassword">
<xs:annotation>
<xs:documentation>Private Key password
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="name"/>
</xs:complexType>
</xs:element>
<xs:element name="truststore" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>System wide trust-store which is used to
maintain the certificates of all
the trusted parties.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="fileName">
<xs:annotation>
<xs:documentation>trust-store file location
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element type="xs:string" name="type">
<xs:annotation>
<xs:documentation>trust-store type (JKS/PKCS12
etc.)
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element type="xs:string" name="password">
<xs:annotation>
<xs:documentation>trust-store password
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="name"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="featureManagement">
<xs:complexType>
<xs:sequence>
<xs:element name="p2Repositories">
<xs:complexType>
<xs:sequence>
<xs:element name="repository">
<xs:complexType>
<xs:sequence>
<xs:element name="repository"
maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string"
name="repo-id"
use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="name"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="userManagement">
<xs:complexType>
<xs:sequence>
<xs:element name="superTenant">
<xs:complexType>
<xs:sequence>
<xs:element name="tenant">
<xs:complexType>
<xs:sequence>
<xs:element name="admin">
<xs:complexType>
<xs:sequence>
<xs:element name="user">
<xs:complexType>
<xs:sequence>
<xs:element
type="xs:string"
name="userName"/>
<xs:element
type="xs:string"
name="password"/>
</xs:sequence>
<xs:attribute
type="xs:string"
name="key"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="users">
<xs:complexType>
<xs:sequence>
<xs:element name="user"
maxOccurs="unbounded"
minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element
type="xs:string"
name="userName"/>
<xs:element
type="xs:string"
name="password"/>
</xs:sequence>
<xs:attribute
type="xs:string"
name="key"
use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="key"
use="required"/>
<xs:attribute type="xs:string" name="domain"
use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tenants">
<xs:complexType>
<xs:sequence>
<xs:element name="tenant" maxOccurs="unbounded"
minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="admin">
<xs:complexType>
<xs:sequence>
<xs:element name="user">
<xs:complexType>
<xs:sequence>
<xs:element
type="xs:string"
name="userName"/>
<xs:element
type="xs:string"
name="password"/>
</xs:sequence>
<xs:attribute
type="xs:string"
name="key"
use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="users">
<xs:complexType>
<xs:sequence>
<xs:element name="user"
maxOccurs="unbounded"
minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element
type="xs:string"
name="userName"/>
<xs:element
type="xs:string"
name="password"/>
</xs:sequence>
<xs:attribute
type="xs:string"
name="key"
use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="key"
use="required"/>
<xs:attribute type="xs:string" name="domain"
use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="platform">
<xs:complexType>
<xs:choice>
<xs:element name="productGroup" maxOccurs="unbounded" minOccurs="1">
<xs:complexType>
<xs:choice maxOccurs="unbounded" minOccurs="1">
<xs:element name="instance">
<xs:complexType>
<xs:sequence>
<xs:element name="hosts">
<xs:complexType>
<xs:sequence>
<xs:element name="host"
maxOccurs="unbounded"
minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension
base="xs:string">
<xs:attribute
type="xs:string"
name="type"
use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ports">
<xs:complexType>
<xs:sequence>
<xs:element name="port"
maxOccurs="unbounded"
minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension
base="xs:string">
<xs:attribute
type="xs:string"
name="type"
use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="properties">
<xs:complexType>
<xs:sequence>
<xs:element name="property"
maxOccurs="unbounded"
minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension
base="xs:string">
<xs:attribute
type="xs:string"
name="name"
use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="name"
use="required"/>
<xs:attribute type="xs:string" name="type"
use="required"/>
<xs:attribute type="xs:boolean"
name="nonBlockingTransportEnabled"
use="required"/>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:attribute type="xs:string" name="name"/>
<xs:attribute type="xs:string" name="clusteringEnabled"/>
<xs:attribute type="xs:boolean" name="default"/>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="listenerExtensions">
<xs:complexType>
<xs:sequence>
<xs:element name="platformExecutionManager">
<xs:complexType>
<xs:sequence>
<xs:element name="extentionClasses">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="className"
maxOccurs="unbounded"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PlatformSuiteManager">
<xs:complexType>
<xs:sequence>
<xs:element name="extentionClasses">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="className"
maxOccurs="unbounded"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PlatformAnnotationTransferManager">
<xs:complexType>
<xs:sequence>
<xs:element name="extentionClasses">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="className"
maxOccurs="unbounded"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PlatformTestManager">
<xs:complexType>
<xs:sequence>
<xs:element name="extentionClasses">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="className"
maxOccurs="unbounded"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PlatformReportManager">
<xs:complexType>
<xs:sequence>
<xs:element name="extentionClasses">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="className"
maxOccurs="unbounded"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>