Abstract Test Suite for Web Map Tile Service (WMTS) 1.0

Paul Daisey
Editor
Image Matters LLC
Revision History
Revision 0.7 2011-10-31
Added prerequisite "the response entity has one or more <ows:Themes><ows:Theme> elements" to GetCapabilities Request - Optional parameter - Sections - value = Themes tests
Revision 0.6 2011-10-10 -- 2011-10-13
Removed RESTful.GetTile.Invalid.Tile.Format as impossible because all such formats are provided by resource URL templates from Capabilities Document.
Removed RESTful.GetFeatureInfo.Invalid.InfoFormat as impossible because all such formats are provided by resource URL templates from Capabilities Document.
Removed RESTful.GetTile.Invalid.SampleDimension.Name as impossible because all such names are provided by resource URL templates from Capabilities Document.
Removed RESTful.GetFeatureInfo.Invalid.SampleDimension.Name as impossible because all such names are provided by resource URL templates from Capabilities Document.
Removed RESTful.GetFeatureInfo.NonQueryable.Layer as impossible because there is no resourceURLtemplate with resourceType="FeatureInfo" for non-queryable layers for a client to use to create a RESTful request URL.
Changed assertions and added BestPractice assertions for wmts:Server.RESTful.GetTile.Missing.Optional test
Revision 0.5 2011-08-14 -- 2011-09-11
Added wmts:Themes to required test data and wmts:Themes prerequisite for Client and Server Get Capabilities Sections.Multiple tests. .
Added prerequisite for mandatory GetTile and GetFeatureInfo tests: that server offers one or more layers with no sample dimensions, or with sample dimensions with a default dimension.
Qualified the 4th assertion (for procedural) and 1st assertion (for RESTful) mandatory GetTile and GetFeatureInfo tests for layers with no sample dimensions, or with sample dimensions with a default dimension.
Changed Get Tile and GetFeatureInfo "missing parameters" test names to "missing mandatory parameters".
Added Server GetTile and GetFeatureInfo missing optional parameters (sample dimension name and value) tests
Changed locator value for failed sample dimension tests from "Sample Dimension" to "the name of the sample dimension".
Added reference to OGC-07-057r7 : cl. 7.1.1.1.2 p 22 to all sample dimension tests.
corrected errata.
Revision 0.4 2011-05-10 -- 2011-05-16
Added test prerequisites, corrected errata.
Revision 0.3 2011-04-08
Revised Overview description of test execution status reporting; added Warning status and Inherited Failure status.
Revision 0.2 2011-03-31
Revised Overview description of test selection options, test types and test execution status reporting.
Revision 0.1 2011-03-11
Initial draft.

Overview

This document is a detailed abstract test suite (ATS), a compendium of test assertions applicable to all client and server implementations of the Web Map Tile Service Standard. 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) in this ATS are organized into test groups that correspond to distinct conformance classes or sets of capabilities for client and server defined in the more general ATS specified in Annex A of the WMTS v1.0 specification [OGC 07-057r7] and Annex A of the OGC Web Services Common Specification Version 1.1.0 [OGC 06-123r3]. The WMTS standard does not require a WMTS server to provide any particular one of the architectural style interfaces (KVP = Key Value Pair, SOAP was originally Simple Object Access Protocol, but is now the name of an XML encoding) (KVP GET, KVP POST, XML POST, SOAP POST and RESTful). And the WMTS Annex A states that "In the client and server test modules, all operations specified and implemented SHALL be tested ... Any optional item not implemented by a server SHALL not be tested. Also, items not implemented by a client SHALL not be tested."

This means that an ETS must examine a Service Metadata XML document to determine what operations are implemented by a server. And there is no requirement for a WMTS client to provide any sort of Service Metadata document that can be parsed to determine what operations are implemented by a client.

So an ETS SHALL prompt the tester to supply a URL for a KVP GET or RESTful GetCapabilities request that will cause the WMTS server to return a Capabilities response Service Metadata XML document. The ETS SHALL then parse the Capabilities document to determine which architectural style interfaces (KVP GET, KVP POST, XML POST, SOAP POST and RESTful) the WMTS server supports.

The tester SHALL then select the test groups to be executed for the client and/or server from those offered for test by the ETS, and if the ETS offers menus of individual tests, MAY select individual tests within the selected test groups to be executed for the client and/or server.

For client tests, the ETS shall act as an proxy intermediary between the client and server. It shall provide the tester with its own proxy server URL service endpoints for the test groups the tester selects to test, and rewrite the Capabilities response document returned to the client to include those proxy URLs. The tester must configure the client to use these URLs, and invoke client requests by hand; the ETS is not required to script the client tests.

For server tests, the ETS shall act as a client, issuing requests to execute the test groups selected by the tester.

The following test groups are defined. The Initial Bootstrap is mandatory to determine which interfaces are supported by the server. The tester shall select the GetCapabilities and GetTile Mandatory test groups for at least one of the supported architectural style interfaces, and may select one or more of the other Mandatory and Optional test groups that are supported by the client / server:

  1. Initial Bootstrap                                                     KVP GET or RESTful GetCapabilities
  2. Client KVP GET Interface --- Mandatory     GetCapabilities
  3. Client KVP GET Interface --- Mandatory     GetTile
  4. Client KVP GET Interface --- Optional         GetFeatureInfo
  5. Client KVP POST Interface -- Mandatory     GetCapabilities
  6. Client KVP POST Interface -- Mandatory     GetTile
  7. Client KVP POST Interface -- Optional         GetFeatureInfo
  8. Client XML POST Interface -- Mandatory     GetCapabilities
  9. Client XML POST Interface -- Mandatory     GetTile
  10. Client XML POST Interface -- Optional         GetFeatureInfo
  11. Client SOAP POST Interface - Mandatory     GetCapabilities
  12. Client SOAP POST Interface - Mandatory     GetTile
  13. Client SOAP POST Interface - Optional         GetFeatureInfo
  14. Client RESTful Interface ----- Mandatory     GetCapabilities
  15. Client RESTful Interface ----- Mandatory     GetTile
  16. Client RESTful Interface ----- Optional         GetFeatureInfo
  17. Server KVP GET Interface --- Mandatory     Common Operation Properties
  18. Server KVP GET Interface --- Mandatory     GetCapabilities
  19. Server KVP GET Interface --- Mandatory     GetTile
  20. Server KVP GET Interface --- Optional         GetFeatureInfo
  21. Server KVP POST Interface -- Mandatory     Common Operation Properties
  22. Server KVP POST Interface -- Mandatory     GetCapabilities
  23. Server KVP POST Interface -- Mandatory     GetTile
  24. Server KVP POST Interface -- Optional         GetFeatureInfo
  25. Server XML POST Interface -- Mandatory     Common Operation Properties
  26. Server XML POST Interface -- Mandatory     GetCapabilities
  27. Server XML POST Interface -- Mandatory     GetTile
  28. Server XML POST Interface -- Optional         GetFeatureInfo
  29. Server SOAP POST Interface - Mandatory     Common Operation Properties
  30. Server SOAP POST Interface - Mandatory     GetCapabilities
  31. Server SOAP POST Interface - Mandatory     GetTile
  32. Server SOAP POST Interface - Optional         GetFeatureInfo
  33. Server RESTful Interface ----- Mandatory     Common Operation Properties
  34. Server RESTful Interface ----- Mandatory     GetCapabilities
  35. Server RESTful Interface ----- Mandatory     GetTile
  36. Server RESTful Interface ----- Optional         GetFeatureInfo
  37. Client Interface Summary --- Mandatory     Conformant Architectural Style Interfaces
  38. Server Interface Summary --- Mandatory     Conformant Architectural Style Interfaces

Test groups and individual tests in this ATS are one of three types:

"Mandatory" test groups MAY include test groups or individual tests that are "Mandatory if Implemented".

Test groups and individual tests of any type may specify prerequisites. Prerequisites are stated for individual WMTS tests in all test groups in this ATS. For some tests of the "Mandatory if Implemented" type, prerequisites allows an ETS to determine whether or not a server capability has been implemented; for others, the test itself must be executed to make this determination. For all tests that the tester selects for execution, an ETS SHALL check prerequisites, SHALL execute those with no prerequisistes and those for which all prerequisites are satisified, and SHALL skip those for which any prerequisite is not satisified.

During a test session, an ETS SHALL set the status of each individual test as follows:

During a test session, an ETS SHALL initially set the status of each "parent" test group to "BestPractice". It SHALL then modify the "parent" test group status based on inheritance of the status of each "child" test (individual and group) contained therein, as follows:

Inherited "Parent" Test Status
"Child" Test Status "Child" Test Type
Mandatory Mandatory if Implemented Optional
Continue Inherited Failure Inherited Failure Unchanged
Best Practice Unchanged Unchanged Unchanged
Passed Passed if parent status was Best Practice, otherwise Unchanged
Not Tested Inherited Failure Inherited Failure Unchanged
Warning Inherited Failure Inherited Failure Unchanged
Skipped Inherited Failure Unchanged Unchanged
Failed Inherited Failure Inherited Failure Unchanged
Inherited Failure Inherited Failure Inherited Failure Unchanged

At the end of a test session, an ETS SHALL:

These test groups will determine WMTS standard conformance, which is achieved by client and/or server for each architectural style interface for which all "Mandatory" and "Mandatory if Implemented" tests have a status of "BestPractice" or "Passed".

Source documents

What may be tested


Test Data

Comprehensive test data for a WMTS enables testing of all mandatory and optional WMTS operations in all architectural style interfaces across the entire extent of all allowed elements of the WMTS contents data model ((o) = optional element):

A WMTS server used in this ETS SHOULD advertise in its Service Metadata document and serve data with the following characteristics to enable completion of all tests:


Namespaces

Schemas


Table of Contents

  1. Initial Bootstrap
  2. Client KVP GET Interface - Mandatory GetCapabilities Operation
  3. Client KVP GET Interface - Mandatory GetTile Operation
  4. Client KVP GET Interface - Optional GetFeatureInfo Operation
  5. Client KVP POST Interface - Mandatory GetCapabilities Operation
  6. Client KVP POST Interface - Mandatory GetTile Operation
  7. Client KVP POST Interface - Optional GetFeatureInfo Operation
  8. Client XML POST Interface - Mandatory GetCapabilities Operation
  9. Client XML POST Interface - Mandatory GetTile Operation
  10. Client XML POST Interface - Optional GetFeatureInfo Operation
  11. Client SOAP POST Interface - Mandatory GetCapabilities Operation
  12. Client SOAP POST Interface - Mandatory GetTile Operation
  13. Client SOAP POST Interface - Optional GetFeatureInfo Operation
  14. Client RESTful Interface - Mandatory GetCapabilities Operation
  15. Client RESTful Interface - Mandatory GetTile Operation
  16. Client RESTful Interface - Optional GetFeatureInfo Operation
  17. Server KVP GET Interface - Mandatory Common Operation Properties
  18. Server KVP GET Interface - Mandatory GetCapabilities Operation
  19. Server KVP GET Interface - Mandatory GetTile Operation
  20. Server KVP GET Interface - Optional GetFeatureInfo Operation
  21. Server KVP POST Interface - Mandatory Common Operation Properties
  22. Server KVP POST Interface - Mandatory GetCapabilities Operation
  23. Server KVP POST Interface - Mandatory GetTile Operation
  24. Server KVP POST Interface - Optional GetFeatureInfo Operation
  25. Server XML POST Interface - Mandatory Common Operation Properties
  26. Server XML POST Interface - Mandatory GetCapabilities Operation
  27. Server XML POST Interface - Mandatory GetTile Operation
  28. Server XML POST Interface - Optional GetFeatureInfo Operation
  29. Server SOAP POST Interface - Mandatory Common Operation Properties
  30. Server SOAP POST Interface - Mandatory GetCapabilities Operation
  31. Server SOAP POST Interface - Mandatory GetTile Operation
  32. Server SOAP POST Interface - Optional GetFeatureInfo Operation
  33. Server RESTful Interface - Mandatory Common Operation Properties
  34. Server RESTful Interface - Mandatory GetCapabilities Operation
  35. Server RESTful Interface - Mandatory GetTile Operation
  36. Server RESTful Interface - Optional GetFeatureInfo Operation
  37. Client Interface Summary - Conformant Architectural Style Interfaces
  38. Server Interface Summary - Conformant Architectural Style Interfaces

1. Initial Bootstrap

Purpose

The Initial Bootstrap test group includes KVP GET and RESTful GetCapabilities request to the WMTS server to determine what capabilities are available for test.

List of Tables

1.1. KVP GET - GetCapabilities
1.2. RESTful - GetCapabilities

Table 1.1. Bootstrap KVP GET - GetCapabilities

Test case identifier Bootstrap.KVP.GET.GetCapabilities
Prerequisites

None.

Test purpose

Determine what capabilities are available for test.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid HTTP GET GetCapabilities request;

  2. the response entity is a valid Capabilities Service Metadata XML document having <wmts:Capabilities> as the document element;

  3. the response entity has an <ows:Operation name="GetCapabilities"&gt element and an <ows:Operation name="GetTile"> element with the same Distributed Computing Platform (DCP) specified in contained <ows:DCP> elements.

Test method Check the content of the response. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 1.2. Bootstrap RESTful GetCapabilities

Test case identifier Bootstrap.RESTful.GetCapabilities
Prerequisites

None.

Test purpose

Determine what capabilities are available for test.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid RESTful GetCapabilities request;

  2. the response entity is a valid Capabilities Service Metadata XML document having <wmts:Capabilities> as the document element;

  3. the response entity has an <ows:Operation name="GetCapabilities"&gt element and an <ows:Operation name="GetTile"> element with the same Distributed Computing Platform (DCP) specified in contained <ows:DCP> elements.

  4. the response entity has a <ServiceMetadataURL&gt element indicating the same URL specified in the request.

  5. the resonse entity has a <ResourceURL> template element for the "GetTile" operation for each advertised Layer.

Test method Check the content of the response. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic


2. Client KVP GET Interface - Mandatory GetCapabilities Operation

Purpose

The Client KVP GET Interface - Mandatory GetCapabilities test group includes KVP GET GetCapabilities requests to the WMTS server to exercise all supported parameters.

List of Tables

2.1. Client KVP GET - GetCapabilities - Mandatory parameters
2.2. Client KVP GET - GetCapabilities - Optional parameter - AcceptVersions
2.3. Client KVP GET - GetCapabilities - Optional parameter - Sections - value = All
2.4. Client KVP GET - GetCapabilities - Optional parameter - Sections - value = ServiceIdentification
2.5. Client KVP GET - GetCapabilities - Optional parameter - Sections - value = ServiceProvider
2.6. Client KVP GET - GetCapabilities - Optional parameter - Sections - value = OperationsMetadata
2.7. Client KVP GET - GetCapabilities - Optional parameter - Sections - value = Contents
2.8. Client KVP GET - GetCapabilities - Optional parameter - Sections - value = Themes
2.9. Client KVP GET - GetCapabilities - Optional parameter - Sections - value = Contents, Themes
2.10. Client KVP GET - GetCapabilities - Optional parameter - updateSequence
2.11. Client KVP GET - GetCapabilities - Optional parameter - AcceptFormats

Table 2.1. Client KVP GET - GetCapabilities - Mandatory parameters

Test case identifier Client.KVP.GET.GetCapabilities.Mandatory
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS client can issue a KVP GET GetCapabilities request with mandatory parameters.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

  2. the request entity is a valid KVP GET GetCapabilities request with the mandatory service parameter with a value of WMTS;

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 2.2. Client KVP GET - GetCapabilities - Optional AcceptVersions parameter

Test case identifier Client.KVP.GET.GetCapabilities.AcceptVersions
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS client can issue a KVP GET GetCapabilities request containing the optional AcceptVersions parameter.

Assertions

All of the following assertions must hold for the request to be valid:

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 2.3. Client KVP GET - GetCapabilities - Optional parameter - Sections - value = All

Test case identifier Client.KVP.GET.GetCapabilities.Sections.All
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS client can issue a KVP GET GetCapabilities request containing the optional Sections parameter with a value of All.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is All

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 2.4. Client KVP GET - GetCapabilities - Optional parameter - Sections - value = ServiceIdentification

Test case identifier Client.KVP.GET.GetCapabilities.Sections.ServiceIdentification
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS client can issue a KVP GET GetCapabilities request containing the optional Sections parameter with a value of ServiceIdentification.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is ServiceIdentification

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 2.5. Client KVP GET - GetCapabilities - Optional parameter - Sections - value = ServiceProvider

Test case identifier Client.KVP.GET.GetCapabilities.Sections.ServiceProvider
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS client can issue a KVP GET GetCapabilities request containing the optional Sections parameter with a value of ServiceProvider.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is ServiceProvider

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 2.6. Client KVP GET - GetCapabilities - Optional parameter - Sections - value = OperationsMetadata

