Overview
This document is an abstract test suite (ATS): a compendium of test
assertions applicable to all implementations of the Web Processing Service specification.
An ATS provides a basis for developing an executable test suite (ETS) to
verify that the implementation under test (IUT) conforms to all relevant
functional specifications.
The abstract test cases (assertions) are organized into test groups
that correspond to distinct conformance classes or sets of capabilities defined in the WPS v1.0.0 specification [OGC 05-007r7]. The following mandatory (core profile) test groups are defined:
- Level 1 (Core) - Provides tests for the core, mandatory operations of the WPS
Purpose
The OWS
test group includes assertions
that are common to all OGC Web Service (OWS) implementations. The
component test cases shall apply to all services based on the OWS
1.1.0 specification (OGC 06-121r3).
Table 1.1. Content-Type response header
Test case identifier |
OWS.ContentType |
Test purpose |
The Content-Type entity header correctly identifies the media type of the message body. |
Test method |
Check the value of the Content-Type entity header. Pass if the
field value correctly identifies the media type of the message
body; fail otherwise.
|
Reference |
|
Test type |
Capability |
Table 1.2. KVP parameter names
Test case identifier |
OWS.CaseInsensitiveKvpNames |
Test purpose |
Parameter names in a KVP-encoded request are handled in a case-insensitive manner. |
Test method |
Check the handling of parameter names in KVP-encoded requests
(GET, POST with "application/x-www-form-urlencoded" content type).
Pass if the expected response is produced when upper-, lower-, and
mixed-case parameter names are provided; fail otherwise. |
Reference |
|
Test type |
Capability |
Table 1.3. GetCapabilities request
Test case identifier |
OWS.GetCapabilities |
Test purpose |
The GetCapabilities request is implemented. |
Test method |
Verify that the GetCapabilities request is implemented and supports the GET and/or POST method bindings. |
Reference |
|
Test type |
Capability |
Table 1.4. GetCapabilities - Exceptions
Test case identifier |
OWS.GetCapabilities-Exceptions |
Test purpose |
An exception report is returned in response to any of the following conditions:
-
missing required request parameter
-
invalid request parameter value
-
version negotiation failed
-
invalid update sequence
-
an error occurs that prevents successful request processing
|
Test method |
Pass if any of the relevant circumstances apply and the
response message body contains a valid exception report; fail
otherwise. |
Reference |
|
Test type |
Capability |
Table 1.5. GetCapabilities - AcceptVersions parameter
Test case identifier |
OWS.GetCapabilities-AcceptVersions |
Test purpose |
The response to a GetCapabilities request containing the
AcceptVersions parameter must satisfy the applicable assertion:
-
it contains a
complete representation of the capabilities document corresponding
to the first supported version in the list;
-
if no version
in the list is supported, it contains an exception with
exceptionCode ="VersionNegotiationFailed";
-
if no value is
specified or the parameter
is not included, it contains the latest available capabilities
document.
|
Test method |
Verify processing of the AcceptVersion request parameter. Pass if the relevant assertion holds; fail otherwise. |
Reference |
|
Test type |
Capability |
Table 1.6. GetCapabilities - UpdateSequence parameter
Test case identifier |
OWS.GetCapabilities-UpdateSequence |
Test purpose |
The response to a GetCapabilities request containing the UpdateSequence parameter must satisfy the applicable assertion:
-
GetCapabilities request is made with an UPDATESEQUENCE parameter set to a value lower than the current update sequence value,
returns valid capabilities XML.
-
GetCapabilities request is made with an UPDATESEQUENCE parameter set to the current update sequence value,
returns capabilities XML with only "version" and "update sequence parameter".
|
Test method |
Verify processing of the UpdateSequence
request parameter. Pass if the relevant assertion holds; fail
otherwise. |
Reference |
|
Test type |
Capability |
3. Core
Purpose
The Core
test group includes tests for the core, mandatory operations of the WPS. These operations include GetCapabilities, DescribeProcess, and Execute.
Table 3.1. GetCapabilities - KVP Request Parameter Handling
Test case identifier |
WPS.GetCapabilities-KVPRequestParameterHandling |
Test purpose |
The server returns a valid error report message with an exceptionCode of MissingParameterValue when mandatory parameters are missing from the request. |
Test method |
Check that the server returns a valid error report message with an exception code of MissingParameterValue when mandatory parameters are missing from the request. Pass if the server returns a valid error report message with an exception code of MissingParameterValue; fail otherwise. |
Reference |
|
Test type |
Capability |
Table 3.2. GetCapabilities - Request service parameter handling
Test case identifier |
WPS.GetCapabilities-KVPRequestServiceParameterHandling |
Test purpose |
The server returns a valid error report message with an exceptionCode of InvalidParameterValue when the service key value is not WPS. |
Test method |
Check the server returns a valid error report message with an exception code of InvalidParameterValue when the service key value is not WPS. Pass if the server returns a valid error report message with an exception code of InvalideParameterValue; fail otherwise. |
Reference |
|
Test type |
Capability |
Table 3.3. GetCapabilities - KVP Request Request Parameter Handling
Test case identifier |
WPS.GetCapabilities-KVPRequestRequestParameterHandling |
Test purpose |
The server returns a valid error report message with an exceptionCode of OperationNotSupported when the request key value is not GetCapabilities. |
Test method |
Check the server returns a valid error report message with an exceptionCode of OperationNotSupported when the request key value is not WPS. Pass if the server returns a valid error report message with an exception code of OperationNotSupported and a locator equals the oparation name submitted; fail otherwise. |
Reference |
|
Test type |
Capability |
Table 3.4. GetCapabilities - OperationsMetadata Mandatory Operations
Test case identifier |
WPS.GetCapabilities-OperationMetadataMandatoryOperations |
Test purpose |
The OperationsMetadata section lists the mandatory operations of the WPS. |
Test method |
Check that the OperationsMetadata section lists the mandatory operations of the WPS. Pass if assertion holds; fail otherwise. |
Reference |
|
Test type |
Capability |
Table 3.5. GetCapabilities - Response Contents Valid Process Identifier
Test case identifier |
WPS.GetCapabilities-ResponseContentsValidProccesIdentifier |
Test purpose |
If a Process provides the identifier element, then the identifier element must not be empty. |
Test method |
Check if a Process provides the identifier element, then the identifier element must not be empty. Pass if assertions hold; fail otherwise. |
Reference |
|
Test type |
Capability |
Table 3.6. DescribeProcess - Request Invalid Language
Test case identifier |
WPS.DescribeProcess-RequestInvalidLanguage |
Test purpose |
Supplying an invalid Language (not advertised in the capabilities document)the language parameter produces a valid error report message. |
Test method |
Check that supplying an invalid language (not advertised in the capabilities document) for the language produces a valid error report message. Pass if an invalid language produces a valid error report; fail otherwise. |
Reference |
|
Test type |
Capability |
Table 3.7. DescribeProcess - Request Invalid Process Identifier
Test case identifier |
WPS.DescribeProcess-RequestInvalidIdentifier |
Test purpose |
Supplying an invalid process identifier (not advertised in the capabilities document) or no process identifier for the identifier produces a valid error report message. |
Test method |
Check that supplying an invalid Process Identifier (not advertised in the capabilities document) or no Process Identifier for the Identifier produces a valid error report message. Pass if an invalid process identifier or no process identifier produces a valid error report message; fail otherwise. |
Reference |
|
Test type |
Capability |
Table 3.8. DescribeProcess - Response Matching ResponseFormat
Test case identifier |
WPS.DescribeProcess-ResponseMatchingProcessIdentifier |
Test purpose |
The identifier of the response document matches the process identifier specified in the request and is valid according to the response schema. |
Test method |
Check that the identifier of the response document matches the process identifier specified in the request and is valid according to the response schema. Pass if assertion holds; fail otherwise. |
Reference |
|
Test type |
Capability |
Table 3.9. Execute - Request Invalid Process Identifier
Test case identifier |
WPS.Execute-RequestInvalidIdentifier |
Test purpose |
An invalid process identifier in the request produces a valid error message. |
Test method |
Check that an invalid process identifier in the request produces a valid error message. Pass if an invalid process identifier produces a valid error message; fail otherwise. |
Reference |
|
Test type |
Capability |