Test case identifier Client.KVP.GET.GetCapabilities.Sections.OperationsMetadata
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS client can issue a KVP GET GetCapabilities request containing the optional Sections parameter with a value of OperationsMetadata.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is OperationsMetadata

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 2.7. Client KVP GET - GetCapabilities - Optional parameter - Sections - value = Contents

Test case identifier Client.KVP.GET.GetCapabilities.Sections.Contents
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS client can issue a KVP GET GetCapabilities request containing the optional Sections parameter with a value of Contents.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is Contents

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 2.8. Client KVP GET - GetCapabilities - Optional parameter - Sections - value = Themes

Test case identifier Client.KVP.GET.GetCapabilities.Sections.Themes
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS client can issue a KVP GET GetCapabilities request containing the optional Sections parameter with a value of Themes.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is Themes

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 2.9. Client KVP GET - GetCapabilities - Optional parameter - Sections - value = Contents, Themes

Test case identifier Client.KVP.GET.GetCapabilities.Sections.Multiple
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

  2. the response entity has one or more <ows:Themes><ows:Theme> elements.

Test purpose

Test that a WMTS client can issue a KVP GET GetCapabilities request containing the optional Sections parameter with a value containing multiple sections, i.e. Contents,Themes.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is Contents,Themes

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 2.10. Client KVP GET - GetCapabilities - Optional parameter - updateSequence

Test case identifier Client.KVP.GET.GetCapabilities.UpdateSequence
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS client can issue a KVP GET GetCapabilities request containing the optional updateSequence parameter with a valid value.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the optional UpdateSequence parameter;

  2. the value of the updateSequence parameter is an integer, a timestamp in [ISO 8601:2000] format, or any other number or (non-empty) string.

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 2.11. Client KVP GET - GetCapabilities - Optional parameter - AcceptFormats

Test case identifier Client.KVP.GET.GetCapabilities.AcceptFormats
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS client can issue a KVP GET GetCapabilities request containing the optional AcceptFormats parameter with a valid value.

Assertions

All of the following assertions must hold for the request to be valid:

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



3. Client KVP GET Interface - Mandatory GetTile Operation

Purpose

The Client KVP GET Interface - Mandatory GetTile test group includes KVP GET GetTile requests to the WMTS server to exercise all supported parameters.

List of Tables

3.1. Client KVP GET - GetTile - Mandatory parameters
3.2. Client KVP GET - GetTile - Optional parameter - sample dimensions
3.3. Client KVP GET - GetTile - Contiguous tiles
3.4. Client KVP GET - GetTile - Overlay tiles
3.5. Client KVP GET - GetTile - Tiles from different TileMatrixSets

Table 3.1. Client KVP GET - GetTile - Mandatory parameters

Test case identifier Client.KVP.GET.GetTile.Mandatory
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetTile"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

  2. the response entity has one or more Layers with one TileMatrixSet with two or more TileMatrices.

Test purpose

Test that a WMTS client can parse a Service Metadata document returned from a GetCapabilities request to determine the layers and tiles available, and can issue valid KVP GET GetTile requests with mandatory parameters.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP GET GetTile request with the mandatory request parameter with a value of GetTile;

  2. the request entity is a valid KVP GET GetTile request with the mandatory service parameter with a value of WMTS;

  3. the request entity is a valid KVP GET GetTile request with the mandatory Version parameter with a value of 1.0.0;

  4. the request entity is a valid KVP GET GetTile request with the mandatory Layer parameter with a layer identifier value equal to a <Layer><ows:Identifier> value for layers with no sample dimensions, or with sample dimensions with a default dimension from the Service Metadata document;

  5. the request entity is a valid KVP GET GetTile request with the mandatory Style parameter with a style identifier value equal to a <Layer><Style><owsIdentifier> value for the specified Layer from the Service Metadata document;

  6. the request entity is a valid KVP GET GetTile request with the mandatory format parameter with a MIME type format value equal to a <Layer><Format> value for the specified Layer from the Service Metadata document;

  7. the request entity is a valid KVP GET GetTile request with the mandatory TileMatrixSet parameter with a TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document;

  8. the request entity is a valid KVP GET GetTile request with the mandatory TileMatrix parameter with a TileMatrix identifier value equal to a <TileMatrixSet><TileMatrix><owsIdentifier> value for the specified TileMatrixSet from the Service Metadata document;

  9. the request entity is a valid KVP GET GetTile request with the mandatory TileRow parameter with a TileRow index value from zero to the value of <MatrixHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  10. the request entity is a valid KVP GET GetTile request with the mandatory TileCol parameter with a TileCol index value from zero to the value of <MatrixWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  11. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values.

  12. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileCol index value within the TileMatrixLimits MinTileCol and MaxTileCol values.

  13. the client can generate a valid KVP GET GetTile request for a sample of tiles from each Layer, in each style for the layer, in each image format for the layer, from each TileMatrix from each TileMatrixSet for the layer offered by the server.

Test method Check the content of the request; compare parameter values in the request with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 3.2. Client KVP GET - GetTile - Optional Parameter - sample dimensions

Test case identifier Client.KVP.GET.GetTile.Optional
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetTile"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

  2. the response entity has a <Layer> with three or more <Dimension>s.

Test purpose

Test that a WMTS client can parse a Service Metadata document returned from a GetCapabilities request to determine the sample dimensions for a Layer with sample dimensions advertised by a server (e.g. Time, Elevation, Band), and issue KVP GET GetTile requests with mandatory parameters and a supported sample dimensions parameter with a valid value from the range specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP GET GetTile request with the mandatory request parameter with a value of GetTile;

  2. the request entity is a valid KVP GET GetTile request with the mandatory service parameter with a value of WMTS;

  3. the request entity is a valid KVP GET GetTile request with the mandatory Version parameter with a value of 1.0.0;

  4. the request entity is a valid KVP GET GetTile request with the mandatory Layer parameter with a layer identifier value equal to a <Layer><ows:Identifier> value from the Service Metadata document;

  5. the request entity is a valid KVP GET GetTile request with the mandatory Style parameter with a style identifier value equal to a <Layer><Style><owsIdentifier> value for the specified Layer from the Service Metadata document;

  6. the request entity is a valid KVP GET GetTile request with the mandatory format parameter with a MIME type format value equal to a <Layer><Format> value for the specified Layer from the Service Metadata document;

  7. the request entity is a valid KVP GET GetTile request with the mandatory TileMatrixSet parameter with a TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document;

  8. the request entity is a valid KVP GET GetTile request with the mandatory TileMatrix parameter with a TileMatrix identifier value equal to a <TileMatrixSet><TileMatrix><owsIdentifier> value for the specified TileMatrixSet from the Service Metadata document;

  9. the request entity is a valid KVP GET GetTile request with the mandatory TileRow parameter with a TileRow index value from zero to the value of <MatrixHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  10. the request entity is a valid KVP GET GetTile request with the mandatory TileCol parameter with a TileCol index value from zero to the value of <MatrixWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  11. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values.

  12. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileCol index value within the TileMatrixLimits MinTileCol and MaxTileCol values.

  13. the request entity is a valid KVP GET GetTile request with an optional sample dimensions parameter with a name from a <Dimension><ows:Identifier> value for the specified Layer from the Service Metadata document;

  14. the request entity is a valid KVP GET GetTile request with an optional sample dimensions parameter with a value from one of the <Dimension><Value> elements for the specified Dimension from the Service Metadata document.

  15. the client can generate a valid KVP GET GetTile request for sample tiles from each Layer with sample dimensions, in each style for the layer, in each image format for the layer, for each sample dimension value for each sample dimension for the layer, from each TileMatrix from each TileMatrixSet for the layer offered by the server.

Test method Check the content of the request; compare sample dimensions name and value with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 3.3. Client KVP GET - GetTile - Contiguous tiles

Test case identifier Client.KVP.GET.GetTile.Contiguous
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetTile"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

  2. the response entity has two or more contiguous tiles from the same Layer and TileMatrixSet

Test purpose

Verify that a client is capable of generating contiguous GetTile operation requests.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the client can parse a Service Metadata document to identify contiguous tiles served by a server;

  2. the client issues valid requests for contiguous tiles;

  3. the server returns the requested tiles;

  4. the client displays the contiguous tiles without any discontinuity.

Test method Check the content of the request; compare requested tile ids with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 3.4. Client KVP GET - GetTile - Overlay tiles

Test case identifier Client.KVP.GET.GetTile.Overlay
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetTile"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

  2. the response entity has two or more Layers with tiles from the same TileMatrixSet that overlay each other.

Test purpose

Verify that a client is capable to generating overlaying GetTile operation requests, each one for a different layer.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the client can parse a Service Metadata document to identify overlay tiles served by a server;

  2. the client issues valid requests for overlay tiles;

  3. the server returns the requested tiles;

  4. the the client is able to display the overlay tiles correctly overlaid and with a transparency when NODATA is present on the upper images.

Test method Check the content of the request; compare sample dimensions name and value with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 3.5. Client KVP GET - GetTile - Tiles from different TileMatrixSets

Test case identifier Client.KVP.GET.GetTile.TileMatrixSets
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetTile"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

  2. the response entity has two or more Layers with tiles from different TileMatrixSets that overlay each other.

Test purpose

Verify that a client can correctly overlay layers with layers having different TileMatrixSets.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the client can parse a Service Metadata document to identify overlay tiles from different TileMatrixSets;

  2. the client issues valid requests for tiles from different TileMatrixSets;

  3. the server returns the requested tiles;

  4. the the client is able to display the overlay tiles correctly overlaid.

Test method Check the content of the request; compare sample dimensions name and value with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



4. Client KVP GET Interface - Optional GetFeatureInfo Operation

Purpose

The Client KVP GET Interface - Optional GetFeatureInfo test group includes KVP GET GetFeatureInfo requests to the WMTS server to exercise all supported parameters.

List of Tables

4.1. Client KVP GET - GetFeatureInfo - Mandatory parameters
4.2. Client KVP GET - GetFeatureInfo - Optional parameter

Table 4.1. Client KVP GET - GetFeatureInfo - Mandatory parameters

Test case identifier Client.KVP.GET.GetFeatureInfo.Mandatory
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetFeatureInfo"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

  2. the response entity has a <Layer> with one or more <InfoFormat>s.

Test purpose

Test that a WMTS client can parse a Service Metadata document returned from a GetCapabilities request to determine the layers and tiles available, and can issue valid KVP GET GetFeatureInfo requests with mandatory parameters.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory request parameter with a value of GetFeatureInfo;

  2. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory service parameter with a value of WMTS;

  3. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory Version parameter with a value of 1.0.0;

  4. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory Layer parameter with a layer identifier value equal to a <Layer><ows:Identifier> value from the Service Metadata document;

  5. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory Style parameter with a style identifier value equal to a <Layer><Style><owsIdentifier> value for the specified Layer from the Service Metadata document;

  6. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory format parameter with a MIME type format value equal to a <Layer><Format> value for the specified Layer from the Service Metadata document;

  7. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory TileMatrixSet parameter with a TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document;

  8. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory TileMatrix parameter with a TileMatrix identifier value equal to a <TileMatrixSet><TileMatrix><owsIdentifier> value for the specified TileMatrixSet from the Service Metadata document;

  9. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory TileRow parameter with a TileRow index value from zero to the value of <MatrixHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  10. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory TileCol parameter with a TileCol index value from zero to the value of <MatrixWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  11. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values.

  12. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileCol index value within the TileMatrixLimits MinTileCol and MaxTileCol values.

  13. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory J parameter with a row index value from zero to the value of <TileHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  14. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory I parameter with a column index value from zero to the value of <TileWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  15. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory infoFormat parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the client can generate a valid KVP GET GetFeatureInfo request for sample pixels in sample tiles from each Layer with InfoFormats, in each style for the layer, in each image format for the layer, in each InfoFormat for the Layer, from each TileMatrix from each TileMatrixSet for the Layer offered by the server.

Test method Check the content of the request; compare parameter values in the request with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 4.2. Client KVP GET - GetFeatureInfo - Optional Parameter - sample dimensions

Test case identifier Client.KVP.GET.GetFeatureInfo.Optional
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetFeatureInfo"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

  2. the response entity has a <Layer> with one or more <InfoFormat>s and three or more <Dimension>s.

Test purpose

Test that a WMTS client can parse a Service Metadata document returned from a GetCapabilities request to determine the layers and tiles available, and can issue valid KVP GET GetFeatureInfo requests with mandatory parameters and a supported sample dimensions parameter with a valid value from the range specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory request parameter with a value of GetFeatureInfo;

  2. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory service parameter with a value of WMTS;

  3. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory Version parameter with a value of 1.0.0;

  4. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory Layer parameter with a layer identifier value equal to a <Layer><ows:Identifier> value from the Service Metadata document;

  5. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory Style parameter with a style identifier value equal to a <Layer><Style><owsIdentifier> value for the specified Layer from the Service Metadata document;

  6. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory format parameter with a MIME type format value equal to a <Layer><Format> value for the specified Layer from the Service Metadata document;

  7. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory TileMatrixSet parameter with a TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document;

  8. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory TileMatrix parameter with a TileMatrix identifier value equal to a <TileMatrixSet><TileMatrix><owsIdentifier> value for the specified TileMatrixSet from the Service Metadata document;

  9. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory TileRow parameter with a TileRow index value from zero to the value of <MatrixHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  10. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory TileCol parameter with a TileCol index value from zero to the value of <MatrixWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  11. the request entity for info about a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values.

  12. the request entity for info about a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileCol index value within the TileMatrixLimits MinTileCol and MaxTileCol values.

  13. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory J parameter with a row index value from zero to the value of <TileHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  14. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory I parameter with a column index value from zero to the value of <TileWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  15. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory infoFormat parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the request entity is a valid KVP GET GetFeatureInfo request with an optional sample dimensions parameter with a name from a <Dimension><ows:Identifier> value for the specified Layer from the Service Metadata document;

  17. the request entity is a valid KVP GET GetFeatureInfo request with an optional sample dimensions parameter with a value from one of the <Dimension><Value> elements for the specified Dimension from the Service Metadata document.

  18. the client can generate a valid KVP GET GetFeatureInfo request for sample pixels in sample tiles from each Layer with InfoFormats and sample dimensions, in each style for the layer, in each image format for the layer, in each InfoFormat for the Layer, for each sample dimension value for each sample dimension for the layer, from each TileMatrix from each TileMatrixSet for the layer offered by the server.

Test method Check the content of the request; compare parameter values in the request with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic



5. Client KVP POST Interface - Mandatory GetCapabilities Operation

Purpose

The Client KVP POST Interface - Mandatory GetCapabilities test group includes KVP POST GetCapabilities requests to the WMTS server to exercise all supported parameters.

List of Tables

5.1. Client KVP POST - GetCapabilities - Mandatory parameters
5.2. Client KVP POST - GetCapabilities - Optional parameter - AcceptVersions
5.3. Client KVP POST - GetCapabilities - Optional parameter - Sections - value = All
5.4. Client KVP POST - GetCapabilities - Optional parameter - Sections - value = ServiceIdentification
5.5. Client KVP POST - GetCapabilities - Optional parameter - Sections - value = ServiceProvider
5.6. Client KVP POST - GetCapabilities - Optional parameter - Sections - value = OperationsMetadata
5.7. Client KVP POST - GetCapabilities - Optional parameter - Sections - value = Contents
5.8. Client KVP POST - GetCapabilities - Optional parameter - Sections - value = Themes
5.9. Client KVP POST - GetCapabilities - Optional parameter - Sections - value = Contents, Themes
5.10. Client KVP POST - GetCapabilities - Optional parameter - updateSequence
5.11. Client KVP POST - GetCapabilities - Optional parameter - AcceptFormats

Table 5.1. Client KVP POST - GetCapabilities - Mandatory parameters

Test case identifier Client.KVP.POST.GetCapabilities.Mandatory
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS client can issue a KVP POST GetCapabilities request with mandatory parameters.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP POST GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

  2. the request entity is a valid KVP POST GetCapabilities request with the mandatory service parameter with a value of WMTS;

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 5.2. Client KVP POST - GetCapabilities - Optional AcceptVersions parameter

Test case identifier Client.KVP.POST.GetCapabilities.AcceptVersions
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS client can issue a KVP POST GetCapabilities request containing the optional AcceptVersions parameter.

Assertions

All of the following assertions must hold for the request to be valid:

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 5.3. Client KVP POST - GetCapabilities - Optional parameter - Sections - value = All

Test case identifier Client.KVP.POST.GetCapabilities.Sections.All
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS client can issue a KVP POST GetCapabilities request containing the optional Sections parameter with a value of All.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP POST GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is All

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 5.4. Client KVP POST - GetCapabilities - Optional parameter - Sections - value = ServiceIdentification

Test case identifier Client.KVP.POST.GetCapabilities.Sections.ServiceIdentification
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS client can issue a KVP POST GetCapabilities request containing the optional Sections parameter with a value of ServiceIdentification.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP POST GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is ServiceIdentification

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 5.5. Client KVP POST - GetCapabilities - Optional parameter - Sections - value = ServiceProvider

Test case identifier Client.KVP.POST.GetCapabilities.Sections.ServiceProvider
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS client can issue a KVP POST GetCapabilities request containing the optional Sections parameter with a value of ServiceProvider.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP POST GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is ServiceProvider

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 5.6. Client KVP POST - GetCapabilities - Optional parameter - Sections - value = OperationsMetadata

Test case identifier Client.KVP.POST.GetCapabilities.Sections.OperationsMetadata
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS client can issue a KVP POST GetCapabilities request containing the optional Sections parameter with a value of OperationsMetadata.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP POST GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is OperationsMetadata

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 5.7. Client KVP POST - GetCapabilities - Optional parameter - Sections - value = Contents

Test case identifier Client.KVP.POST.GetCapabilities.Sections.Contents
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS client can issue a KVP POST GetCapabilities request containing the optional Sections parameter with a value of Contents.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP POST GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is Contents

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 5.8. Client KVP POST - GetCapabilities - Optional parameter - Sections - value = Themes

Test case identifier Client.KVP.POST.GetCapabilities.Sections.Themes
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS client can issue a KVP POST GetCapabilities request containing the optional Sections parameter with a value of Themes.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP POST GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is Themes

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 5.9. Client KVP POST - GetCapabilities - Optional parameter - Sections - value = Contents, Themes

Test case identifier Client.KVP.POST.GetCapabilities.Sections.Multiple
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

  2. the response entity has one or more <ows:Themes><ows:Theme> elements.

Test purpose

Test that a WMTS client can issue a KVP POST GetCapabilities request containing the optional Sections parameter with a value containing multiple sections, i.e. Contents,Themes.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP POST GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is Contents,Themes

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 5.10. Client KVP POST - GetCapabilities - Optional parameter - updateSequence

Test case identifier Client.KVP.POST.GetCapabilities.UpdateSequence
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS client can issue a KVP POST GetCapabilities request containing the optional updateSequence parameter with a valid value.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP POST GetCapabilities request with the optional Sections parameter;

  2. the value of the updateSequence parameter is an integer, a timestamp in [ISO 8601:2000] format, or any other number or (non-empty) string.

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 5.11. Client KVP POST - GetCapabilities - Optional parameter - AcceptFormats

Test case identifier Client.KVP.POST.GetCapabilities.AcceptFormats
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS client can issue a KVP POST GetCapabilities request containing the optional AcceptFormats parameter with a valid value.

Assertions

All of the following assertions must hold for the request to be valid:

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



6. Client KVP POST Interface - Mandatory GetTile Operation

Purpose

The Client KVP POST Interface - Mandatory GetTile test group includes KVP POST GetTile requests to the WMTS server to exercise all supported parameters.

List of Tables

6.1. Client KVP POST - GetTile - Mandatory parameters
6.2. Client KVP POST - GetTile - Optional parameter - sample dimensions
6.3. Client KVP POST - GetTile - Contiguous tiles
6.4. Client KVP POST - GetTile - Overlay tiles
6.5. Client KVP POST - GetTile - Tiles from different TileMatrixSets

Table 6.1. Client KVP POST - GetTile - Mandatory parameters

Test case identifier Client.KVP.POST.GetTile.Mandatory
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetTile"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

  2. the response entity has one or more Layers with one TileMatrixSet with two or more TileMatrices.

Test purpose

Test that a WMTS client can parse a Service Metadata document returned from a GetCapabilities request to determine the layers and tiles available, and can issue valid KVP POST GetTile requests with mandatory parameters.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP POST GetTile request with the mandatory request parameter with a value of GetTile;

  2. the request entity is a valid KVP POST GetTile request with the mandatory service parameter with a value of WMTS;

  3. the request entity is a valid KVP POST GetTile request with the mandatory Version parameter with a value of 1.0.0;

  4. the request entity is a valid KVP POST GetTile request with the mandatory Layer parameter with a layer identifier value equal to a <Layer><ows:Identifier> value for layers with no sample dimensions, or with sample dimensions with a default dimension from the Service Metadata document;

  5. the request entity is a valid KVP POST GetTile request with the mandatory Style parameter with a style identifier value equal to a <Layer><Style><owsIdentifier> value for the specified Layer from the Service Metadata document;

  6. the request entity is a valid KVP POST GetTile request with the mandatory format parameter with a MIME type format value equal to a <Layer><Format> value for the specified Layer from the Service Metadata document;

  7. the request entity is a valid KVP POST GetTile request with the mandatory TileMatrixSet parameter with a TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document;

  8. the request entity is a valid KVP POST GetTile request with the mandatory TileMatrix parameter with a TileMatrix identifier value equal to a <TileMatrixSet><TileMatrix><owsIdentifier> value for the specified TileMatrixSet from the Service Metadata document;

  9. the request entity is a valid KVP POST GetTile request with the mandatory TileRow parameter with a TileRow index value from zero to the value of <MatrixHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  10. the request entity is a valid KVP POST GetTile request with the mandatory TileCol parameter with a TileCol index value from zero to the value of <MatrixWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  11. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values.

  12. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileCol index value within the TileMatrixLimits MinTileCol and MaxTileCol values.

  13. the client can generate a valid KVP POST GetTile request for sample tiles from each Layer, in each style for the layer, in each image format for the layer, from each TileMatrix from each TileMatrixSet for the layer offered by the server.

Test method Check the content of the request; compare parameter values in the request with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 6.2. Client KVP POST - GetTile - Optional Parameter - sample dimensions

Test case identifier Client.KVP.POST.GetTile.Optional
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetTile"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

  2. the response entity has a <Layer> with three or more <Dimension>s.

Test purpose

Test that a WMTS client can parse a Service Metadata document returned from a GetCapabilities request to determine the sample dimensions for a Layer with sample dimensions advertised by a server (e.g. Time, Elevation, Band), and issue KVP POST GetTile requests with mandatory parameters and a supported sample dimensions parameter with a valid value from the range specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP POST GetTile request with the mandatory request parameter with a value of GetTile;

  2. the request entity is a valid KVP POST GetTile request with the mandatory service parameter with a value of WMTS;

  3. the request entity is a valid KVP POST GetTile request with the mandatory Version parameter with a value of 1.0.0;

  4. the request entity is a valid KVP POST GetTile request with the mandatory Layer parameter with a layer identifier value equal to a <Layer><ows:Identifier> value from the Service Metadata document;

  5. the request entity is a valid KVP POST GetTile request with the mandatory Style parameter with a style identifier value equal to a <Layer><Style><owsIdentifier> value for the specified Layer from the Service Metadata document;

  6. the request entity is a valid KVP POST GetTile request with the mandatory format parameter with a MIME type format value equal to a <Layer><Format> value for the specified Layer from the Service Metadata document;

  7. the request entity is a valid KVP POST GetTile request with the mandatory TileMatrixSet parameter with a TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document;

  8. the request entity is a valid KVP POST GetTile request with the mandatory TileMatrix parameter with a TileMatrix identifier value equal to a <TileMatrixSet><TileMatrix><owsIdentifier> value for the specified TileMatrixSet from the Service Metadata document;

  9. the request entity is a valid KVP POST GetTile request with the mandatory TileRow parameter with a TileRow index value from zero to the value of <MatrixHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  10. the request entity is a valid KVP POST GetTile request with the mandatory TileCol parameter with a TileCol index value from zero to the value of <MatrixWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  11. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values.

  12. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileCol index value within the TileMatrixLimits MinTileCol and MaxTileCol values.

  13. the request entity is a valid KVP POST GetTile request with an optional sample dimensions parameter with a name from a <Dimension><ows:Identifier> value for the specified Layer from the Service Metadata document;

  14. the request entity is a valid KVP POST GetTile request with an optional sample dimensions parameter with a value from one of the <Dimension><Value> elements for the specified Dimension from the Service Metadata document.

  15. the client can generate a valid KVP POST GetTile request for sample tiles from each Layer with sample dimensions, in each style for the layer, in each image format for the layer, for each sample dimension value for each sample dimension for the layer, from each TileMatrix from each TileMatrixSet for the layer offered by the server.

Test method Check the content of the request; compare sample dimensions name and value with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 6.3. Client KVP POST - GetTile - Contiguous tiles

Test case identifier Client.KVP.POST.GetTile.Contiguous
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetTile"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

  2. the response entity has two or more contiguous tiles from the same Layer and TileMatrixSet.

Test purpose

Verify that a client is capable of generating contiguous GetTile operation requests.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the client can parse a Service Metadata document to identify contiguous tiles served by a server;

  2. the client issues valid KVP POST GetTile requests for contiguous tiles;

  3. the server returns the requested tiles;

  4. the client displays the contiguous tiles without any discontinuity.

Test method Check the content of the request; compare requested tile ids with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 6.4. Client KVP POST - GetTile - Overlay tiles

Test case identifier Client.KVP.POST.GetTile.Overlay
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetTile"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

  2. the response entity has two or more Layers with tiles from the same TileMatrixSet that overlay each other.

Test purpose

Verify that a client is capable to generating overlaying GetTile operation requests, each one for a different layer.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the client can parse a Service Metadata document to identify overlay tiles served by a server;

  2. the client issues valid KVP POST GetTile requests for overlay tiles;

  3. the server returns the requested tiles;

  4. the the client is able to display the overlay tiles correctly overlaid and with a transparency when NODATA is present on the upper images.

Test method Check the content of the request; compare sample dimensions name and value with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 6.5. Client KVP POST - GetTile - Tiles from different TileMatrixSets

Test case identifier Client.KVP.POST.GetTile.TileMatrixSets
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetTile"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

  2. the response entity has two or more Layers with tiles from different TileMatrixSets that overlay each other.

Test purpose

Verify that a client can correctly overlay layers with layers having different TileMatrixSets.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the client can parse a Service Metadata document to identify overlay tiles from different TileMatrixSets;

  2. the client issues valid KVP POST GetTile requests for tiles from different TileMatrixSets;

  3. the server returns the requested tiles;

  4. the the client is able to display the overlay tiles correctly overlaid.

Test method Check the content of the request; compare sample dimensions name and value with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



7. Client KVP POST Interface - Optional GetFeatureInfo Operation

Purpose

The Client KVP POST Interface - Optional GetFeatureInfo test group includes KVP POST GetFeatureInfo requests to the WMTS server to exercise all supported parameters.

List of Tables

7.1. Client KVP POST - GetFeatureInfo - Mandatory parameters
7.2. Client KVP POST - GetFeatureInfo - Optional parameter

Table 7.1. Client KVP POST - GetFeatureInfo - Mandatory parameters

Test case identifier Client.KVP.POST.GetFeatureInfo.Mandatory
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetFeatureInfo"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

  2. the response entity has a <Layer> with one or more <InfoFormat>s.

Test purpose

Test that a WMTS client can parse a Service Metadata document returned from a GetCapabilities request to determine the layers and tiles available, and can issue valid KVP POST GetFeatureInfo requests with mandatory parameters.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory request parameter with a value of GetFeatureInfo;

  2. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory service parameter with a value of WMTS;

  3. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory Version parameter with a value of 1.0.0;

  4. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory Layer parameter with a layer identifier value equal to a <Layer><ows:Identifier> value from the Service Metadata document;

  5. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory Style parameter with a style identifier value equal to a <Layer><Style><owsIdentifier> value for the specified Layer from the Service Metadata document;

  6. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory format parameter with a MIME type format value equal to a <Layer><Format> value for the specified Layer from the Service Metadata document;

  7. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory TileMatrixSet parameter with a TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document;

  8. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory TileMatrix parameter with a TileMatrix identifier value equal to a <TileMatrixSet><TileMatrix><owsIdentifier> value for the specified TileMatrixSet from the Service Metadata document;

  9. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory TileRow parameter with a TileRow index value from zero to the value of <MatrixHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  10. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory TileCol parameter with a TileCol index value from zero to the value of <MatrixWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  11. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values.

  12. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileCol index value within the TileMatrixLimits MinTileCol and MaxTileCol values.

  13. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory J parameter with a row index value from zero to the value of <TileHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  14. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory I parameter with a column index value from zero to the value of <TileWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  15. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory infoFormat parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the client can generate a valid KVP POST GetFeatureInfo request for sample pixels from sample tiles from each Layer with InfoFormats, in each style for the layer, in each image format for the layer, in each InfoFormat for the Layer, from each TileMatrix from each TileMatrixSet for the Layer offered by the server.

Test method Check the content of the request; compare parameter values in the request with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 7.2. Client KVP POST - GetFeatureInfo - Optional Parameter - sample dimensions

Test case identifier Client.KVP.POST.GetFeatureInfo.Optional
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetFeatureInfo"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

  2. the response entity has a <Layer> with one or more <InfoFormat>s and three or more <Dimension>s.

Test purpose

Test that a WMTS client can parse a Service Metadata document returned from a GetCapabilities request to determine the layers and tiles available, and can issue valid KVP POST GetFeatureInfo requests with mandatory parameters and a supported sample dimensions parameter with a valid value from the range specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory request parameter with a value of GetFeatureInfo;

  2. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory service parameter with a value of WMTS;

  3. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory Version parameter with a value of 1.0.0;

  4. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory Layer parameter with a layer identifier value equal to a <Layer><ows:Identifier> value from the Service Metadata document;

  5. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory Style parameter with a style identifier value equal to a <Layer><Style><owsIdentifier> value for the specified Layer from the Service Metadata document;

  6. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory format parameter with a MIME type format value equal to a <Layer><Format> value for the specified Layer from the Service Metadata document;

  7. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory TileMatrixSet parameter with a TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document;

  8. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory TileMatrix parameter with a TileMatrix identifier value equal to a <TileMatrixSet><TileMatrix><owsIdentifier> value for the specified TileMatrixSet from the Service Metadata document;

  9. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory TileRow parameter with a TileRow index value from zero to the value of <MatrixHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  10. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory TileCol parameter with a TileCol index value from zero to the value of <MatrixWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  11. the request entity for info about a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values.

  12. the request entity for info about a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileCol index value within the TileMatrixLimits MinTileCol and MaxTileCol values.

  13. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory J parameter with a row index value from zero to the value of <TileHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  14. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory I parameter with a column index value from zero to the value of <TileWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  15. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory infoFormat parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the request entity is a valid KVP POST GetFeatureInfo request with an optional sample dimensions parameter with a name from a <Dimension><ows:Identifier> value for the specified Layer from the Service Metadata document;

  17. the request entity is a valid KVP POST GetFeatureInfo request with an optional sample dimensions parameter with a value from one of the <Dimension><Value> elements for the specified Dimension from the Service Metadata document.

  18. the client can generate a valid KVP POST GetFeatureInfo request for sample pixels from sample tiles from each Layer with InfoFormats and sample dimensions, in each style for the layer, in each image format for the layer, in each InfoFormat for the Layer, for each sample dimension value for each sample dimension for the layer, from each TileMatrix from each TileMatrixSet for the layer offered by the server.

Test method Check the content of the request; compare parameter values in the request with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic



8. Client XML POST Interface - Mandatory GetCapabilities Operation

Purpose

The Client XML POST Interface - Mandatory GetCapabilities test group includes XML POST GetCapabilities requests to the WMTS server to exercise all supported parameters.

List of Tables

8.1. Client XML POST - GetCapabilities - Mandatory parameters
8.2. Client XML POST - GetCapabilities - Optional parameter - AcceptVersions
8.3. Client XML POST - GetCapabilities - Optional parameter - Sections - value = All
8.4. Client XML POST - GetCapabilities - Optional parameter - Sections - value = ServiceIdentification
8.5. Client XML POST - GetCapabilities - Optional parameter - Sections - value = ServiceProvider
8.6. Client XML POST - GetCapabilities - Optional parameter - Sections - value = OperationsMetadata
8.7. Client XML POST - GetCapabilities - Optional parameter - Sections - value = Contents
8.8. Client XML POST - GetCapabilities - Optional parameter - Sections - value = Themes
8.9. Client XML POST - GetCapabilities - Optional parameter - Sections - value = Contents, Themes
8.10. Client XML POST - GetCapabilities - Optional parameter - updateSequence
8.11. Client XML POST - GetCapabilities - Optional parameter - AcceptFormats

Table 8.1. Client XML POST - GetCapabilities - Mandatory parameters

Test case identifier Client.XML.POST.GetCapabilities.Mandatory
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

Test purpose

Test that a WMTS client can issue a XML POST GetCapabilities request with mandatory parameters.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid XML POST GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

  2. the request entity is a valid XML POST GetCapabilities request with the mandatory service parameter with a value of WMTS;

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 8.2. Client XML POST - GetCapabilities - Optional AcceptVersions parameter

Test case identifier Client.XML.POST.GetCapabilities.AcceptVersions
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

Test purpose

Test that a WMTS client can issue a XML POST GetCapabilities request containing the optional AcceptVersions parameter.

Assertions

All of the following assertions must hold for the request to be valid:

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 8.3. Client XML POST - GetCapabilities - Optional parameter - Sections - value = All

Test case identifier Client.XML.POST.GetCapabilities.Sections.All
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

Test purpose

Test that a WMTS client can issue a XML POST GetCapabilities request containing the optional Sections parameter with a value of All.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid XML POST GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is All

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 8.4. Client XML POST - GetCapabilities - Optional parameter - Sections - value = ServiceIdentification

Test case identifier Client.XML.POST.GetCapabilities.Sections.ServiceIdentification
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

Test purpose

Test that a WMTS client can issue a XML POST GetCapabilities request containing the optional Sections parameter with a value of ServiceIdentification.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid XML POST GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is ServiceIdentification

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 8.5. Client XML POST - GetCapabilities - Optional parameter - Sections - value = ServiceProvider

Test case identifier Client.XML.POST.GetCapabilities.Sections.ServiceProvider
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

Test purpose

Test that a WMTS client can issue a XML POST GetCapabilities request containing the optional Sections parameter with a value of ServiceProvider.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid XML POST GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is ServiceProvider

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 8.6. Client XML POST - GetCapabilities - Optional parameter - Sections - value = OperationsMetadata

Test case identifier Client.XML.POST.GetCapabilities.Sections.OperationsMetadata
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

Test purpose

Test that a WMTS client can issue a XML POST GetCapabilities request containing the optional Sections parameter with a value of OperationsMetadata.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid XML POST GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is OperationsMetadata

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 8.7. Client XML POST - GetCapabilities - Optional parameter - Sections - value = Contents

Test case identifier Client.XML.POST.GetCapabilities.Sections.Contents
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

Test purpose

Test that a WMTS client can issue a XML POST GetCapabilities request containing the optional Sections parameter with a value of Contents.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid XML POST GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is Contents

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 8.8. Client XML POST - GetCapabilities - Optional parameter - Sections - value = Themes

Test case identifier Client.XML.POST.GetCapabilities.Sections.Themes
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

Test purpose

Test that a WMTS client can issue a XML POST GetCapabilities request containing the optional Sections parameter with a value of Themes.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid XML POST GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is Themes

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 8.9. Client XML POST - GetCapabilities - Optional parameter - Sections - value = Contents, Themes

Test case identifier Client.XML.POST.GetCapabilities.Sections.Multiple
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

  2. the response entity has one or more <ows:Themes><ows:Theme> elements.

Test purpose

Test that a WMTS client can issue a XML POST GetCapabilities request containing the optional Sections parameter with a value containing multiple sections, i.e. Contents,Themes.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid XML POST GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is Contents,Themes

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 8.10. Client XML POST - GetCapabilities - Optional parameter - updateSequence

Test case identifier Client.XML.POST.GetCapabilities.UpdateSequence
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

Test purpose

Test that a WMTS client can issue a XML POST GetCapabilities request containing the optional updateSequence parameter with a valid value.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid XML POST GetCapabilities request with the optional Sections parameter;

  2. the value of the updateSequence parameter is an integer, a timestamp in [ISO 8601:2000] format, or any other number or (non-empty) string.

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 8.11. Client XML POST - GetCapabilities - Optional parameter - AcceptFormats

Test case identifier Client.XML.POST.GetCapabilities.AcceptFormats
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

Test purpose

Test that a WMTS client can issue a XML POST GetCapabilities request containing the optional AcceptFormats parameter with a valid value.

Assertions

All of the following assertions must hold for the request to be valid:

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



9. Client XML POST Interface - Mandatory GetTile Operation

Purpose

The Client XML POST Interface - Mandatory GetTile test group includes XML POST GetTile requests to the WMTS server to exercise all supported parameters.

List of Tables

9.1. Client XML POST - GetTile - Mandatory parameters
9.2. Client XML POST - GetTile - Optional parameter - sample dimensions
9.3. Client XML POST - GetTile - Contiguous tiles
9.4. Client XML POST - GetTile - Overlay tiles
9.5. Client XML POST - GetTile - Tiles from different TileMatrixSets

Table 9.1. Client XML POST - GetTile - Mandatory parameters

Test case identifier Client.XML.POST.GetTile.Mandatory
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetTile"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

  2. the response entity has one or more Layers with one TileMatrixSet with two or more TileMatrices.

Test purpose

Test that a WMTS client can parse a Service Metadata document returned from a GetCapabilities request to determine the layers and tiles available, and can issue valid XML POST GetTile requests with mandatory parameters.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid XML POST GetTile request with the mandatory request parameter with a value of GetTile;

  2. the request entity is a valid XML POST GetTile request with the mandatory service parameter with a value of WMTS;

  3. the request entity is a valid XML POST GetTile request with the mandatory Version parameter with a value of 1.0.0;

  4. the request entity is a valid XML POST GetTile request with the mandatory Layer parameter with a layer identifier value equal to a <Layer><ows:Identifier> value for layers with no sample dimensions, or with sample dimensions with a default dimension from the Service Metadata document;

  5. the request entity is a valid XML POST GetTile request with the mandatory Style parameter with a style identifier value equal to a <Layer><Style><owsIdentifier> value for the specified Layer from the Service Metadata document;

  6. the request entity is a valid XML POST GetTile request with the mandatory format parameter with a MIME type format value equal to a <Layer><Format> value for the specified Layer from the Service Metadata document;

  7. the request entity is a valid XML POST GetTile request with the mandatory TileMatrixSet parameter with a TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document;

  8. the request entity is a valid XML POST GetTile request with the mandatory TileMatrix parameter with a TileMatrix identifier value equal to a <TileMatrixSet><TileMatrix><owsIdentifier> value for the specified TileMatrixSet from the Service Metadata document;

  9. the request entity is a valid XML POST GetTile request with the mandatory TileRow parameter with a TileRow index value from zero to the value of <MatrixHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  10. the request entity is a valid XML POST GetTile request with the mandatory TileCol parameter with a TileCol index value from zero to the value of <MatrixWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  11. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values.

  12. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileCol index value within the TileMatrixLimits MinTileCol and MaxTileCol values.

  13. the client can generate a valid XML POST GetTile request for sample tiles from each Layer, in each style for the layer, in each image format for the layer, from each TileMatrix from each TileMatrixSet for the layer offered by the server.

Test method Check the content of the request; compare parameter values in the request with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 9.2. Client XML POST - GetTile - Optional Parameter - sample dimensions

Test case identifier Client.XML.POST.GetTile.Optional
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetTile"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

  2. the response entity has a <Layer> with three or more <Dimension>s.

Test purpose

Test that a WMTS client can parse a Service Metadata document returned from a GetCapabilities request to determine the sample dimensions for a Layer with sample dimensions advertised by a server (e.g. Time, Elevation, Band), and issue XML POST GetTile requests with mandatory parameters and a supported sample dimensions parameter with a valid value from the range specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid XML POST GetTile request with the mandatory request parameter with a value of GetTile;

  2. the request entity is a valid XML POST GetTile request with the mandatory service parameter with a value of WMTS;

  3. the request entity is a valid XML POST GetTile request with the mandatory Version parameter with a value of 1.0.0;

  4. the request entity is a valid XML POST GetTile request with the mandatory Layer parameter with a layer identifier value equal to a <Layer><ows:Identifier> value from the Service Metadata document;

  5. the request entity is a valid XML POST GetTile request with the mandatory Style parameter with a style identifier value equal to a <Layer><Style><owsIdentifier> value for the specified Layer from the Service Metadata document;

  6. the request entity is a valid XML POST GetTile request with the mandatory format parameter with a MIME type format value equal to a <Layer><Format> value for the specified Layer from the Service Metadata document;

  7. the request entity is a valid XML POST GetTile request with the mandatory TileMatrixSet parameter with a TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document;

  8. the request entity is a valid XML POST GetTile request with the mandatory TileMatrix parameter with a TileMatrix identifier value equal to a <TileMatrixSet><TileMatrix><owsIdentifier> value for the specified TileMatrixSet from the Service Metadata document;

  9. the request entity is a valid XML POST GetTile request with the mandatory TileRow parameter with a TileRow index value from zero to the value of <MatrixHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  10. the request entity is a valid XML POST GetTile request with the mandatory TileCol parameter with a TileCol index value from zero to the value of <MatrixWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  11. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values.

  12. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileCol index value within the TileMatrixLimits MinTileCol and MaxTileCol values.

  13. the request entity is a valid XML POST GetTile request with an optional sample dimensions parameter with a name from a <Dimension><ows:Identifier> value for the specified Layer from the Service Metadata document;

  14. the request entity is a valid XML POST GetTile request with an optional sample dimensions parameter with a value from one of the <Dimension><Value> elements for the specified Dimension from the Service Metadata document.

  15. the client can generate a valid XML POST GetTile request for sample tiles from each Layer with sample dimensions, in each style for the layer, in each image format for the layer, for each sample dimension value for each sample dimension for the layer, from each TileMatrix from each TileMatrixSet for the layer offered by the server.

Test method Check the content of the request; compare sample dimensions name and value with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 9.3. Client XML POST - GetTile - Contiguous tiles

Test case identifier Client.XML.POST.GetTile.Contiguous
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetTile"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

  2. the response entity has two or more contiguous tiles from the same Layer and TileMatrixSet.

Test purpose

Verify that a client is capable of generating contiguous GetTile operation requests.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the client can parse a Service Metadata document to identify contiguous tiles served by a server;

  2. the client issues valid XML POST GetTile requests for contiguous tiles;

  3. the server returns the requested tiles;

  4. the client displays the contiguous tiles without any discontinuity.

Test method Check the content of the request; compare requested tile ids with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 9.4. Client XML POST - GetTile - Overlay tiles

Test case identifier Client.XML.POST.GetTile.Overlay
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetTile"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

  2. the response entity has two or more Layers with tiles from the same TileMatrixSet that overlay each other.

Test purpose

Verify that a client is capable to generating overlaying GetTile operation requests, each one for a different layer.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the client can parse a Service Metadata document to identify overlay tiles served by a server;

  2. the client issues valid XML POST GetTile requests for overlay tiles;

  3. the server returns the requested tiles;

  4. the the client is able to display the overlay tiles correctly overlaid and with a transparency when NODATA is present on the upper images.

Test method Check the content of the request; compare sample dimensions name and value with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 9.5. Client XML POST - GetTile - Tiles from different TileMatrixSets

Test case identifier Client.XML.POST.GetTile.TileMatrixSets
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetTile"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

  2. the response entity has two or more Layers with tiles from different TileMatrixSets that overlay each other.

Test purpose

Verify that a client can correctly overlay layers with layers having different TileMatrixSets.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the client can parse a Service Metadata document to identify overlay tiles from different TileMatrixSets;

  2. the client issues valid XML POST GetTile requests for tiles from different TileMatrixSets;

  3. the server returns the requested tiles;

  4. the the client is able to display the overlay tiles correctly overlaid.

Test method Check the content of the request; compare sample dimensions name and value with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



10. Client XML POST Interface - Optional GetFeatureInfo Operation

Purpose

The Client XML POST Interface - Optional GetFeatureInfo test group includes XML POST GetFeatureInfo requests to the WMTS server to exercise all supported parameters.

List of Tables

10.1. Client XML POST - GetFeatureInfo - Mandatory parameters
10.2. Client XML POST - GetFeatureInfo - Optional parameter

Table 10.1. Client XML POST - GetFeatureInfo - Mandatory parameters

Test case identifier Client.XML.POST.GetFeatureInfo.Mandatory
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetFeatureInfo"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

  2. the response entity has a <Layer> with one or more <InfoFormat>s.

Test purpose

Test that a WMTS client can parse a Service Metadata document returned from a GetCapabilities request to determine the layers and tiles available, and can issue valid XML POST GetFeatureInfo requests with mandatory parameters.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid XML POST GetFeatureInfo request with the mandatory request parameter with a value of GetFeatureInfo;

  2. the request entity is a valid XML POST GetFeatureInfo request with the mandatory service parameter with a value of WMTS;

  3. the request entity is a valid XML POST GetFeatureInfo request with the mandatory Version parameter with a value of 1.0.0;

  4. the request entity is a valid XML POST GetFeatureInfo request with the mandatory Layer parameter with a layer identifier value equal to a <Layer><ows:Identifier> value from the Service Metadata document;

  5. the request entity is a valid XML POST GetFeatureInfo request with the mandatory Style parameter with a style identifier value equal to a <Layer><Style><owsIdentifier> value for the specified Layer from the Service Metadata document;

  6. the request entity is a valid XML POST GetFeatureInfo request with the mandatory format parameter with a MIME type format value equal to a <Layer><Format> value for the specified Layer from the Service Metadata document;

  7. the request entity is a valid XML POST GetFeatureInfo request with the mandatory TileMatrixSet parameter with a TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document;

  8. the request entity is a valid XML POST GetFeatureInfo request with the mandatory TileMatrix parameter with a TileMatrix identifier value equal to a <TileMatrixSet><TileMatrix><owsIdentifier> value for the specified TileMatrixSet from the Service Metadata document;

  9. the request entity is a valid XML POST GetFeatureInfo request with the mandatory TileRow parameter with a TileRow index value from zero to the value of <MatrixHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  10. the request entity is a valid XML POST GetFeatureInfo request with the mandatory TileCol parameter with a TileCol index value from zero to the value of <MatrixWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  11. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values.

  12. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileCol index value within the TileMatrixLimits MinTileCol and MaxTileCol values.

  13. the request entity is a valid XML POST GetFeatureInfo request with the mandatory J parameter with a row index value from zero to the value of <TileHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  14. the request entity is a valid XML POST GetFeatureInfo request with the mandatory I parameter with a column index value from zero to the value of <TileWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  15. the request entity is a valid XML POST GetFeatureInfo request with the mandatory infoFormat parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the client can generate a valid XML POST GetFeatureInfo request for sample pixels from sample tiles from each Layer with InfoFormats, in each style for the layer, in each image format for the layer, in each InfoFormat for the Layer, from each TileMatrix from each TileMatrixSet for the Layer offered by the server.

Test method Check the content of the request; compare parameter values in the request with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 10.2. Client XML POST - GetFeatureInfo - Optional Parameter - sample dimensions

Test case identifier Client.XML.POST.GetFeatureInfo.Optional
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetFeatureInfo"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

  2. the response entity has a <Layer> with one or more <InfoFormat>s and three or more <Dimension>s.

Test purpose

Test that a WMTS client can parse a Service Metadata document returned from a GetCapabilities request to determine the layers and tiles available, and can issue valid XML POST GetFeatureInfo requests with mandatory parameters and a supported sample dimensions parameter with a valid value from the range specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid XML POST GetFeatureInfo request with the mandatory request parameter with a value of GetFeatureInfo;

  2. the request entity is a valid XML POST GetFeatureInfo request with the mandatory service parameter with a value of WMTS;

  3. the request entity is a valid XML POST GetFeatureInfo request with the mandatory Version parameter with a value of 1.0.0;

  4. the request entity is a valid XML POST GetFeatureInfo request with the mandatory Layer parameter with a layer identifier value equal to a <Layer><ows:Identifier> value from the Service Metadata document;

  5. the request entity is a valid XML POST GetFeatureInfo request with the mandatory Style parameter with a style identifier value equal to a <Layer><Style><owsIdentifier> value for the specified Layer from the Service Metadata document;

  6. the request entity is a valid XML POST GetFeatureInfo request with the mandatory format parameter with a MIME type format value equal to a <Layer><Format> value for the specified Layer from the Service Metadata document;

  7. the request entity is a valid XML POST GetFeatureInfo request with the mandatory TileMatrixSet parameter with a TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document;

  8. the request entity is a valid XML POST GetFeatureInfo request with the mandatory TileMatrix parameter with a TileMatrix identifier value equal to a <TileMatrixSet><TileMatrix><owsIdentifier> value for the specified TileMatrixSet from the Service Metadata document;

  9. the request entity is a valid XML POST GetFeatureInfo request with the mandatory TileRow parameter with a TileRow index value from zero to the value of <MatrixHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  10. the request entity is a valid XML POST GetFeatureInfo request with the mandatory TileCol parameter with a TileCol index value from zero to the value of <MatrixWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  11. the request entity for info about a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values.

  12. the request entity for info about a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileCol index value within the TileMatrixLimits MinTileCol and MaxTileCol values.

  13. the request entity is a valid XML POST GetFeatureInfo request with the mandatory J parameter with a row index value from zero to the value of <TileHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  14. the request entity is a valid XML POST GetFeatureInfo request with the mandatory I parameter with a column index value from zero to the value of <TileWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  15. the request entity is a valid XML POST GetFeatureInfo request with the mandatory infoFormat parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the request entity is a valid XML POST GetFeatureInfo request with an optional sample dimensions parameter with a name from a <Dimension><ows:Identifier> value for the specified Layer from the Service Metadata document;

  17. the request entity is a valid XML POST GetFeatureInfo request with an optional sample dimensions parameter with a value from one of the <Dimension><Value> elements for the specified Dimension from the Service Metadata document.

  18. the client can generate a valid XML POST GetFeatureInfo request for sample pixels from sample tiles from each Layer with InfoFormats and sample dimensions, in each style for the layer, in each image format for the layer, in each InfoFormat for the Layer, for each sample dimension value for each sample dimension for the layer, from each TileMatrix from each TileMatrixSet for the layer offered by the server.

Test method Check the content of the request; compare parameter values in the request with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic



11. Client SOAP POST Interface - Mandatory GetCapabilities Operation

Purpose

The Client SOAP POST Interface - Mandatory GetCapabilities test group includes SOAP POST GetCapabilities requests to the WMTS server to exercise all supported parameters.

List of Tables

11.1. Client SOAP POST - GetCapabilities - Mandatory parameters
11.2. Client SOAP POST - GetCapabilities - Optional parameter - AcceptVersions
11.3. Client SOAP POST - GetCapabilities - Optional parameter - Sections - value = All
11.4. Client SOAP POST - GetCapabilities - Optional parameter - Sections - value = ServiceIdentification
11.5. Client SOAP POST - GetCapabilities - Optional parameter - Sections - value = ServiceProvider
11.6. Client SOAP POST - GetCapabilities - Optional parameter - Sections - value = OperationsMetadata
11.7. Client SOAP POST - GetCapabilities - Optional parameter - Sections - value = Contents
11.8. Client SOAP POST - GetCapabilities - Optional parameter - Sections - value = Themes
11.9. Client SOAP POST - GetCapabilities - Optional parameter - Sections - value = Contents, Themes
11.10. Client SOAP POST - GetCapabilities - Optional parameter - updateSequence
11.11. Client SOAP POST - GetCapabilities - Optional parameter - AcceptFormats

Table 11.1. Client SOAP POST - GetCapabilities - Mandatory parameters

Test case identifier Client.SOAP.POST.GetCapabilities.Mandatory
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilites"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

Test purpose

Test that a WMTS client can issue a SOAP POST GetCapabilities request with mandatory parameters.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid SOAP POST GetCapabilities request consisting of a soap:Envelope element containing a soap:Body element containing a GetCapabilities element, using SOAP version 1.2 encoding;

  2. the request entity is a valid SOAP POST GetCapabilities request with the service attribute of the GetCapabilities element having a value of WMTS;

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 11.2. Client SOAP POST - GetCapabilities - Optional AcceptVersions parameter

Test case identifier Client.SOAP.POST.GetCapabilities.AcceptVersions
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilites"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

Test purpose

Test that a WMTS client can issue a SOAP POST GetCapabilities request containing the optional AcceptVersions element.

Assertions

All of the following assertions must hold for the request to be valid:

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 11.3. Client SOAP POST - GetCapabilities - Optional parameter - Sections - value = All

Test case identifier Client.SOAP.POST.GetCapabilities.Sections.All
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilites"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

Test purpose

Test that a WMTS client can issue a SOAP POST GetCapabilities request containing the optional Sections element with a Section element with a text value of All.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid SOAP POST GetCapabilities request with the optional Sections element, using SOAP version 1.2 encoding;

  2. the Sections element contains one Section element with a text value of All

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 11.4. Client SOAP POST - GetCapabilities - Optional parameter - Sections - value = ServiceIdentification

Test case identifier Client.SOAP.POST.GetCapabilities.Sections.ServiceIdentification
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilites"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

Test purpose

Test that a WMTS client can issue a SOAP POST GetCapabilities request containing the optional Sections element with a Section element with a text value of ServiceIdentification.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid SOAP POST GetCapabilities request with the optional Sections element, using SOAP version 1.2 encoding;

  2. the Sections element contains one Section element with a text value of ServiceIdentification

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 11.5. Client SOAP POST - GetCapabilities - Optional parameter - Sections - value = ServiceProvider

Test case identifier Client.SOAP.POST.GetCapabilities.Sections.ServiceProvider
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilites"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

Test purpose

Test that a WMTS client can issue a SOAP POST GetCapabilities request containing the optional Sections element with a Section element with a text value of ServiceProvider.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid SOAP POST GetCapabilities request with the optional Sections element, using SOAP version 1.2 encoding;

  2. the value of the Sections element contains one Section element with a text value of ServiceProvider

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 11.6. Client SOAP POST - GetCapabilities - Optional parameter - Sections - value = OperationsMetadata

Test case identifier Client.SOAP.POST.GetCapabilities.Sections.OperationsMetadata
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilites"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

Test purpose

Test that a WMTS client can issue a SOAP POST GetCapabilities request containing the optional Sections element with a Section element with a text value of OperationsMetadata.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid SOAP POST GetCapabilities request with the optional Sections element, using SOAP version 1.2 encoding;

  2. the value of the Sections element contains one Section element with a text value of OperationsMetadata

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 11.7. Client SOAP POST - GetCapabilities - Optional parameter - Sections - value = Contents

Test case identifier Client.SOAP.POST.GetCapabilities.Sections.Contents
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilites"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

Test purpose

Test that a WMTS client can issue a SOAP POST GetCapabilities request containing the optional Sections element with a Section element with a text value of Contents.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid SOAP POST GetCapabilities request with the optional Sections element, using SOAP version 1.2 encoding;

  2. the value of the Sections element contains one Section element with a text value of Contents

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 11.8. Client SOAP POST - GetCapabilities - Optional parameter - Sections - value = Themes

Test case identifier Client.SOAP.POST.GetCapabilities.Sections.Themes
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilites"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

Test purpose

Test that a WMTS client can issue a SOAP POST GetCapabilities request containing the optional Sections element with a Section element with a text value of Themes.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid SOAP POST GetCapabilities request with the optional Sections element, using SOAP version 1.2 encoding;

  2. the value of the Sections element contains one Section element with a text value of Themes

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 11.9. Client SOAP POST - GetCapabilities - Optional parameter - Sections - value = Contents, Themes

Test case identifier Client.SOAP.POST.GetCapabilities.Sections.Multiple
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilites"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

  2. the response entity has one or more <ows:Themes><ows:Theme> elements.

Test purpose

Test that a WMTS client can issue a SOAP POST GetCapabilities request containing the optional Sections element with two Section elements with different text values, i.e. Contents and Themes.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid SOAP POST GetCapabilities request with the optional Sections element, using SOAP version 1.2 encoding;

  2. the value of the Sections element contains one Section element with a text value of Contents and a second one with a value of Themes

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 11.10. Client SOAP POST - GetCapabilities - Optional parameter - updateSequence

Test case identifier Client.SOAP.POST.GetCapabilities.UpdateSequence
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilites"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

Test purpose

Test that a WMTS client can issue a SOAP POST GetCapabilities request containing the optional updateSequence element with a valid value.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid SOAP POST GetCapabilities request with the optional Sections element, using SOAP version 1.2 encoding;

  2. the value of the updateSequence element text is an integer, a timestamp in [ISO 8601:2000] format, or any other number or (non-empty) string.

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 11.11. Client SOAP POST - GetCapabilities - Optional parameter - AcceptFormats

Test case identifier Client.SOAP.POST.GetCapabilities.AcceptFormats
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilites"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

Test purpose

Test that a WMTS client can issue a SOAP POST GetCapabilities request containing the optional AcceptFormats element containing one or more OutputFormat elements with valid value(s).

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid SOAP POST GetCapabilities request with the optional AcceptFormats element, using SOAP version 1.2 encoding;

  2. the value of the AcceptFormats element contains a prioritized sequence of zero or more OutputFormat elements containing valid MIME type response formats desired by client, with preferred formats listed first.

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



12. Client SOAP POST Interface - Mandatory GetTile Operation

Purpose

The Client SOAP POST Interface - Mandatory GetTile test group includes SOAP POST GetTile requests to the WMTS server to exercise all supported parameters.

List of Tables

12.1. Client SOAP POST - GetTile - Mandatory parameters
12.2. Client SOAP POST - GetTile - Optional parameter - sample dimensions
12.3. Client SOAP POST - GetTile - Contiguous tiles
12.4. Client SOAP POST - GetTile - Overlay tiles
12.5. Client SOAP POST - GetTile - Tiles from different TileMatrixSets

Table 12.1. Client SOAP POST - GetTile - Mandatory parameters

Test case identifier Client.SOAP.POST.GetTile.Mandatory
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetTile"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

  2. the response entity has one or more Layers with one TileMatrixSet with two or more TileMatrices.

Test purpose

Test that a WMTS client can parse a Service Metadata document returned from a GetCapabilities request to determine the layers and tiles available, and can issue valid SOAP POST GetTile requests with mandatory parameters.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid SOAP POST GetTile request using SOAP version 1.2 encoding with the mandatory request parameter with a value of GetTile;

  2. the request entity is a valid SOAP POST GetTile request with the mandatory service parameter with a value of WMTS;

  3. the request entity is a valid SOAP POST GetTile request with the mandatory Version parameter with a value of 1.0.0;

  4. the request entity is a valid SOAP POST GetTile request with the mandatory Layer parameter with a layer identifier value equal to a <Layer><ows:Identifier> value for layers with no sample dimensions, or with sample dimensions with a default dimension from the Service Metadata document;

  5. the request entity is a valid SOAP POST GetTile request with the mandatory Style parameter with a style identifier value equal to a <Layer><Style><owsIdentifier> value for the specified Layer from the Service Metadata document;

  6. the request entity is a valid SOAP POST GetTile request with the mandatory format parameter with a MIME type format value equal to a <Layer><Format> value for the specified Layer from the Service Metadata document;

  7. the request entity is a valid SOAP POST GetTile request with the mandatory TileMatrixSet parameter with a TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document;

  8. the request entity is a valid SOAP POST GetTile request with the mandatory TileMatrix parameter with a TileMatrix identifier value equal to a <TileMatrixSet><TileMatrix><owsIdentifier> value for the specified TileMatrixSet from the Service Metadata document;

  9. the request entity is a valid SOAP POST GetTile request with the mandatory TileRow parameter with a TileRow index value from zero to the value of <MatrixHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  10. the request entity is a valid SOAP POST GetTile request with the mandatory TileCol parameter with a TileCol index value from zero to the value of <MatrixWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  11. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values.

  12. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileCol index value within the TileMatrixLimits MinTileCol and MaxTileCol values.

  13. the client can generate a valid SOAP POST GetTile request for sample tiles from each Layer, in each style for the layer, in each image format for the layer, from each TileMatrix from each TileMatrixSet for the layer offered by the server.

Test method Check the content of the request; compare parameter values in the request with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 12.2. Client SOAP POST - GetTile - Optional Parameter - sample dimensions

Test case identifier Client.SOAP.POST.GetTile.Optional
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetTile"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

  2. the response entity has a <Layer> with three or more <Dimension>s.

Test purpose

Test that a WMTS client can parse a Service Metadata document returned from a GetCapabilities request to determine the sample dimensions for a Layer with sample dimensions advertised by a server (e.g. Time, Elevation, Band), and issue SOAP POST GetTile requests with mandatory parameters and a supported sample dimensions parameter with a valid value from the range specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid SOAP POST GetTile request using SOAP version 1.2 encoding with the mandatory request parameter with a value of GetTile;

  2. the request entity is a valid SOAP POST GetTile request with the mandatory service parameter with a value of WMTS;

  3. the request entity is a valid SOAP POST GetTile request with the mandatory Version parameter with a value of 1.0.0;

  4. the request entity is a valid SOAP POST GetTile request with the mandatory Layer parameter with a layer identifier value equal to a <Layer><ows:Identifier> value from the Service Metadata document;

  5. the request entity is a valid SOAP POST GetTile request with the mandatory Style parameter with a style identifier value equal to a <Layer><Style><owsIdentifier> value for the specified Layer from the Service Metadata document;

  6. the request entity is a valid SOAP POST GetTile request with the mandatory format parameter with a MIME type format value equal to a <Layer><Format> value for the specified Layer from the Service Metadata document;

  7. the request entity is a valid SOAP POST GetTile request with the mandatory TileMatrixSet parameter with a TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document;

  8. the request entity is a valid SOAP POST GetTile request with the mandatory TileMatrix parameter with a TileMatrix identifier value equal to a <TileMatrixSet><TileMatrix><owsIdentifier> value for the specified TileMatrixSet from the Service Metadata document;

  9. the request entity is a valid SOAP POST GetTile request with the mandatory TileRow parameter with a TileRow index value from zero to the value of <MatrixHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  10. the request entity is a valid SOAP POST GetTile request with the mandatory TileCol parameter with a TileCol index value from zero to the value of <MatrixWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  11. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values.

  12. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileCol index value within the TileMatrixLimits MinTileCol and MaxTileCol values.

  13. the request entity is a valid SOAP POST GetTile request with an optional sample dimensions parameter with a name from a <Dimension><ows:Identifier> value for the specified Layer from the Service Metadata document;

  14. the request entity is a valid SOAP POST GetTile request with an optional sample dimensions parameter with a value from one of the <Dimension><Value> elements for the specified Dimension from the Service Metadata document.

  15. the client can generate a valid SOAP POST GetTile request for sample tiles from each Layer with sample dimensions, in each style for the layer, in each image format for the layer, for each sample dimension value for each sample dimension for the layer, from each TileMatrix from each TileMatrixSet for the layer offered by the server.

Test method Check the content of the request; compare sample dimensions name and value with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 12.3. Client SOAP POST - GetTile - Contiguous tiles

Test case identifier Client.SOAP.POST.GetTile.Contiguous
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetTile"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

  2. the response entity has two or more contiguous tiles from the same Layer and TileMatrixSet

Test purpose

Verify that a client is capable of generating contiguous SOAP POST GetTile operation requests.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the client can parse a Service Metadata document to identify contiguous tiles served by a server;

  2. the client issues valid SOAP POST GetTile requests for contiguous tiles, using SOAP version 1.2 encoding;

  3. the server returns the requested tiles;

  4. the client displays the contiguous tiles without any discontinuity.

Test method Check the content of the request; compare requested tile ids with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 12.4. Client SOAP POST - GetTile - Overlay tiles

Test case identifier Client.SOAP.POST.GetTile.Overlay
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetTile"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

  2. the response entity has two or more Layers with tiles from the same TileMatrixSet that overlay each other.

Test purpose

Verify that a client is capable to generating overlaying SOAP POST GetTile operation requests, each one for a different layer.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the client can parse a Service Metadata document to identify overlay tiles served by a server;

  2. the client issues valid SOAP POST GetTile requests for overlay tiles, using SOAP version 1.2 encoding;

  3. the server returns the requested tiles;

  4. the the client is able to display the overlay tiles correctly overlaid and with a transparency when NODATA is present on the upper images.

Assertions

All of the following assertions must hold for the request to be valid:

Test method Check the content of the request; compare sample dimensions name and value with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 12.5. Client SOAP POST - GetTile - Tiles from different TileMatrixSets

Test case identifier Client.SOAP.POST.GetTile.TileMatrixSets
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetTile"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

  2. the response entity has two or more Layers with tiles from different TileMatrixSets that overlay each other.

Test purpose

Verify that a client can correctly overlay layers with layers having different TileMatrixSets.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the client can parse a Service Metadata document to identify overlay tiles from different TileMatrixSets;

  2. the client issues valid SOAP POST GetTile requests for tiles from different TileMatrixSets, using SOAP version 1.2 encoding;

  3. the server returns the requested tiles;

  4. the the client is able to display the overlay tiles correctly overlaid.

Test method Check the content of the request; compare sample dimensions name and value with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



13. Client SOAP POST Interface - Optional GetFeatureInfo Operation

Purpose

The Client SOAP POST Interface - Optional GetFeatureInfo test group includes SOAP POST GetFeatureInfo requests to the WMTS server to exercise all supported parameters.

List of Tables

13.1. Client SOAP POST - GetFeatureInfo - Mandatory parameters
13.2. Client SOAP POST - GetFeatureInfo - Optional parameter

Table 13.1. Client SOAP POST - GetFeatureInfo - Mandatory parameters

Test case identifier Client.SOAP.POST.GetFeatureInfo.Mandatory
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetFeatureInfo"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

  2. the response entity has a <Layer> with one or more <InfoFormat>s.

Test purpose

Test that a WMTS client can parse a Service Metadata document returned from a GetCapabilities request to determine the layers and tiles available, and can issue valid SOAP POST GetFeatureInfo requests with mandatory parameters.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid SOAP POST GetFeatureInfo request using SOAP version 1.2 encoding with the mandatory request parameter with a value of GetFeatureInfo;

  2. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory service parameter with a value of WMTS;

  3. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory Version parameter with a value of 1.0.0;

  4. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory Layer parameter with a layer identifier value equal to a <Layer><ows:Identifier> value from the Service Metadata document;

  5. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory Style parameter with a style identifier value equal to a <Layer><Style><owsIdentifier> value for the specified Layer from the Service Metadata document;

  6. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory format parameter with a MIME type format value equal to a <Layer><Format> value for the specified Layer from the Service Metadata document;

  7. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory TileMatrixSet parameter with a TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document;

  8. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory TileMatrix parameter with a TileMatrix identifier value equal to a <TileMatrixSet><TileMatrix><owsIdentifier> value for the specified TileMatrixSet from the Service Metadata document;

  9. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory TileRow parameter with a TileRow index value from zero to the value of <MatrixHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  10. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory TileCol parameter with a TileCol index value from zero to the value of <MatrixWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  11. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values.

  12. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileCol index value within the TileMatrixLimits MinTileCol and MaxTileCol values.

  13. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory J parameter with a row index value from zero to the value of <TileHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  14. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory I parameter with a column index value from zero to the value of <TileWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  15. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory infoFormat parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the client can generate a valid SOAP POST GetFeatureInfo request for sample pixels from sample tiles from each Layer with InfoFormats, in each style for the layer, in each image format for the layer, in each InfoFormat for the Layer, from each TileMatrix from each TileMatrixSet for the Layer offered by the server.

Test method Check the content of the request; compare parameter values in the request with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 13.2. Client SOAP POST - GetFeatureInfo - Optional Parameter - sample dimensions

Test case identifier Client.SOAP.POST.GetFeatureInfo.Optional
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetFeatureInfo"> element that contains a <ows:DCP><ows:HTTP><ows:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

  2. the response entity has a <Layer> with one or more <InfoFormat>s and three or more <Dimension>s.

Test purpose

Test that a WMTS client can parse a Service Metadata document returned from a GetCapabilities request to determine the layers and tiles available, and can issue valid SOAP POST GetFeatureInfo requests with mandatory parameters and a supported sample dimensions parameter with a valid value from the range specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid SOAP POST GetFeatureInfo request using SOAP version 1.2 encoding with the mandatory request parameter with a value of GetFeatureInfo;

  2. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory service parameter with a value of WMTS;

  3. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory Version parameter with a value of 1.0.0;

  4. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory Layer parameter with a layer identifier value equal to a <Layer><ows:Identifier> value from the Service Metadata document;

  5. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory Style parameter with a style identifier value equal to a <Layer><Style><owsIdentifier> value for the specified Layer from the Service Metadata document;

  6. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory format parameter with a MIME type format value equal to a <Layer><Format> value for the specified Layer from the Service Metadata document;

  7. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory TileMatrixSet parameter with a TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document;

  8. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory TileMatrix parameter with a TileMatrix identifier value equal to a <TileMatrixSet><TileMatrix><owsIdentifier> value for the specified TileMatrixSet from the Service Metadata document;

  9. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory TileRow parameter with a TileRow index value from zero to the value of <MatrixHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  10. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory TileCol parameter with a TileCol index value from zero to the value of <MatrixWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  11. the request entity for info about a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values.

  12. the request entity for info about a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileCol index value within the TileMatrixLimits MinTileCol and MaxTileCol values.

  13. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory J parameter with a row index value from zero to the value of <TileHeight> minus 1 for the specified TileMatrix from the Service Metadata document;

  14. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory I parameter with a column index value from zero to the value of <TileWidth> minus 1 for the specified TileMatrix from the Service Metadata document;

  15. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory infoFormat parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the request entity is a valid SOAP POST GetFeatureInfo request with an optional sample dimensions parameter with a name from a <Dimension><ows:Identifier> value for the specified Layer from the Service Metadata document;

  17. the request entity is a valid SOAP POST GetFeatureInfo request with an optional sample dimensions parameter with a value from one of the <Dimension><Value> elements for the specified Dimension from the Service Metadata document.

  18. the client can generate a valid SOAP POST GetFeatureInfo request for sample pixels from sample tiles from each Layer with InfoFormats and sample dimensions, in each style for the layer, in each image format for the layer, in each InfoFormat for the Layer, for each sample dimension value for each sample dimension for the layer, from each TileMatrix from each TileMatrixSet for the layer offered by the server.

Test method Check the content of the request; compare parameter values in the request with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic



14. Client RESTful Interface - Mandatory GetCapabilities Operation

Purpose

The Client RESTful Interface - Mandatory GetCapabilities test group includes RESTful GetCapabilities requests to the WMTS server to exercise all supported parameters. Although not explicitly stated in the WMTS specification, OGC-07-057r7 section 7.1.1.1, table 19, and sections 10.1.3 and 10.1.5 are interpreted to imply that RESTful GetCapabilties requests cannot specify AcceptVersions, AcceptFormats, Sections or UpdateSequence options.

List of Tables

14.1. Client RESTful - GetCapabilities - Mandatory parameters

Table 14.1. Client RESTful - GetCapabilities - Mandatory parameters

Test case identifier Client.RESTful.GetCapabilities.Mandatory
Prerequisites

Bootstrap RESTful - GetCapabilities

  1. the response entity has a <ServiceMetadataURL> element.

Test purpose

Test that a WMTS client can issue a RESTful GetCapabilities request for a complete ServiceMetadata document.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid RESTful GetCapabilities request invoking the ServiceMetadataURL for a complete Service Metadata document advertised by a WMTS server.

Test method Check the content of the request. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



15. Client RESTful Interface - Mandatory GetTile Operation

Purpose

The Client RESTful Interface - Mandatory GetTile test group includes RESTful GetTile requests to the WMTS server to exercise all supported parameters.

List of Tables

15.1. Client RESTful - GetTile - Mandatory parameters
15.2. Client RESTful - GetTile - Optional parameter - sample dimensions
15.3. Client RESTful - GetTile - Contiguous tiles
15.4. Client RESTful - GetTile - Overlay tiles
15.5. Client RESTful - GetTile - Tiles from different TileMatrixSets

Table 15.1. Client RESTful - GetTile - Mandatory parameters

Test case identifier Client.RESTful.GetTile.Mandatory
Prerequisites

Bootstrap RESTful - GetCapabilities

  1. the resonse entity has a <ResourceURL> template element for the "GetTile" operation for each advertised Layer.

  2. the resonse entity has one or more Layers with one TileMatrixSet with two or more TileMatrices.

Test purpose

Test that a WMTS client can parse a Service Metadata document returned from a GetCapabilities request to determine the layers and tiles available, and can execute a template processor to generate valid RESTful GetTile URLs with mandatory information from a ResourceURL provided by the server in a Layer element of the Contents section of the Service Metadata document.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid RESTful GetTile request URL with the mandatory Layer identifier value provided in the ResourceURL template for layers with no sample dimensions, or with sample dimensions with a default dimension;

  2. the request entity is a valid RESTful GetTile request URL with the mandatory Style identifier value equal to a <Layer><Style><owsIdentifier> value for the specified Layer from the Service Metadata document substituted in place of the "style" URL template variable;

  3. the request entity is a valid RESTful GetTile request URL with the mandatory format MIME type format value provided in the ResourceURL template;

  4. the request entity is a valid RESTful GetTile request URL with the mandatory TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document substituted in place of the "TileMatrixSet" URL template variable;

  5. the request entity is a valid RESTful GetTile request URL with the mandatory TileMatrix identifier value equal to a <TileMatrixSet><TileMatrix><owsIdentifier> value for the specified TileMatrixSet from the Service Metadata document substituted in place of the "TileMatrix" URL template variable;

  6. the request entity is a valid RESTful GetTile request URL with the mandatory TileRow index value from zero to the value of <MatrixHeight> minus 1 for the specified TileMatrix from the Service Metadata document substituted in place of the "TileRow" URL template variable;

  7. the request entity is a valid RESTful GetTile request URL with the mandatory TileCol index value from zero to the value of <MatrixWidth> minus 1 for the specified TileMatrix from the Service Metadata document substituted in place of the "TileCol" URL template variable;

  8. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values.

  9. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileCol index value within the TileMatrixLimits MinTileCol and MaxTileCol values.

  10. the client can generate a valid RESTful GetTile request for sample tiles from each Layer, in each style for the layer, in each image format for the layer, from each TileMatrix from each TileMatrixSet for the layer offered by the server.

Test method Check the content of the request; compare parameter values in the request with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 15.2. Client RESTful - GetTile - Optional Parameter - sample dimensions

Test case identifier Client.RESTful.GetTile.Optional
Prerequisites

Bootstrap RESTful - GetCapabilities

  1. the resonse entity has a <ResourceURL> template element for the "GetTile" operation for each advertised Layer.

  2. the response entity has a <Layer> with three or more <Dimension>s.

Test purpose

Test that a WMTS client can parse a Service Metadata document returned from a GetCapabilities request to determine the sample dimensions for a Layer with sample dimensions advertised by a server (e.g. Time, Elevation, Band), can execute a template processor to generate valid RESTful GetTile URLs with mandatory parameters and a supported sample dimensions parameter with a valid value from the range specified in the Service Metadata document, from a ResourceURL provided by the server in the Service Metadata document.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid RESTful GetTile request URL with the mandatory Layer identifier value provided in the ResourceURL template;

  2. the request entity is a valid RESTful GetTile request URL with the mandatory Style identifier value equal to a <Layer><Style><owsIdentifier> value for the specified Layer from the Service Metadata document substituted in place of the "style" URL template variable;

  3. the request entity is a valid RESTful GetTile request URL with the mandatory format MIME type format value provided in the ResourceURL template;

  4. the request entity is a valid RESTful GetTile request URL with the mandatory TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document substituted in place of the "TileMatrixSet" URL template variable;

  5. the request entity is a valid RESTful GetTile request URL with the mandatory TileMatrix identifier value equal to a <TileMatrixSet><TileMatrix><owsIdentifier> value for the specified TileMatrixSet from the Service Metadata document substituted in place of the "TileMatrix" URL template variable;

  6. the request entity is a valid RESTful GetTile request URL with the mandatory TileRow index value from zero to the value of <MatrixHeight> minus 1 for the specified TileMatrix from the Service Metadata document substituted in place of the "TileRow" URL template variable;

  7. the request entity is a valid RESTful GetTile request URL with the mandatory TileCol index value from zero to the value of <MatrixWidth> minus 1 for the specified TileMatrix from the Service Metadata document substituted in place of the "TileCol" URL template variable;

  8. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values.

  9. the request entity for a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileCol index value within the TileMatrixLimits MinTileCol and MaxTileCol values.

  10. the request entity is a valid RESTful GetTile request URL with an optional sample dimensions parameter with a with a name from a <Dimension><ows:Identifier> value for the specified Layer from the Service Metadata document;

  11. the request entity is a valid RESTful GetTile request URL with an optional sample dimensions parameter with a value from one of the <Dimension><Value> elements for the specified Dimension from the Service Metadata document;

  12. the client can generate a valid SOAP POST GetTile request for sample tiles from each Layer with sample dimensions, in each style for the layer, in each image format for the layer, for each sample dimension value for each sample dimension for the layer, from each TileMatrix from each TileMatrixSet for the layer offered by the server.

Test method Check the content of the request; compare sample dimensions name and value with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 15.3. Client RESTful - GetTile - Contiguous tiles

Test case identifier Client.RESTful.GetTile.Contiguous
Prerequisites

Bootstrap RESTful - GetCapabilities

  1. the resonse entity has a <ResourceURL> template element for the "GetTile" operation for each advertised Layer.

  2. the resonse entity has two or more contiguous tiles from the same Layer and TileMatrixSet

Test purpose

Verify that a client is capable of generating contiguous GetTile operation requests.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the client can parse a Service Metadata document to identify contiguous tiles served by a server;

  2. the client invokes valid RESTful GetTile request URLs for contiguous tiles;

  3. the server returns the requested tiles;

  4. the client displays the contiguous tiles without any discontinuity.

Test method Check the content of the request; compare requested tile ids with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 15.4. Client RESTful - GetTile - Overlay tiles

Test case identifier Client.RESTful.GetTile.Overlay
Prerequisites

Bootstrap RESTful - GetCapabilities

  1. the resonse entity has a <ResourceURL> template element for the "GetTile" operation for each advertised Layer.

  2. the resonse entity has two or more Layers with tiles from the same TileMatrixSet that overlay each other.

Test purpose

Verify that a client is capable to generating overlaying GetTile operation requests, each one for a different layer.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the client can parse a Service Metadata document to identify overlay tiles served by a server;

  2. the client invokes valid RESTful GetTile request URLs for overlay tiles;

  3. the server returns the requested tiles;

  4. the the client is able to display the overlay tiles correctly overlaid and with a transparency when NODATA is present on the upper images.

Test method Check the content of the request; compare sample dimensions name and value with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 15.5. Client RESTful - GetTile - Tiles from different TileMatrixSets

Test case identifier Client.RESTful.GetTile.TileMatrixSets
Prerequisites

Bootstrap RESTful - GetCapabilities

  1. the resonse entity has a <ResourceURL> template element for the "GetTile" operation for each advertised Layer.

  2. the resonse entity has two or more Layers with tiles from different TileMatrixSets that overlay each other.

Test purpose

Verify that a client can correctly overlay layers with layers having different TileMatrixSets.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the client can parse a Service Metadata document to identify overlay tiles from different TileMatrixSets;

  2. the client invokes valid RESTful GetTile request URLs for tiles from different TileMatrixSets;

  3. the server returns the requested tiles;

  4. the the client is able to display the overlay tiles correctly overlaid.

Test method Check the content of the request; compare sample dimensions name and value with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



16. Client RESTful Interface - Optional GetFeatureInfo Operation

Purpose

The Client RESTful Interface - Optional GetFeatureInfo test group includes RESTful GetFeatureInfo requests to the WMTS server to exercise all supported parameters.

List of Tables

16.1. Client RESTful - GetFeatureInfo - Mandatory parameters
16.2. Client RESTful - GetFeatureInfo - Optional parameter

Table 16.1. Client RESTful - GetFeatureInfo - Mandatory parameters

Test case identifier Client.RESTful.GetFeatureInfo.Mandatory
Prerequisites

Bootstrap RESTful - GetCapabilities

  1. the resonse entity has a <ResourceURL> template element for the "GetFeatureInfo" operation for each advertised Layer with one or more s.

  2. the response entity has a <Layer> with one or more <InfoFormat>s.

Test purpose

Test that a WMTS client can parse a Service Metadata document returned from a GetCapabilities request to determine the layers and tiles available, and can execute a template processor to generate valid RESTful GetFeatureInfo URLs with mandatory information from a ResourceURL provided by the server in a Layer element of the Contents section of the Service Metadata document.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory Layer identifier value provided in the ResourceURL template;

  2. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory Style identifier value equal to a <Layer><Style><owsIdentifier> value for the specified Layer from the Service Metadata document substituted in place of the "style" URL template variable;

  3. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory format MIME type format value provided in the ResourceURL template;

  4. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document substituted in place of the "TileMatrixSet" URL template variable;

  5. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory TileMatrix identifier value equal to a <TileMatrixSet><TileMatrix><owsIdentifier> value for the specified TileMatrixSet from the Service Metadata document value substituted in place of the "TileMatrix" URL template variable;

  6. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory TileRow index value from zero to the value of <MatrixHeight> minus 1 for the specified TileMatrix from the Service Metadata document substituted in place of the "TileRow" URL template variable;

  7. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory TileCol index value from zero to the value of <MatrixWidth> minus 1 for the specified TileMatrix from the Service Metadata document substituted in place of the "TileCol" URL template variable;

  8. the request entity for info about a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values.

  9. the request entity for info about a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileCol index value within the TileMatrixLimits MinTileCol and MaxTileCol values.

  10. the request entity is a valid RESTful GetFeatureInfo request with the mandatory J row index value from zero to the value of <TileHeight> minus 1 for the specified TileMatrix from the Service Metadata document substituted in place of the "J" URL template variable;

  11. the request entity is a valid RESTful GetFeatureInfo request with the mandatory I column index value from zero to the value of <TileWidth> minus 1 for the specified TileMatrix from the Service Metadata document substituted in place of the "I" URL template variable;

  12. the request entity is a valid RESTful GetFeatureInfo request with the mandatory infoFormat value from one of the <InfoFormat>s for the specified Layer from the Service Metadata document substituted in place of the "???Format???InfoFormat???" URL template variable;

  13. the client can generate a valid RESTful GetFeatureInfo request for sample pixels from sample tiles from each Layer with InfoFormats, in each style for the layer, in each image format for the layer, in each InfoFormat for the Layer, from each TileMatrix from each TileMatrixSet for the Layer offered by the server.

Test method Check the content of the request; compare parameter values in the request with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 16.2. Client RESTful - GetFeatureInfo - Optional Parameter - sample dimensions

Test case identifier Client.RESTful.GetFeatureInfo.Optional
Prerequisites

Bootstrap RESTful - GetCapabilities

  1. the resonse entity has a <ResourceURL> template element for the "GetFeatureInfo" operation for each advertised Layer with one or more <InfoFormat>s.

  2. the response entity has a <Layer> with one or more <InfoFormat>s and three or more <Dimension>s.

Test purpose

Test that a WMTS client can parse a Service Metadata document returned from a GetCapabilities request to determine the layers and tiles available, and can execute a template processor to generate valid RESTful GetFeatureInfo URLs with mandatory information from a ResourceURL provided by the server in a Layer element of the Contents section of the Service Metadata document, and a supported sample dimensions parameter with a valid value from the range specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory Layer identifier value provided in the ResourceURL template;

  2. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory Style identifier value equal to a <Layer><Style><owsIdentifier> value for the specified Layer from the Service Metadata document substituted in place of the "style" URL template variable;

  3. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory format MIME type format value provided in the ResourceURL template;

  4. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document substituted in place of the "TileMatrixSet" URL template variable;

  5. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory TileMatrix identifier value equal to a <TileMatrixSet><TileMatrix><owsIdentifier> value for the specified TileMatrixSet from the Service Metadata document value substituted in place of the "TileMatrix" URL template variable;

  6. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory TileRow index value from zero to the value of <MatrixHeight> minus 1 for the specified TileMatrix from the Service Metadata document substituted in place of the "TileRow" URL template variable;

  7. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory TileCol index value from zero to the value of <MatrixWidth> minus 1 for the specified TileMatrix from the Service Metadata document substituted in place of the "TileCol" URL template variable;

  8. the request entity for info about a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values.

  9. the request entity for info about a tile from a Layer with TileMatrixSetLimits with TileMatrixLimits that references the identifier of the TileMatrix for the tile specifies a TileCol index value within the TileMatrixLimits MinTileCol and MaxTileCol values.

  10. the request entity is a valid RESTful GetFeatureInfo request with the mandatory J row index value from zero to the value of <TileHeight> minus 1 for the specified TileMatrix from the Service Metadata document substituted in place of the "J" URL template variable;

  11. the request entity is a valid RESTful GetFeatureInfo request with the mandatory I column index value from zero to the value of <TileWidth> minus 1 for the specified TileMatrix from the Service Metadata document substituted in place of the "I" URL template variable;

  12. the request entity is a valid RESTful GetFeatureInfo request with the mandatory infoFormat value from one of the <InfoFormat>s for the specified Layer from the Service Metadata document substituted in place of the "???Format???InfoFormat???" URL template variable;

  13. the request entity is a valid RESTful GetFeatureInfo request with an optional sample dimensions name from a <Dimension><ows:Identifier> value for the specified Layer from the Service Metadata document substituted in place of the "SampleDimensionName" URL template variable;

  14. the request entity is a valid RESTful GetFeatureInfo request with an optional sample dimensions value from one of the <Dimension><Value> elements for the specified Dimension from the Service Metadata document substituted in place of the "SampleDimensionValue" URL template variable;

  15. the client can generate a valid RESTful GetFeatureInfo request for sample pixels from sample tiles from each Layer with InfoFormats and sample dimensions, in each style for the layer, in each image format for the layer, in each InfoFormat for the Layer, for each sample dimension value for each sample dimension for the layer, from each TileMatrix from each TileMatrixSet for the layer offered by the server.

Test method Check the content of the request; compare parameter values in the request with contents of Service Metadata document. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic



17. Server KVP GET Interface - Mandatory Common Operation Properties

Purpose

The Server KVP GET Interface - Mandatory Common Operation Properties test group includes assertions that are common to the KVP Get Interface for all operations.

List of Tables

17.1. Server KVP GET HTTP Protocol Usage - Mandatory
17.2. Server KVP GET Invalid Query String - Mandatory Exception
17.3. Server KVP Get Invalid Service - Mandatory Exception
17.4. Server KVP Get Invalid Request - Mandatory Exception

Table 17.1. Server KVP GET HTTP Protocol Usage - Mandatory

Test case identifier Server.KVP.GET.HTTP.Mandatory
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS server observes the rules and conventions governing the use of HTTP GET operations.

Assertions

All of the following assertions must hold for the request to be valid:

  1. TBD

Test method TBD. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 17.2. Server KVP GET Invalid Query String - Mandatory Exception

Test case identifier Server.KVP.GET.InvalidQueryString
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS server returns a valid exception report and HTTP status code in response to an invalid query string.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is an invalid query string: "request~GetCapabilities!service~!'WMTS'version~'1.0.0'"

  2. the response entity is a schema-valid ows:Exception document.

  3. the response entity contains an exceptionCode attribute value of "MissingParameterValue".

  4. the response entity contains a locator attribute value of "service" or "request".

  5. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method TBD. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 17.3. Server KVP Get Invalid Service - Mandatory Exception

Test case identifier Server.KVP.GET.InvalidService
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS server returns a valid exception report and HTTP status code in response to an invalid service parameter.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity service parameter value is "BOGUS".

  2. the response entity is a schema-valid ows:Exception document.

  3. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  4. the response entity contains a locator attribute value of "service".

  5. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method TBD. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 17.4. Server KVP Get Invalid Request - Mandatory Exception

Test case identifier Server.KVP.GET.InvalidRequest
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS server returns a valid exception report and HTTP status code in response to an invalid request parameter.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity request parameter value is "GetBOGUS".

  2. the response entity is a schema-valid ows:Exception document.

  3. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  4. the response entity contains a locator attribute value of "request".

  5. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method TBD. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic



18. Server KVP GET Interface - Mandatory GetCapabilities Operation

Purpose

The Server KVP GET Interface - Mandatory GetCapabilities test group includes KVP GET GetCapabilities responses from the WMTS server to exercise all supported request parameters and validate response contents.

List of Tables

18.1. Server KVP GET - GetCapabilities - Request with Mandatory Parameters
18.2. Server KVP GET - GetCapabilities - Request with No Service Parameter
18.3. Server KVP GET - GetCapabilities - Request with an Invalid Service Parameter Value
18.4. Server KVP GET - GetCapabilities - Request with AcceptVersions - Valid Parameter Value
18.5. Server KVP GET - GetCapabilities - Request with AcceptVersions - Invalid Parameter Value
18.6. Server KVP GET - GetCapabilities - Request Case Insensitive KVP names
18.7. Server KVP GET - GetCapabilities - Request Optional parameter - Sections - value = All
18.8. Server KVP GET - GetCapabilities - Request Optional parameter - Sections - value = ServiceIdentification
18.9. Server KVP GET - GetCapabilities - Request Optional parameter - Sections - value = ServiceProvider
18.10. Server KVP GET - GetCapabilities - Request Optional parameter - Sections - value = OperationsMetadata
18.11. Server KVP GET - GetCapabilities - Request Optional parameter - Sections - value = Contents
18.12. Server KVP GET - GetCapabilities - Request Optional parameter - Sections - value = Themes
18.13. Server KVP GET - GetCapabilities - Request Optional parameter - Sections - value = Contents, Themes
18.14. Server KVP GET - GetCapabilities - Request Optional parameter - Sections - value = Bogus
18.15. Server KVP GET - GetCapabilities - Request Optional parameter - Sections - Missing Parameter Value
18.16. Server KVP GET - GetCapabilities - Request Optional parameter - updateSequence
18.17. Server KVP GET - GetCapabilities - Request Optional parameter - AcceptFormats
18.18. Server KVP GET - GetCapabilities - Response Service Metadata Document XML is Well Formed
18.19. Server KVP GET - GetCapabilities - Response Service Metadata Document references normative schema
18.20. Server KVP GET - GetCapabilities - Response Service Metadata Document is schema valid
18.21. Server KVP GET - GetCapabilities - Response Advertised Format application/xml
18.22. Server KVP GET - GetCapabilities - Response OnlineResource is only resource prefix
18.23. Server KVP GET - GetCapabilities - Response includes GetEncoding constraint
18.24. Server KVP GET - GetCapabilities - Response Layer Identifiers are unique
18.25 Server KVP GET - GetCapabilities - Response with no Layers contains otherSource URL
18.26 Server KVP GET - GetCapabilities - Response Style Identifiers are unique for each Layer
18.27. Server KVP GET - GetCapabilities - Response Layer LegendURLs are correct resources
18.28. Server KVP GET - GetCapabilities - Response Layer LegendURLs are correct formats
18.29. Server KVP GET - GetCapabilities - Response Layer LegendURLs are correct sizes
18.30. Server KVP GET - GetCapabilities - Response Dimension Identifiers are unique for each Layer
18.31. Server KVP GET - GetCapabilities - Response Layer TileMatrixSets are valid
18.32. Server KVP GET - GetCapabilities - Response TileMatrixSet identifiers are unique
18.33. Server KVP GET - GetCapabilities - Response TileMatrix identifiers are unique
18.34. Server KVP GET - GetCapabilities - Response TileMatrixSet ScaleDenominators are unique
18.35. Server KVP GET - GetCapabilities - Response TileMatrixSet WellKnownScaleSets are compatible with CRS and ScaleDenominator values
18.36. Server KVP GET - GetCapabilities - Response Theme LayerRef valid

Table 18.1. Server KVP GET - GetCapabilities - Request with mandatory parameters

Test case identifier Server.KVP.GET.GetCapabilities.Request.Mandatory
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS server responds to a KVP GET GetCapabilities request with mandatory parameters with a Service Metadata document containing all sections.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

  2. the request entity is a valid KVP GET GetCapabilities request with the mandatory service parameter with a value of WMTS;

  3. the response entity is a valid WMTS Service Metadata document containing all sections.

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 18.2. Server KVP GET - GetCapabilities - Request with no service parameter

Test case identifier Server.KVP.GET.GetCapabilities.Request.NoService
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS server responds to a KVP GET GetCapabilities request with a missing service parameter with a valid exception report and HTTP status code.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

  2. the request entity is a valid KVP GET GetCapabilities request without the mandatory service parameter with a value of WMTS;

  3. the response entity is a schema-valid ows:Exception document.

  4. the response entity contains an exceptionCode attribute value of "MissingParameterValue".

  5. the response entity contains a locator attribute value of "service".

  6. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 18.3. Server KVP GET - GetCapabilities - Request with invalid service parameter

Test case identifier Server.KVP.GET.GetCapabilities.Request.InvalidService
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS server responds to a KVP GET GetCapabilities request with an invalid service parameter with a valid exception report and HTTP status code.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

  2. the request entity is a valid KVP GET GetCapabilities request with the mandatory service parameter with a value of BOGUS;

  3. the response entity is a schema-valid ows:Exception document.

  4. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  5. the response entity contains a locator attribute value of "service".

  6. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 18.4. Server KVP GET - GetCapabilities - Optional AcceptVersions parameter with valid value

Test case identifier Server.KVP.GET.GetCapabilities.Request.AcceptVersions.Valid
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

  2. the response entity has an <ows:Operation name="GetCapabilities"> element that contains an <ows:Parameter name="Versions"> element with an <ows:AllowedValues&gt element with an <ows:Value> element with a value that contains three non-negative integers separated by decimal points, in the form "x.y.z". The integers y and z shall not exceed 99.

Test purpose

Test that a WMTS server performs version negotiation with a client correctly; that it replies to a KVP GET GetCapabilities request containing the optional AcceptVersions parameter with a valid version value(s) that are supported by the server, with a valid ServiceMetadata document for the first such version.

Assertions

All of the following assertions must hold for the response to be valid:

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 18.5. Server KVP GET - GetCapabilities - Optional AcceptVersions parameter with invalid value

Test case identifier Server.KVP.GET.GetCapabilities.Request.AcceptVersions.Invalid
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

  2. the response entity has an <ows:Operation name="GetCapabilities"> element that contains an <ows:Parameter name="Versions"> element with an <ows:AllowedValues&gt element with an <ows:Value> element with a value that contains three non-negative integers separated by decimal points, in the form "x.y.z". The integers y and z shall not exceed 99.

Test purpose

Test that a WMTS server issues a valid exception report and HTTP status code in response to a KVP GET GetCapabilities request containing the optional AcceptVersions parameter with a version value not supported by the server.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the optional AcceptVersions parameter;

  2. the specification version(s) in the value of the AcceptVersions parameter is a comma-separated prioritized sequence of one or more specification versions not supported by the server, with preferred versions listed first;

  3. the response entity is a schema-valid ows:Exception document.

  4. the response entity contains an exceptionCode attribute value of "VersionNegotiationFailed".

  5. the response entity does not contain a locator attribute.

  6. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 18.6. Server KVP GET - GetCapabilities - Request Case Insensitive KVP names

Test case identifier Server.KVP.GET.GetCapabilities.Request.CaseInsensitive.KVP.Names
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS server provides the same response no matter what upper and lower case capitalization conventions are used for KVP GET parameter names, and no matter what order the parameters are provided in.

Assertions

All of the following assertions must hold for the response to be valid:

  1. The test generates valid KVP GET GetCapabilities requests with request, service, and version parameters with values of "GetCapabilities", "WMTS", and "1.0.0" respectively, with parameter names using various combinations of cases, with a variety of parameter sequences;

  2. the response entities for all requests are identical.

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 18.7. Server KVP GET - GetCapabilities Request - Optional parameter - Sections - value = All

Test case identifier Server.KVP.GET.GetCapabilities.Request.Sections.All
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS server returns a complete Service Metadata document in response to a KVP GET GetCapabilities request containing the optional Sections parameter with a value of All.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is All

  3. the response entity is a valid WMTS Service Metadata document containing all sections.

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 18.8. Server KVP GET - GetCapabilities - Optional parameter - Sections - value = ServiceIdentification

Test case identifier Server.KVP.GET.GetCapabilities.Request.Sections.ServiceIdentification
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS server returns a Service Metadata document containing only the ServiceIdentification section in response to a KVP GET GetCapabilities request containing the optional Sections parameter with a value of ServiceIdentification.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is ServiceIdentification

  3. the response entity is a valid WMTS Service Metadata document containing only the ServiceIdentification section.

Test method Check the content of the request and response. Pass if all assertions hold; set status to "Skip" if the response entity is a valid WMTS Service Metadata document containing all sections; fail otherwise.
Reference
Test type Capability

Table 18.9. Server KVP GET - GetCapabilities Request - Optional parameter - Sections - value = ServiceProvider

Test case identifier Server.KVP.GET.GetCapabilities.Request.Sections.ServiceProvider
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS server returns a Service Metadata document containing only the ServiceProvider section in response to a KVP GET GetCapabilities request containing the optional Sections parameter with a value of ServiceProvider.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is ServiceProvider

  3. the response entity is a valid WMTS Service Metadata document containing only the ServiceProvider section.

Test method Check the content of the request and response. Pass if all assertions hold; set status to "Skip" if the response entity is a valid WMTS Service Metadata document containing all sections; fail otherwise.
Reference
Test type Capability

Table 18.10. Server KVP GET - GetCapabilities Request - Optional parameter - Sections - value = OperationsMetadata

Test case identifier Server.KVP.GET.GetCapabilities.Request.Sections.OperationsMetadata
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS server returns a Service Metadata document containing only the OperationsMetadata section in response to a KVP GET GetCapabilities request containing the optional Sections parameter with a value of OperationsMetadata.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is OperationsMetadata

  3. the response entity is a valid WMTS Service Metadata document containing only the OperationsMetadata section.

Test method Check the content of the request and response. Pass if all assertions hold; set status to "Skip" if the response entity is a valid WMTS Service Metadata document containing all sections; fail otherwise.
Reference
Test type Capability

Table 18.11. Server KVP GET - GetCapabilities Request - Optional parameter - Sections - value = Contents

Test case identifier Server.KVP.GET.GetCapabilities.Reaquest.Sections.Contents
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS server returns a Service Metadata document containing only the Contents section in response to a KVP GET GetCapabilities request containing the optional Sections parameter with a value of Contents.

Assertions

All of the following assertions must hold for the request to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is Contents

  3. the response entity is a valid WMTS Service Metadata document containing only the Contents section.

Test method Check the content of the request and response. Pass if all assertions hold; set status to "Skip" if the response entity is a valid WMTS Service Metadata document containing all sections; fail otherwise.
Reference
Test type Capability

Table 18.12. Server KVP GET - GetCapabilities Request - Optional parameter - Sections - value = Themes

Test case identifier Server.KVP.GET.GetCapabilities.Request.Sections.Themes
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

  2. the response entity has one or more <ows:Themes><ows:Theme> elements.

Test purpose

Test that a WMTS server returns a Service Metadata document containing only the Themes section in response to a KVP GET GetCapabilities request containing the optional Sections parameter with a value of Themes.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is Themes

  3. the response entity is a valid WMTS Service Metadata document containing only the Themes section.

Test method Check the content of the request and response. Pass if all assertions hold; set status to "Skip" if the response entity is a valid WMTS Service Metadata document containing all sections; fail otherwise.
Reference
Test type Capability

Table 18.13. Server KVP GET - GetCapabilities Request - Optional parameter - Sections - value = Contents, Themes

Test case identifier Server.KVP.GET.GetCapabilities.Request.Sections.Multiple
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

  2. the response entity has one or more <ows:Themes><ows:Theme> elements.

Test purpose

Test that a WMTS server returns a Service Metadata document containing only the Contents and Themes sections in response to a KVP GET GetCapabilities request containing the optional Sections parameter with a value containing multiple sections, i.e. Contents,Themes.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is Contents,Themes

  3. the response entity is a valid WMTS Service Metadata document containing only the Contents and Themes sections.

Test method Check the content of the request and response. Pass if all assertions hold; set status to "Skip" if the response entity is a valid WMTS Service Metadata document containing all sections; fail otherwise.
Reference
Test type Capability

Table 18.14. Server KVP GET - GetCapabilities Request - Optional parameter - Sections - value = Bogus

Test case identifier Server.KVP.GET.GetCapabilities.Request.Sections.Invalid
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS server returns a valid exception report and HTTP status code in response to a KVP GET GetCapabilities request containing the optional Sections parameter with a value of Bogus.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is Bogus

  3. the response entity is a schema-valid ows:Exception document.

  4. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  5. the response entity contains a locator attribute value of "sections".

  6. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 18.15. Server KVP GET - GetCapabilities Request - Optional parameter - Sections - value = Missing

Test case identifier Server.KVP.GET.GetCapabilities.Request.Sections.Missing
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS server returns a valid exception report and HTTP status code in response to a KVP GET GetCapabilities request containing the optional Sections parameter with a missing value.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is missing

  3. the response entity is a schema-valid ows:Exception document.

  4. the response entity contains an exceptionCode attribute value of "MissingParameterValue".

  5. the response entity contains a locator attribute value of "sections".

  6. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 18.16. Server KVP GET - GetCapabilities Reaquest - Optional parameter - updateSequence

Test case identifier Server.KVP.GET.GetCapabilities.Request.UpdateSequence
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

  2. the response entity has an <ows:Capabilities element that contains an updateSequence attribute with a value.

Test purpose

Verify that a server satisfies the requirements for generating and using the updateSequence parameter.

Assertions

All of the following sets of assertions must hold for the test to pass:

  1. Operation Request and Service Metadata updateSequence values are equal

    1. the request entity is a valid KVP GET GetCapabilities request with the optional UpdateSequence parameter;

    2. the bootstrap Service Metadata document <ows:Capabilities element updateSequence attribute value is equal to the value of the request UpdateSequence parameter value.

    3. the response entity is a Service Metadata document with only version and updateSequence parameters.

  2. Operation Request updateSequence value is less than Service Metadata updateSequence value.

    1. the request entity is a valid KVP GET GetCapabilities request with the optional UpdateSequence parameter;

    2. the bootstrap Service Metadata document <ows:Capabilities element updateSequence attribute value is greater than the value of the request UpdateSequence parameter value.

    3. the response entity is the most recent Service Metadata document.

  3. Operation Request updateSequence value is greater than Service Metadata updateSequence value.

    1. the request entity is a valid KVP GET GetCapabilities request with the optional UpdateSequence parameter;

    2. the bootstrap Service Metadata document <ows:Capabilities element updateSequence attribute value is less than the value of the request UpdateSequence parameter value.

    3. the response entity is a schema-valid ows:Exception document.

    4. the response entity contains an exceptionCode attribute value of "InvalidUpdateSequence".

    5. the response entity does not contain a locator attribute.

    6. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Check the content of the requests and responses. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 18.17. Server KVP GET - GetCapabilities Request - Optional parameter - AcceptFormats

Test case identifier Server.KVP.GET.GetCapabilities.Request.AcceptFormats.Valid
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

  2. the response entity has an <ows:Operation name="GetCapabilities"> element that contains more than one <Parameter name="AcceptFormats"><AllowedValues><Value> child elements containing the MIME types that the server can use to encode a Service Metadata document. At lease one of these MIME types is not application/xml

Test purpose

Verify that a server satisfies the requirements for format selection, if the server implements the AcceptFormats request parameter.

Assertions

All of the following sets of assertions must hold for the test to pass:

  1. Request AcceptFormats parameter value is supported by the server.

    1. the request entity is a valid KVP GET GetCapabilities request with the optional AcceptFormats parameter with a value that is listed in a <Parameter name="AcceptFormats"><AllowedValues><Value> child element in the Service Metadata;

    2. the response entity is a valid Service Metadata document encoded in the requested format.

  2. Request AcceptFormats parameter value is not supported by the server.

    1. the request entity is a valid KVP GET GetCapabilities request with the optional AcceptFormats parameter with a value that is not listed in a <Parameter name="AcceptFormats"><AllowedValues><Value> child element in the Service Metadata;

    2. the response entity is a valid Service Metadata document encoded as application/xml.

Test method Check the content of the requests and responses. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 18.18. Server KVP GET - GetCapabilities - Response Service Metadata document XML is well-formed

Test case identifier Server.KVP.GET.GetCapabilities.Response.XML.Well.Formed
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetCapabilities"> element that contains a <ows:DCP><ows:HTTP><ows:Get><ows:Constraint name="GetEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS server responds to a KVP GET GetCapabilities request with mandatory parameters with a Service Metadata document that is well-formed XML.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

  2. the request entity is a valid KVP GET GetCapabilities request with the mandatory service parameter with a value of WMTS;

  3. the response entity is a well-formed XML document.

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 18.19. Server KVP GET - GetCapabilities - Response Service Metadata document references normative schema

Test case identifier Server.KVP.GET.GetCapabilities.Response.SchemaReferenced
Prerequisites

XML Well-Formed Server KVP GET - GetCapabilities

  1. the response entity is a well-formed XML document.

Test purpose

Test that a WMTS server responds to a KVP GET GetCapabilities request with mandatory parameters with a Service Metadata document that references the normative XML schema.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

  2. the request entity is a valid KVP GET GetCapabilities request with the mandatory service parameter with a value of WMTS;

  3. the response entity references a normative (wmts.xsd or wmtsGetCapabilities_response.xsd) XML schema.

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 18.20. Server KVP GET - GetCapabilities - Response Service Metadata document is schema-valid

Test case identifier Server.KVP.GET.GetCapabilities.Response.SchemaValid
Prerequisites

Schema Referenced Server KVP GET - GetCapabilities

  1. the response entity references a normative (wmts.xsd or wmtsGetCapabilities_response.xsd) XML schema.

Test purpose

Test that a WMTS server responds to a KVP GET GetCapabilities request with mandatory parameters with a Service Metadata document that is schema-valid with respect to the normative XML schema.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

  2. the request entity is a valid KVP GET GetCapabilities request with the mandatory service parameter with a value of WMTS;

  3. the response entity is schema-valid with respect to a normative(wmts.xsd or wmtsGetCapabilities_response.xsd) XML schema.

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 18.21. Server KVP GET - GetCapabilities - Response Advertised Format application/xml

Test case identifier Server.KVP.GET.GetCapabilities.Response.AdvertisedFormat
Prerequisites

Schema Valid Server KVP GET - GetCapabilities

  1. the response entity is schema-valid with respect to a normative(wmts.xsd or wmtsGetCapabilities_response.xsd) XML schema.

Test purpose

Verify that the WMTS server advertises the application/xml format for the GetCapabilities operation.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

  2. the request entity is a valid KVP GET GetCapabilities request with the mandatory service parameter with a value of WMTS;

  3. the response entity contains an optional <Parameter name="AcceptFormats"><AllowedValues><Value> child element with the value application/xml for the <ows:Operation name="GetCapabilities"> operation.

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 18.22. Server KVP GET - GetCapabilities - Response OnlineResource is only resource prefix

Test case identifier Server.KVP.GET.GetCapabilities.Response.OnlineResource
Prerequisites

Schema Valid Server KVP GET - GetCapabilities

  1. the response entity is schema-valid with respect to a normative(wmts.xsd or wmtsGetCapabilities_response.xsd) XML schema.

Test purpose

Verify that each OnlineResource URL intended for HTTP Get requests in the ServiceMetadata document is a URL prefix.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

  2. the request entity is a valid KVP GET GetCapabilities request with the mandatory service parameter with a value of WMTS;

  3. the response entity <ows:Operation><ows:DCP><ows:HTTP><ows:Get> xlink:href attribute values are all URL prefixes.

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 18.23. Server KVP GET - GetCapabilities - Response includes GetEncoding constraint

Test case identifier Server.KVP.GET.GetCapabilities.Response.GetEncoding.Constraint
Prerequisites

Schema Valid Server KVP GET - GetCapabilities

  1. the response entity is schema-valid with respect to a normative(wmts.xsd or wmtsGetCapabilities_response.xsd) XML schema.

Test purpose

Verify that a server satisfies the requirements for using the ows:Constraint GetEncoding parameter.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

  2. the request entity is a valid KVP GET GetCapabilities request with the mandatory service parameter with a value of WMTS;

  3. the response entity <ows:Operation><ows:DCP><ows:HTTP><ows:Get><ows:Constraint> element name attribute has a value of "GetEncoding" and a grandchild <ows:AllowedValues><ows:Value> element with a value of "KVP".

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability


Table 18.24. Server KVP GET - GetCapabilities - Response Layer Identifiers are unique

Test case identifier Server.KVP.GET.GetCapabilities.Response.Layer.Identifiers.Unique
Prerequisites

Schema Valid Server KVP GET - GetCapabilities

  1. the response entity is schema-valid with respect to a normative(wmts.xsd or wmtsGetCapabilities_response.xsd) XML schema.

Test purpose

Verify that the WMTS Layers advertised in the Service Metadata document have different non empty identifiers.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

  2. the request entity is a valid KVP GET GetCapabilities request with the mandatory service parameter with a value of WMTS;

  3. the response entity <Contents><Layer><ows:Identifier> element text values are all different non empty identifiers.

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



Table 18.25. Server KVP GET - GetCapabilities - Response with no Layers contains otherSource URL

Test case identifier Server.KVP.GET.GetCapabilities.Response.No.Layers.OtherSource
Prerequisites

Schema Valid Server KVP GET - GetCapabilities

  1. the response entity is schema-valid with respect to a normative(wmts.xsd or wmtsGetCapabilities_response.xsd) XML schema.

  2. the response entity does not contain any <Layer> elements.

Test purpose

Verify that a Service Metadata document with no <Layer> elements contains an xlink:href URL attribute value.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

  2. the request entity is a valid KVP GET GetCapabilities request with the mandatory service parameter with a value of WMTS;

  3. the response entity contains an <ows:OtherSource> element with an xlink:href URL attribute value.

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability


Table 18.26. Server KVP GET - GetCapabilities - Response Style Identifiers are unique for each Layer

Test case identifier Server.KVP.GET.GetCapabilities.Response.Style.Identifiers.Unique
Prerequisites

Schema Valid Server KVP GET - GetCapabilities

  1. the response entity is schema-valid with respect to a normative(wmts.xsd or wmtsGetCapabilities_response.xsd) XML schema.

Test purpose

Verify that the WMTS Styles advertised in the Service Metadata document for each Layer have different non empty identifiers.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

  2. the request entity is a valid KVP GET GetCapabilities request with the mandatory service parameter with a value of WMTS;

  3. the response entity <Contents><Layer><Style><ows:Identifier> element text values are all different non empty identifiers for each Layer.

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



Table 18.27. Server KVP GET - GetCapabilities - Response Layer LegendURLs are correct resources

Test case identifier Server.KVP.GET.GetCapabilities.Response.Layer.LegendURL.Correct.Resource
Prerequisites

Schema Valid Server KVP GET - GetCapabilities

  1. the response entity is schema-valid with respect to a normative(wmts.xsd or wmtsGetCapabilities_response.xsd) XML schema.

Test purpose

Verify that the metadata for each of the LegendURL resources is correct.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

  2. the request entity is a valid KVP GET GetCapabilities request with the mandatory service parameter with a value of WMTS;

  3. the response entity <Contents><Layer><Style><LegendURL> elements must have valid values for the following attributes:

    1. format - must be a MIME type supported output format for the legend image

    2. xlink:href - must reference an image of the specified format.

    3. minScaleDenominator - must be the denominator of the minimum scale (inclusive) for which this legend image is valid, and must equal a <wmts:ScaleDenominator> from one of the <wmts:TileMatrix>s from one of the <wmts:TileMatrixSet>s for the <wmts:Layer>.

    4. maxScaleDenominator - must be the denominator of the maximum scale (exclusive) for which this legend image is valid, and must equal a <wmts:ScaleDenominator> from one of the <wmts:TileMatrix>s from one of the <wmts:TileMatrixSet>s for the <wmts:Layer>.

    5. width - must be the width (in pixels) of the legend image

    6. height - must be the height (in pixels) of the legend image

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



Table 18.28. Server KVP GET - GetCapabilities - Response Layer LegendURLs are correct formats

Test case identifier Server.KVP.GET.GetCapabilities.Response.Layer.LegendURL.Correct.Format
Prerequisites

Legend URL Metadata Server KVP GET - GetCapabilities

  1. the metadata for each of the LegendURL resources is correct.

Test purpose

Verify that the MIME-type returned for the LegendURL resource is the advertised format.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

  2. the request entity is a valid KVP GET GetCapabilities request with the mandatory service parameter with a value of WMTS;

  3. legend images referenced via the response entity <Contents><Layer><Style><LegendURL> element xlink:href attributes must have the formats specified in the format attributes.

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



Table 18.29. Server KVP GET - GetCapabilities - Response Layer LegendURLs are correct sizes

Test case identifier Server.KVP.GET.GetCapabilities.Response.Layer.LegendURL.Correct.Size
Prerequisites

Legend URL Metadata Server KVP GET - GetCapabilities

  1. the metadata for each of the LegendURL resources is correct.

Test purpose

Verify that the size of the LegendURL resource is the advertised width and the advertised height.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

  2. the request entity is a valid KVP GET GetCapabilities request with the mandatory service parameter with a value of WMTS;

  3. legend images referenced via the response entity <Contents><Layer><Style><LegendURL> element xlink:href attributes must have the sizes specified in the width and heigth attributes.

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



Table 18.30. Server KVP GET - GetCapabilities - Response Dimension Identifiers are unique for each Layer

Test case identifier Server.KVP.GET.GetCapabilities.Response.Dimension.Identifiers.Unique
Prerequisites

Schema Valid Server KVP GET - GetCapabilities

  1. the response entity is schema-valid with respect to a normative(wmts.xsd or wmtsGetCapabilities_response.xsd) XML schema.

Test purpose

Verify that the WMTS Dimensions advertised in the Service Metadata document for each Layer have different non empty identifiers.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

  2. the request entity is a valid KVP GET GetCapabilities request with the mandatory service parameter with a value of WMTS;

  3. the response entity <Contents><Layer><Dimension><ows:Identifier> element text values are all different non empty identifiers for each Layer.

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



Table 18.31. Server KVP GET - GetCapabilities - Response Layer TileMatrixSets are valid

Test case identifier Server.KVP.GET.GetCapabilities.Response.Layer.TileMatrixSet.Valid
Prerequisites

Schema Valid Server KVP GET - GetCapabilities

  1. the response entity is schema-valid with respect to a normative(wmts.xsd or wmtsGetCapabilities_response.xsd) XML schema.

Test purpose

Verify that Layer TileMatrixSet contains a correct identifier.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

  2. the request entity is a valid KVP GET GetCapabilities request with the mandatory service parameter with a value of WMTS;

  3. the response entity <Contents><Layer><TileMatrixSetLink><TileMatrixSet> element text values refer to <Contents><TileMatrixSet><ows:Identifier> element text values.

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



Table 18.32. Server KVP GET - GetCapabilities - Response TileMatrixSet identifiers are unique

Test case identifier Server.KVP.GET.GetCapabilities.Response.TileMatrixSet.Identifiers.Unique
Prerequisites

Schema Valid Server KVP GET - GetCapabilities

  1. the response entity is schema-valid with respect to a normative(wmts.xsd or wmtsGetCapabilities_response.xsd) XML schema.

Test purpose

Verify that TileMatrixSet elements have different non empty identifiers.

Assertions

All of the following assertions must hold for the response to be valid:

  1. the request entity is a valid KVP GET GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

  2. the request entity is a valid KVP GET GetCapabilities request with the mandatory service parameter with a value of WMTS;

  3. the response entity <Contents><TileMatrixSet><ows:Identifier> element text values are non-empty and unique.

Test method Check the content of the request and response. Pass if all assertions hold; fail otherwise.
Reference