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
Test type Capability


Table 18.33. Server KVP GET - GetCapabilities - Response TileMatrix identifiers are unique

Test case identifier Server.KVP.GET.GetCapabilities.Response.TileMatrix.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 TileMatrix 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><TileMatrix><ows:Identifier> element text values are non-empty and unique within each <TileMatrixSet>.

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



Table 18.34. Server KVP GET - GetCapabilities - Response TileMatrixSet ScaleDenominators are unique

Test case identifier Server.KVP.GET.GetCapabilities.Response.TileMatrixSet.ScaleDenominators.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 each tileMatrix of a tileMatrixSet has a unique (different) scaleDenominator.

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><TileMatrix><ScaleDenominator> element text values are non-empty and unique for each <TileMatrixSet>.

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



Table 18.35. Server KVP GET - GetCapabilities - Response TileMatrixSet WellKnownScaleSets are compatible with CRS and ScaleDenominator values

Test case identifier Server.KVP.GET.GetCapabilities.Response.TileMatrixSet.WellKnownScaleSet
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 must contain at least one <Contents><TileMatrixSet><WellKnownScaleSet> element with one of the following values:

    • urn:ogc:def:wkss:OGC:1.0:GlobalCRS84Scale
    • urn:ogc:def:wkss:OGC:1.0:GlobalCRS84Pixel
    • urn:ogc:def:wkss:OGC:1.0:GoogleCRS84Quad
    • urn:ogc:def:wkss:OGC:1.0:GoogleMapsCompatible
Test purpose

Verify that a WellKnownScaleSet is compatible with ScaleDenominator values.

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 <TileMatrixSet><SupportedCRS> element value must match the CRS for the well known scale set:

    Well Known Scale Set Coordinate Reference System (CRS)
    urn:ogc:def:wkss:OGC:1.0:GlobalCRS84Scale urn:ogc:def:crs:OGC:1.3:CRS84
    urn:ogc:def:wkss:OGC:1.0:GlobalCRS84Pixel urn:ogc:def:crs:OGC:1.3:CRS84
    urn:ogc:def:wkss:OGC:1.0:GoogleCRS84Quad urn:ogc:def:crs:OGC:1.3:CRS84
    urn:ogc:def:wkss:OGC:1.0:GoogleMapsCompatible urn:ogc:def:crs:EPSG:6.18:3:3857
  4. each <Contents><TileMatrixSet> in the response entity that contains a <WellKnownScaleSet> must have <TileMatrix> elements with <ScaleDenominator> element text values for each <TileMatrixSet> starting from the largest scale denominator in the WellKnownScaleSet table in Annex E, and all intermediate scales denominators down to some ScaleDenominator minimum value for Layers that reference the TileMatrixSet.

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



Table 18.36. Server KVP GET - GetCapabilities - Response Theme LayerRef valid

Test case identifier Server.KVP.GET.GetCapabilities.Response.Theme.LayerRef.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.

  2. the response entity contains at least one <Theme><LayerRef> element.

Test purpose

Verify that each Theme LayerRef element text value is equal to a Layer identifier in the content section.

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 <Themes><Theme><LayerRef> element text values refer to <Contents><Layer><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



19. Server KVP GET Interface - Mandatory GetTile Operation

Purpose

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

List of Tables

19.1. Server KVP GET - GetTile - Mandatory parameters
19.2. Server KVP GET - GetTile - Optional parameter - sample dimensions
19.3. Server KVP GET - GetTile - Missing mandatory parameters
19.4. Server KVP GET - GetTile - Invalid Layer
19.5. Server KVP GET - GetTile - Invalid TileMatrixSet
19.6. Server KVP GET - GetTile - Invalid TileMatrix
19.7. Server KVP GET - GetTile - Invalid Tile Row - no TileMatrixSetLimits
19.8. Server KVP GET - GetTile - Invalid Tile Col - no TileMatrixSetLimits
19.9. Server KVP GET - GetTile - Invalid Tile Row - TileMatrixSetLimits
19.10. Server KVP GET - GetTile - Invalid Tile Col - TileMatrixSetLimits
19.11. Server KVP GET - GetTile - Invalid Tile Style
19.12. Server KVP GET - GetTile - Missing optional parameters
19.13. Server KVP GET - GetTile - Invalid Sample Dimension Name
19.14. Server KVP GET - GetTile - Invalid Sample Dimension Value
19.15. Server KVP GET - GetTile - Default Sample Dimension
19.16. Server KVP GET - GetTile - Current Sample Dimension
19.17. Server KVP GET - GetTile - Valid Tile Format
19.18. Server KVP GET - GetTile - Invalid Tile Format
19.19. Server KVP GET - GetTile - Valid Tile Size
19.20. Server KVP GET - GetTile - Valid Tile Transparency

Table 19.1. Server KVP GET - GetTile - Mandatory parameters

Test case identifier Server.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 <wmts:Layer>s with no <wmts:Dimension> or with every <wmtsDimension> with a <wmts:Default> dimension value.

Test purpose

Test that a WMTS server can return tiles advertised in its Service Metadata document in response to valid KVP GET GetTile requests with valid values for mandatory parameters as specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the responses 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 for a layer with no sample dimensions or with every sample dimension having a default value;

  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 server returns a tile in response to a valid KVP GET GetTile request for each tile 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 Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain tile resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 19.2. Server KVP GET - GetTile - Optional Parameter - sample dimensions

Test case identifier Server.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 server can return tiles advertised in its Service Metadata document in response to valid KVP GET GetTile requests with optional sample dimensions parameter valid values from the range specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the responses 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 other 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 other sample dimensions parameter with a value from one of the <Dimension><Value> elements for the specified Dimension from the Service Metadata document.

  15. the server returns a tile in response to a valid KVP GET GetTile request for each tile 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 Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain tile resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 19.3. Server KVP GET - GetTile - Missing mandatory parameters

Test case identifier Server.KVP.GET.GetTile.Missing
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 <wmts:Layer>s with no <wmts:Dimension> or with every <wmtsDimension> with a <wmts:Default> dimension value.

Test purpose

Verify that if a mandatory KVP GET GetTile parameter is missing from an otherwise valid request, the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with no sample dimensions or with every sample dimension having a default value, except when tested as missing;

  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, except when tested as missing;

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

  7. the request entity is a valid KVP GET GetTile request with the mandatory TileMatrixSet parameterwith a TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing.

  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, except when tested as missing.

  13. the response entity is a schema-valid ows:Exception document.

  14. the response entity contains an exceptionCode attribute value of "MissingParameterValue".

  15. the response entity contains a locator attribute value of the name of the missing parameter.

  16. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate test requests with one of the following parameters missing, and other parameter values valid using the contents of Service Metadata document.
  • Layer
  • Style
  • Format
  • TileMatrixSet
  • TileMatrix
  • Row
  • Col
Check that responses contain valid exception reports. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 19.4. Server KVP GET - GetTile - Invalid Layer

Test case identifier Server.KVP.GET.GetTile.Invalid.Layer
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".

    the response entity has one or more <Layer> elements.

Test purpose

Verify that when a GetTile request contains a Layer incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 not listed in 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 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 response entity is a schema-valid ows:Exception document.

  14. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  15. the response entity contains a locator attribute value of "layer".

  16. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 19.5. Server KVP GET - GetTile - Invalid TileMatrixSet

Test case identifier Server.KVP.GET.GetTile.Invalid.TileMatrixSet
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 <TileMatrixSet> elements.

Test purpose

Verify that when a GetTile request contains a TileMatrixSet incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 not listed in 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 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 response entity is a schema-valid ows:Exception document.

  14. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  15. the response entity contains a locator attribute value of "TileMatrixSet".

  16. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 19.6. Server KVP GET - GetTile - Invalid TileMatrix

Test case identifier Server.KVP.GET.GetTile.Invalid.TileMatrix
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 <TileMatrix> elements.

Test purpose

Verify that when a GetTile request contains a TileMatrix incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 not listed in 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 some 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 some TileMatrix from the Service Metadata document;

  11. the response entity is a schema-valid ows:Exception document.

  12. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  13. the response entity contains a locator attribute value of "TileMatrix".

  14. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 19.7. Server KVP GET - GetTile - Invalid Row - no TileMatrixSetLimits

Test case identifier Server.KVP.GET.GetTile.Invalid.Tile.Row.No.TileMatrixSetLimits
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 advertises a Layer with no TileMatrixSetLimits.

Test purpose

Verify that when a GetTile request contains a Row incorrect value for a tile in a Layer with no TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 greater than the MatrixHeight in the TileMatrix for the tile in 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 response entity is a schema-valid ows:Exception document.

  12. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  13. the response entity contains a locator attribute value of "TileRow".

  14. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 19.8. Server KVP GET - GetTile - Invalid Col - no TileMatrixSetLimits

Test case identifier Server.KVP.GET.GetTile.Invalid.Tile.Col.No.TileMatrixSetLimits
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 advertises a Layer with no TileMatrixSetLimits.

Test purpose

Verify that when a GetTile request contains a Col incorrect value for a tile in a Layer with no TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 greater than the MatrixWidth for the TileMatrix of the tile in the Service Metadata document;

  11. the response entity is a schema-valid ows:Exception document.

  12. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  13. the response entity contains a locator attribute value of "TileCol".

  14. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 19.9. Server KVP GET - GetTile - Invalid Row - TileMatrixSetLimits

Test case identifier Server.KVP.GET.GetTile.Invalid.Tile.Row.TileMatrixSetLimits
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 advertises a Layer with TileMatrixSetLimits.

Test purpose

Verify that when a GetTile request contains a Row incorrect value for a tile in a Layer with TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 outside of the TileMatrixLimits MinTileRow and MaxTileRow values for the TileMatrix of the tile in 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 within the TileMatrixLimits MinTileCol and MaxTileCol values for the TileMatrix of the tile in the Service Metadata document;

  11. the response entity is a schema-valid ows:Exception document.

  12. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  13. the response entity contains a locator attribute value of "TileRow".

  14. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 19.10. Server KVP GET - GetTile - Invalid Col - TileMatrixSetLimits

Test case identifier Server.KVP.GET.GetTile.Invalid.Tile.Col.TileMatrixSetLimits
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 advertises a Layer with TileMatrixSetLimits.

Test purpose

Verify that when a GetTile request contains a Col incorrect value for a tile in a Layer with TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 parameter with a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values for the TileMatrix of the tile in 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 outside of the TileMatrixLimits MinTileCol and MaxTileCol values for the TileMatrix of the tile in the Service Metadata document;

  11. the response entity is a schema-valid ows:Exception document.

  12. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  13. the response entity contains a locator attribute value of "TileCol".

  14. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 19.11. Server KVP GET - GetTile - Invalid Style

Test case identifier Server.KVP.GET.GetTile.Invalid.Tile.Style
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".

Test purpose

Verify that when GetTile a request contains a Style incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 not listed in the Service Metadata document;

  6. the request entity is a valid KVP GET GetTile request with the mandatory format parameter 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 response entity is a schema-valid ows:Exception document.

  14. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  15. the response entity contains a locator attribute value of "Style".

  16. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 19.12. Server KVP GET - GetTile - Missing Optional Parameters

Test case identifier Server.KVP.GET.GetTile.Missing.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 one or more <Dimension>s with no <Default> value.

Test purpose

Verify that when a GetTile request for a tile from a layer with a sample dimension with no default sample dimension value is missing a request parameter for the sample dimension name, that the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with a sample dimension with no default value;

  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 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 without an optional sample dimensions parameter for a sample dimension without a default value that is specified in the <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document for the specified layer.

  14. the response entity is a schema-valid ows:Exception document.

  15. the response entity contains an exceptionCode attribute value of "MissingParameterValue".

  16. the response entity contains a locator attribute value of the name of the sample dimension.

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 19.13. Server XML POST - GetTile - Invalid Sample Dimension Name

Test case identifier Server.KVP.GET.GetTile.Invalid.SampleDimension.Name
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 one or more <Dimension>s.

Test purpose

Verify that when a GetTile request contains the name not defined as a sample dimension, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 that is not specified in a <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document;

  14. the request entity is a valid KVP GET GetTile request with an optional sample dimensions parameter with any value.

  15. the response entity is a schema-valid ows:Exception document.

  16. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  17. the response entity contains a locator attribute value of the name of the sample dimension.

  18. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 19.14. Server KVP GET - GetTile - Invalid Sample Dimension Value

Test case identifier Server.KVP.GET.GetTile.Invalid.SampleDimension.Value
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 one or more <Dimension>s.

Test purpose

Verify that when a GetTile request contains a parameter name defined as a sample dimension with a value that is not defined for that dimension in the Service Metadata document, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 that is specified in a <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document;

  14. the request entity is a valid KVP GET GetTile request with an optional sample dimensions parameter with a value that is not specified in a <Contents><Layer><Dimension><Value> in the Service Metadata document for that sample dimension.

  15. the response entity is a schema-valid ows:Exception document.

  16. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  17. the response entity contains a locator attribute value of the name of the sample dimension for which an invalid value was supplied in the request.

  18. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 19.15. Server KVP GET - GetTile - Default Sample Dimension

Test case identifier Server.KVP.GET.GetTile.Default.SampleDimension
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 one or more <Dimension>s with a <Default> element text value.

Test purpose

Test that a WMTS server can return tiles in response to valid KVP GET GetTile requests with optional sample dimensions parameter with the "default" values specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the responses 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 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 specified in the Service Metadata document;

  14. the request entity is a valid KVP GET GetTile request with an optional sample dimensions parameter with a value of "default".

  15. the server returns a tile from a Layer with a sample dimension with a default value in response to the KVP GET GetTile request.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain the default tile resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 19.16. Server KVP GET - GetTile - Current Sample Dimension

Test case identifier Server.KVP.GET.GetTile.Current.SampleDimension
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 one or more <Dimension>s with a <Current> element text value.

Test purpose

Test that a WMTS server can return tiles in response to valid KVP GET GetTile requests with optional sample dimensions parameter with the "current" values specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the responses 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 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 specified in the Service Metadata document;

  14. the request entity is a valid KVP GET GetTile request with an optional sample dimensions parameter with a value of "current".

  15. the server returns a tile from a Layer with a sample dimension with a current value in response to the KVP GET GetTile request.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain the current tile resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 19.17. Server KVP GET - GetTile - Valid Tile Format

Test case identifier Server.KVP.GET.GetTile.Valid.Tile.Format
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".

Test purpose

Test that the tiles returned by a WMTS server in response to valid KVP GET GetTile requests with the tile formats advertised in the Service Metadata Document for each layer, and each sample dimension if applicable, are in the MIME types of the requested formats.

Assertions

All of the following assertions must hold for the responses 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 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 for a layer with sample dimensions 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 for a layer with sample dimensions 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 server returns a tile in the MIME type corresponding to the requested format from each format for each Layer (and sample dimension, if applicable) offered by the server.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain tile resources in MIME types corresponding to the requested formats. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 19.18. Server KVP GET - GetTile - Invalid Tile Format

Test case identifier Server.KVP.GET.GetTile.Invalid.Tile.Format
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".

Test purpose

Test that the responses returned by a WMTS server to KVP GET GetTile requests with tile formats not advertised in the Service Metadata Document for each layer, and each sample dimension if applicable, are valid exception reports.

Assertions

All of the following assertions must hold for the responses 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 not advertised in 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 for a layer with sample dimensions 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 for a layer with sample dimensions 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 server returns a schema-valid ows:Exception document for an invalid (unadvertised) format for each Layer (and sample dimension, if applicable) offered by the server.

  16. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  17. the response entity contains a locator attribute value of "format".

  18. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the requests with contents of Service Metadata document, and formats not in the Service Metadata document. Check that responses contain valid exception reports and HTTP status codes. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 19.19. Server KVP GET - GetTile - Valid Tile Size

Test case identifier Server.KVP.GET.GetTile.Valid.Tile.Size
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".

Test purpose

Test that the tiles returned by a WMTS server in response to valid KVP GET GetTile requests with the tile sizes (TileWidth and TileHeight) advertised in the Service Metadata Document for each TileMatrix in the TileMatrixSet of a Layer, and for each sample dimension of Layers with Dimensions, are the advertised sizes.

Assertions

All of the following assertions must hold for the responses 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 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 for a layer with sample dimensions 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 for a layer with sample dimensions 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 server returns a tile with the width and height of the returned image equal to the advertised TileWidth and TileHeight from each TileMatrix for each TileMatrixSet for each Layer, and for each sample dimension of Layers with Dimensions. offered by the server.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain tile resources of the correct sizes. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 19.20. Server KVP GET - GetTile - Valid Tile Transparency

Test case identifier Server.KVP.GET.GetTile.Valid.Tile.Transparency
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".

Test purpose

Verify that the returned tile has transparent color for NODATA values.

Assertions

All of the following assertions must hold for the responses 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 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 parameter with a MIME type format value equal to a <Layer><InfoFormat> value for the specified Layer from the Service Metadata document for a format that supports transparency, e.g. image/png;

  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 for a layer with sample dimensions 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 for a layer with sample dimensions 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 requested entity is a tile with NODATA.

  16. the server returns a tile with NODATA in the requestred format that supports transparency, e.g. image/png as a transparent image.

Test method Send a correct request for a Layer in a format that supports transparency and in a tile where NODATA values are expected and test for transparent color there. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



20. Server KVP GET Interface - Optional GetFeatureInfo Operation

Purpose

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

List of Tables

20.1. Server KVP GET - GetFeatureInfo - Mandatory parameters
20.2. Server KVP GET - GetFeatureInfo - Optional parameter
20.3. Server KVP GET - GetFeatureInfo - Missing parameters
20.4. Server KVP GET - GetFeatureInfo - Invalid Layer
20.5. Server KVP GET - GetFeatureInfo - Invalid TileMatrixSet
20.6. Server KVP GET - GetFeatureInfo - Invalid TileMatrix
20.7. Server KVP GET - GetFeatureInfo - Invalid Tile Row - no TileMatrixSetLimits
20.8. Server KVP GET - GetFeatureInfo - Invalid Tile Col - no TileMatrixSetLimits
20.9. Server KVP GET - GetFeatureInfo - Invalid Tile Row - TileMatrixSetLimits
20.10. Server KVP GET - GetFeatureInfo - Invalid Tile Col - TileMatrixSetLimits
20.11. Server KVP GET - GetFeatureInfo - Invalid Tile Style
20.12. Server KVP GET - GetFeatureInfo - Missing optional parameters
20.13. Server KVP GET - GetFeatureInfo - Invalid Sample Dimension Name
20.14. Server KVP GET - GetFeatureInfo - Invalid Sample Dimension Value
20.15. Server KVP GET - GetFeatureInfo - Default Sample Dimension
20.16. Server KVP GET - GetFeatureInfo - Current Sample Dimension
20.17. Server KVP GET - GetFeatureInfo - Non-Queryable Layer
20.18. Server KVP GET - GetFeatureInfo - Valid InfoFormat
20.19. Server KVP GET - GetFeatureInfo - Invalid InfoFormat
20.20. Server KVP GET - GetFeatureInfo - Invalid Pixel Row J
20.21. Server KVP GET - GetFeatureInfo - Invalid Pixel Col I

Table 20.1. Server KVP GET - GetFeatureInfo - Mandatory parameters

Test case identifier Server.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 and with no <wmts:Dimension> or with every <wmtsDimension> with a <wmts:Default> dimension value.

Test purpose

Test that a WMTS server can return FeatureInfo for pixels in tiles advertised in its Service Metadata document in response to valid KVP GET GetFeatureInfo requests with valid values for mandatory parameters as 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 for a layer with <InfoFormat> elements and no sample dimensions or with every sample dimension having a default value;;

  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 server returns FeatureInfo in response to a valid KVP GET GetFeatureInfo request for sample pixels from each tile 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 Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain FeatureInfo resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 20.2. Server KVP GET - GetFeatureInfo - Optional Parameter - sample dimensions

Test case identifier Server.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 with three or more <Dimension>s.

Test purpose

Test that a WMTS server can return FeatureInfo for pixels in tiles advertised in its Service Metadata document in response to valid KVP GET GetFeatureInfo requests with optional sample dimensions parameter valid values 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 for a layer with <InfoFormat> elements;

  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 server returns FeatureInfo in response to a valid KVP GET GetFeatureInfo request for sample pixels from each tile 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 Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain FeatureInfo resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 20.3. Server KVP GET - GetFeatureInfo - Missing mandatory parameters

Test case identifier Server.KVP.GET.GetFeatureInfo.Missing
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 with no <wmts:Dimension> or with every <wmtsDimension> with a <wmts:Default> dimension value.

Test purpose

Verify that if a mandatory KVP GET GetFeatureInfo parameter is missing from an otherwise valid request, the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements and with no sample dimensions or with every sample dimension having a default value; except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing.

  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, except when tested as missing.

  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, except when tested as missing;

  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, except when tested as missing;

  15. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory format parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer from the Service Metadata document, except when tested as missing;

  16. the response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "MissingParameterValue".

  18. the response entity contains a locator attribute value of the name of the missing parameter.

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate test requests with one of the following parameters missing, and other parameter values valid using the contents of Service Metadata document.
  • Layer
  • Style
  • Format
  • TileMatrixSet
  • TileMatrix
  • Row
  • Col
  • J
  • I
  • InfoFormat
Check that responses contain valid exception reports. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 20.4. Server KVP GET - GetFeatureInfo - Invalid Layer

Test case identifier Server.KVP.GET.GetFeatureInfo.Invalid.Layer
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

Verify that when a GetFeatureInfo request contains a Layer incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 not 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 InfoFormat parameter with a MIME type format value equal to a <Layer><InfoFormat> 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 response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  18. the response entity contains a locator attribute value of "layer".

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 20.5. Server KVP GET - GetFeatureInfo - Invalid TileMatrixSet

Test case identifier Server.KVP.GET.GetFeatureInfo.Invalid.TileMatrixSet
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

Verify that when a GetFeatureInfo request contains a TileMatrixSet incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 not listed in 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 a 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 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;

  12. 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;

  13. 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;

  14. the response entity is a schema-valid ows:Exception document.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileMatrixSet".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 20.6. Server KVP GET - GetFeatureInfo - Invalid TileMatrix

Test case identifier Server.KVP.GET.GetFeatureInfo.Invalid.TileMatrix
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 a <TileMatrixSetLink> to a <TileMatrixSet> with two or more <TileMatrix> elements.

Test purpose

Verify that when a GetFeatureInfo request contains a TileMatrix incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 not listed in 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 some 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 some TileMatrix from the Service Metadata document;

  11. 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 some TileMatrix from the Service Metadata document;

  12. 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 some TileMatrix from the Service Metadata document;

  13. 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;

  14. the response entity is a schema-valid ows:Exception document.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileMatrix".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 20.7. Server KVP GET - GetFeatureInfo - Invalid Row - no TileMatrixSetLimits

Test case identifier Server.KVP.GET.GetFeatureInfo.Invalid.Tile.Row.No.TileMatrixSetLimits
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 a <TileMatrixSetLink> with no <TileMatrixSetLimits>.

Test purpose

Verify that when a GetFeatureInfo request contains a Row incorrect value for a tile in a Layer with no TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 greater than the MatrixHeight in the TileMatrix for the tile in 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 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;

  12. 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;

  13. 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;

  14. the response entity is a schema-valid ows:Exception document.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileRow".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 20.8. Server KVP GET - GetFeatureInfo - Invalid Col - no TileMatrixSetLimits

Test case identifier Server.KVP.GET.GetFeatureInfo.Invalid.Tile.Col.No.TileMatrixSetLimits
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 a <TileMatrixSetLink> with no <TileMatrixSetLimits>.

Test purpose

Verify that when a GetFeatureInfo request contains a Col incorrect value for a tile in a Layer with no TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 greater than the MatrixWidth for the TileMatrix of the tile in the Service Metadata document;

  11. 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;

  12. 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;

  13. 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;

  14. the response entity is a schema-valid ows:Exception document.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileCol".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 20.9. Server KVP GET - GetFeatureInfo - Invalid Row - TileMatrixSetLimits

Test case identifier Server.KVP.GET.GetFeatureInfo.Invalid.Tile.Row.TileMatrixSetLimits
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 a <TileMatrixSetLink> with <TileMatrixSetLimits>.

Test purpose

Verify that when a GetFeatureInfo request contains a Row incorrect value for a tile in a Layer with TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 outside of the TileMatrixLimits MinTileRow and MaxTileRow values for the TileMatrix of the tile in 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 within the TileMatrixLimits MinTileCol and MaxTileCol values for the TileMatrix of the tile in the Service Metadata document;

  11. 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;

  12. 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;

  13. 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;

  14. the response entity is a schema-valid ows:Exception document.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileRow".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 20.10. Server KVP GET - GetFeatureInfo - Invalid Col - TileMatrixSetLimits

Test case identifier Server.KVP.GET.GetFeatureInfo.Invalid.Tile.Col.TileMatrixSetLimits
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 a <TileMatrixSetLink> with <TileMatrixSetLimits>.

Test purpose

Verify that when a GetFeatureInfo request contains a Col incorrect value for a tile in a Layer with TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 within the TileMatrixLimits MinTileRow and MaxTileRow values for the TileMatrix of the tile in 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 outside of the TileMatrixLimits MinTileCol and MaxTileCol values for the TileMatrix of the tile in the Service Metadata document;

  11. 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;

  12. 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;

  13. 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;

  14. the response entity is a schema-valid ows:Exception document.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileCol".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 20.11. Server KVP GET - GetFeatureInfo - Invalid Style

Test case identifier Server.KVP.GET.GetFeatureInfo.Invalid.Tile.Style
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

Verify that when GetFeatureInfo a request contains a Style incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  5. the request entity is a valid KVP GET GetFeatureInfo request with the mandatory Style parameter with a style identifier value not listed in 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 response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  18. the response entity contains a locator attribute value of "Style".

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 20.12. Server KVP GET - GetFeatureInfo - Missing Optional Parameters

Test case identifier Server.KVP.GET.GetFeatureInfo.Missing.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 with one or more <InfoFormat>s and one or more <Dimension>s with no <Default> value.

Test purpose

Verify that when a GetFeatureInfo request for a tile from a layer with a sample dimension with no default sample dimension value is missing a request parameter for the sample dimension name, that the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with a sample dimension with no default value;

  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 parameter with a MIME type format value equal to an <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 without an optional sample dimensions parameter for a sample dimension without a default value that is specified in the <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document for the specified layer.

  16. the response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "MissingParameterValue".

  18. the response entity contains a locator attribute value of the name of the sample dimension.

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 20.13. Server KVP GET - GetFeatureInfo - Invalid Sample Dimension Name

Test case identifier Server.KVP.GET.GetFeatureInfo.Invalid.SampleDimension.Name
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 one or more <Dimension>s.

Test purpose

Verify that when a GetFeatureInfo request contains the name not defined as a sample dimension, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 request entity is a valid KVP GET GetFeatureInfo request with an optional sample dimensions parameter with a name that is not specified in a <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document;

  17. the request entity is a valid KVP GET GetFeatureInfo request with an optional sample dimensions parameter with any value.

  18. the response entity is a schema-valid ows:Exception document.

  19. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  20. the response entity contains a locator attribute value of the name of the sample dimension.

  21. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 20.14. Server KVP GET - GetFeatureInfo - Invalid Sample Dimension Value

Test case identifier Server.KVP.GET.GetFeatureInfo.Invalid.SampleDimension.Value
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 one or more <Dimension>s.

Test purpose

Verify that when a GetFeatureInfo request contains a parameter name defined as a sample dimension with a value that is not defined for that dimension in the Service Metadata document, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 request entity is a valid KVP GET GetFeatureInfo request with an optional sample dimensions parameter with a name that is specified in a <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document;

  17. the request entity is a valid KVP GET GetFeatureInfo request with an optional sample dimensions parameter with a value that is not specified in a <Contents><Layer><Dimension><Value> in the Service Metadata document for that sample dimension.

  18. the response entity is a schema-valid ows:Exception document.

  19. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  20. the response entity contains a locator attribute value of the name of the sample dimension for which an invalid value was supplied in the request.

  21. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 20.15. Server KVP GET - GetFeatureInfo - Default Sample Dimension

Test case identifier Server.KVP.GET.GetFeatureInfo.Default.SampleDimension
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 one or more <Dimension>s with a <Default> element text value.

Test purpose

Test that a WMTS server can return tiles in response to valid KVP GET GetFeatureInfo requests with optional sample dimensions parameter with the "default" values specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 request entity is a valid KVP GET GetFeatureInfo request with an optional sample dimensions parameter with a name specified in the Service Metadata document;

  17. the request entity is a valid KVP GET GetFeatureInfo request with an optional sample dimensions parameter with a value of "default".

  18. the server returns FeatureInfo from a Layer with a sample dimension with a default value in response to the KVP GET GetFeatureInfo request.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain FeatureInfo for the specified pixel for the specified tile for the default sample dimension. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 20.16. Server KVP GET - GetFeatureInfo - Current Sample Dimension

Test case identifier Server.KVP.GET.GetFeatureInfo.Current.SampleDimension
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 one or more <Dimension>s with a <Current> element text value.

Test purpose

Test that a WMTS server can return tiles in response to valid KVP GET GetFeatureInfo requests with optional sample dimensions parameter with the "current" values specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 request entity is a valid KVP GET GetFeatureInfo request with an optional sample dimensions parameter with a name specified in the Service Metadata document;

  17. the request entity is a valid KVP GET GetFeatureInfo request with an optional sample dimensions parameter with a value of "current".

  18. the server returns FeatureInfo from a Layer with a sample dimension with a current value in response to the KVP GET GetFeatureInfo request.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain FeatureInfo for the specified pixel for the specified tile for the default sample dimension. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 20.17. Server KVP GET - GetFeatureInfo - Non-Queryable Layer

Test case identifier Server.KVP.GET.GetFeatureInfo.NonQueryable.Layer
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 no <InfoFormat>s.

Test purpose

Verify that when a GetFeatureInfo request is made for a non-queryable layer, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 wwith a layer identifier value equal to a <Layer><ows:Identifier> value from the Service Metadata document for a layer with no <InfoFormat> elements;

  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 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 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 any value;

  16. the response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "OperationNotSupported".

  18. the response entity contains a locator attribute value of "GetFeatureInfo".

  19. the HTTP status code value is set to 501, corresponding to the message "Not Implemented".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 20.18. Server KVP GET - GetFeatureInfo - Valid InfoFormat

Test case identifier Server.KVP.GET.GetFeatureInfo.Valid.InfoFormat
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

Verify that for each GetFeatureInfo format, when the InfoFormat parameter is set to that format or URLtemplate having a format parameter, the MIME type of the response matches that format.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 that is one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the server returns FeatureInfo in response to a valid KVP GET GetFeatureInfo request for each offered InfoFormat for each Layer with a FeatureInfo document of the requested InfoFormat MIME type.

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 20.19. Server KVP GET - GetFeatureInfo - Invalid InfoFormat

Test case identifier Server.KVP.GET.GetFeatureInfo.Invalid.InfoFormat
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

Verify that when a GetFeature request contains an InfoFormat incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 that is not one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "OperationNotSupported".

  18. the response entity contains a locator attribute value of "GetFeatureInfo".

  19. the HTTP status code value is set to 501, corresponding to the message "Not Implemented".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 20.20. Server KVP GET - GetFeatureInfo - Invalid Pixel.Row.J

Test case identifier Server.KVP.GET.GetFeatureInfo.Invalid.Pixel.Row.J
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

Verify that when a GetFeature request contains a Pixel Row J incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <Pixel.Row.J> elements;

  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 greater than 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 that is one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  18. the response entity contains a locator attribute value of "J".

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 20.21. Server KVP GET - GetFeatureInfo - Invalid Pixel.Col.I

Test case identifier Server.KVP.GET.GetFeatureInfo.Invalid.Pixel.Col.I
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

Verify that when a GetFeature request contains a Pixel Col I incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <Pixel.Col.I> elements;

  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 greater than 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 that is one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  18. the response entity contains a locator attribute value of "I".

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



21. Server KVP POST Interface - Mandatory Common Operation Properties

Purpose

The Server KVP POST Interface - Mandatory Common Operation Properties test group includes assertions that are common to the KVP Get Interface for all operations.

List of Tables

21.1. Server KVP POST HTTP Protocol Usage - Mandatory
21.2. Server KVP POST Invalid Query String - Mandatory Exception
21.3. Server KVP POST Invalid Service - Mandatory Exception
21.4. Server KVP POST Invalid Request - Mandatory Exception

Table 21.1. Server KVP POST HTTP Protocol Usage - Mandatory

Test case identifier Server.KVP.POST.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:Post><ows:Constraint name="PostEncoding"><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 POST operations.

Assertions

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

  1. TBD

  2. OGC-07-057r7 : cl 7.1.1.1.1, pp. 14-15

Test method TBD. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 21.2. Server KVP POST Invalid Query String - Mandatory Exception

Test case identifier Server.KVP.POST.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:Post><ows:Constraint name="PostEncoding"><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 contains invalid KVP query strings:

    • 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 21.3. Server KVP POST Invalid Service - Mandatory Exception

Test case identifier Server.KVP.POST.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:Post><ows:Constraint name="PostEncoding"><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 21.4. Server KVP POST Invalid Request - Mandatory Exception

Test case identifier Server.KVP.POST.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:Post><ows:Constraint name="PostEncoding"><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



22. Server KVP POST Interface - Mandatory GetCapabilities Operation

Purpose

The Server KVP POST Interface - Mandatory GetCapabilities test group includes KVP POST GetCapabilities responses from the WMTS server to exercise all supported request parameters and validate response contents.

List of Tables

22.1. Server KVP POST - GetCapabilities - Request with Mandatory Parameters
22.2. Server KVP POST - GetCapabilities - Request with No Service Parameter
22.3. Server KVP POST - GetCapabilities - Request with an Invalid Service Parameter Value
22.4. Server KVP POST - GetCapabilities - Request with AcceptVersions - Valid Parameter Value
22.5. Server KVP POST - GetCapabilities - Request with AcceptVersions - Invalid Parameter Value
22.6. Server KVP POST - GetCapabilities - Request Case Insensitive KVP names
22.7. Server KVP POST - GetCapabilities - Request Optional parameter - Sections - value = All
22.8. Server KVP POST - GetCapabilities - Request Optional parameter - Sections - value = ServiceIdentification
22.9. Server KVP POST - GetCapabilities - Request Optional parameter - Sections - value = ServiceProvider
22.10. Server KVP POST - GetCapabilities - Request Optional parameter - Sections - value = OperationsMetadata
22.11. Server KVP POST - GetCapabilities - Request Optional parameter - Sections - value = Contents
22.12. Server KVP POST - GetCapabilities - Request Optional parameter - Sections - value = Themes
22.13. Server KVP POST - GetCapabilities - Request Optional parameter - Sections - value = Contents, Themes
22.14. Server KVP POST - GetCapabilities - Request Optional parameter - Sections - value = Bogus
22.15. Server KVP POST - GetCapabilities - Request Optional parameter - Sections - Missing Parameter Value
22.16. Server KVP POST - GetCapabilities - Request Optional parameter - updateSequence
22.17. Server KVP POST - GetCapabilities - Request Optional parameter - AcceptFormats
22.18. Server KVP POST - GetCapabilities - Response Service Metadata Document XML is Well Formed
22.19. Server KVP POST - GetCapabilities - Response Service Metadata Document references normative schema
22.20. Server KVP POST - GetCapabilities - Response Service Metadata Document is schema valid
22.21. Server KVP POST - GetCapabilities - Response Advertised Format application/xml
22.22. Server KVP POST - GetCapabilities - Response OnlineResource is only resource prefix
22.23. Server KVP POST - GetCapabilities - Response includes PostEncoding constraint
22.24. Server KVP POST - GetCapabilities - Response Layer Identifiers are unique
22.25 Server KVP POST - GetCapabilities - Response with no Layers contains otherSource URL
22.26 Server KVP POST - GetCapabilities - Response Style Identifiers are unique for each Layer
22.27. Server KVP POST - GetCapabilities - Response Layer LegendURLs are correct resources
22.28. Server KVP POST - GetCapabilities - Response Layer LegendURLs are correct formats
22.29. Server KVP POST - GetCapabilities - Response Layer LegendURLs are correct sizes
22.30. Server KVP POST - GetCapabilities - Response Dimension Identifiers are unique for each Layer
22.31. Server KVP POST - GetCapabilities - Response Layer TileMatrixSets are valid
22.32. Server KVP POST - GetCapabilities - Response TileMatrixSet identifiers are unique
22.33. Server KVP POST - GetCapabilities - Response TileMatrix identifiers are unique
22.34. Server KVP POST - GetCapabilities - Response TileMatrixSet ScaleDenominators are unique
22.35. Server KVP POST - GetCapabilities - Response TileMatrixSet WellKnownScaleSets are compatible with CRS and ScaleDenominator values
22.36. Server KVP POST - GetCapabilities - Response Theme LayerRef valid

Table 22.1. Server KVP POST - GetCapabilities - Request with mandatory parameters

Test case identifier Server.KVP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS server responds to a KVP POST 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 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;

  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 22.2. Server KVP POST - GetCapabilities - Request with no service parameter

Test case identifier Server.KVP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS server responds to a KVP POST 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 POST GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

  2. the request entity is a valid KVP POST 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 22.3. Server KVP POST - GetCapabilities - Request with invalid service parameter

Test case identifier Server.KVP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS server responds to a KVP POST 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 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 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 22.4. Server KVP POST - GetCapabilities - Optional AcceptVersions parameter with valid value

Test case identifier Server.KVP.POST.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:Post><ows:Constraint name="PostEncoding"><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 POST 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 22.5. Server KVP POST - GetCapabilities - Optional AcceptVersions parameter with invalid value

Test case identifier Server.KVP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

  2. the response entity has an <ows:Capabilities name="GetCapabilities"> element that contains a version attribute with a version number 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 POST 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 POST 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 22.6. Server KVP POST - GetCapabilities - Request Case Insensitive KVP names

Test case identifier Server.KVP.POST.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:Post><ows:Constraint name="PostEncoding"><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 POST 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 POST 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 22.7. Server KVP POST - GetCapabilities Request - Optional parameter - Sections - value = All

Test case identifier Server.KVP.POST.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:Post><ows:Constraint name="PostEncoding"><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 POST 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 POST 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 22.8. Client KVP POST - GetCapabilities - Optional parameter - Sections - value = ServiceIdentification

Test case identifier Server.KVP.POST.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:Post><ows:Constraint name="PostEncoding"><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 POST 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 POST 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 22.9. Server KVP POST - GetCapabilities Request - Optional parameter - Sections - value = ServiceProvider

Test case identifier Server.KVP.POST.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:Post><ows:Constraint name="PostEncoding"><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 POST 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 POST 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 22.10. Server KVP POST - GetCapabilities Request - Optional parameter - Sections - value = OperationsMetadata

Test case identifier Server.KVP.POST.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="PostEncoding"><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 POST 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 POST 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 22.11. Server KVP POST - GetCapabilities Request - Optional parameter - Sections - value = Contents

Test case identifier Server.KVP.POST.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:Post><ows:Constraint name="PostEncoding"><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 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

  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 22.12. Server KVP POST - GetCapabilities Request - Optional parameter - Sections - value = Themes

Test case identifier Server.KVP.POST.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: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 server returns a Service Metadata document containing only the Themes section in response to 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 response 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

  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 22.13. Server KVP POST - GetCapabilities Request - Optional parameter - Sections - value = Contents, Themes

Test case identifier Server.KVP.POST.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: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 server returns a Service Metadata document containing only the Contents and Themes sections in response to 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 response 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

  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 22.14. Server KVP POST - GetCapabilities Request - Optional parameter - Sections - value = Bogus

Test case identifier Server.KVP.POST.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:Post><ows:Constraint name="PostEncoding"><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 POST 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 POST GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is Themes

  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 22.15. Server KVP POST - GetCapabilities Request - Optional parameter - Sections - value = Missing

Test case identifier Server.KVP.POST.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:Post><ows:Constraint name="PostEncoding"><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 POST 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 POST 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 22.16. Server KVP POST - GetCapabilities Reaquest - Optional parameter - updateSequence

Test case identifier Server.KVP.POST.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:Post><ows:Constraint name="PostEncoding"><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 POST 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 POST 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 POST 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 22.17. Server KVP POST - GetCapabilities Request - Optional parameter - AcceptFormats

Test case identifier Server.KVP.POST.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:Post><ows:Constraint name="PostEncoding"><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 POST 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 POST 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 22.18. Server KVP POST - GetCapabilities - Response Service Metadata document XML is well-formed

Test case identifier Server.KVP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "KVP".

Test purpose

Test that a WMTS server responds to a KVP POST 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 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;

  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 22.19. Server KVP POST - GetCapabilities - Response Service Metadata document references normative schema

Test case identifier Server.KVP.POST.GetCapabilities.Response.SchemaReferenced
Prerequisites

XML Well-Formed Server KVP POST - GetCapabilities

  1. the response entity is a well-formed XML document.

Test purpose

Test that a WMTS server responds to a KVP POST 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 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;

  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 22.20. Server KVP POST - GetCapabilities - Response Service Metadata document is schema-valid

Test case identifier Server.KVP.POST.GetCapabilities.Response.SchemaValid
Prerequisites

Schema Referenced Server KVP POST - 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 POST 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 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;

  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 22.21. Server KVP POST - GetCapabilities - Response Advertised Format application/xml

Test case identifier Server.KVP.POST.GetCapabilities.Response.AdvertisedFormat
Prerequisites

Schema Valid Server KVP POST - 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 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;

  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 22.22. Server KVP POST - GetCapabilities - Response OnlineResource is only resource prefix

Test case identifier Server.KVP.POST.GetCapabilities.Response.OnlineResource
Prerequisites

Schema Valid Server KVP POST - 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 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;

  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 22.23. Server KVP POST - GetCapabilities - Response includes PostEncoding constraint

Test case identifier Server.KVP.POST.GetCapabilities.Response.PostEncoding.Constraint
Prerequisites

Schema Valid Server KVP POST - 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 PostEncoding parameter.

Assertions

All of the following assertions must hold for the response 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;

  3. the response entity <ows:Operation><ows:DCP><ows:HTTP><ows:Get><ows:Constraint> element name attribute has a value of "PostEncoding" 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 22.24. Server KVP POST - GetCapabilities - Response Layer Identifiers are unique

Test case identifier Server.KVP.POST.GetCapabilities.Response.Layer.Identifiers.Unique
Prerequisites

Schema Valid Server KVP POST - 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 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;

  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 22.25. Server KVP POST - GetCapabilities - Response with no Layers contains otherSource URL

Test case identifier Server.KVP.POST.GetCapabilities.Response.No.Layers.OtherSource
Prerequisites

Schema Valid Server KVP POST - 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 ows:OtherSource element with 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 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;

  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 22.26. Server KVP POST - GetCapabilities - Response Style Identifiers are unique for each Layer

Test case identifier Server.KVP.POST.GetCapabilities.Response.Style.Identifiers.Unique
Prerequisites

Schema Valid Server KVP POST - 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 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;

  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 22.27. Server KVP POST - GetCapabilities - Response Layer LegendURLs are correct resources

Test case identifier Server.KVP.POST.GetCapabilities.Response.Layer.LegendURL.Correct.Resource
Prerequisites

Schema Valid Server KVP POST - 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 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;

  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

    3. minScaleDenominator - must be the denominator of the minimum scale (inclusive) for which this legend image is valid

    4. maxScaleDenominator - must be the denominator of the maximum scale (exclusive) for which this legend image is valid

    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 22.28. Server KVP POST - GetCapabilities - Response Layer LegendURLs are correct formats

Test case identifier Server.KVP.POST.GetCapabilities.Response.Layer.LegendURL.Correct.Format
Prerequisites

Legend URL Metadata Server KVP POST - 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 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;

  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 22.29. Server KVP POST - GetCapabilities - Response Layer LegendURLs are correct sizes

Test case identifier Server.KVP.POST.GetCapabilities.Response.Layer.LegendURL.Correct.Size
Prerequisites

Legend URL Metadata Server KVP POST - 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 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;

  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 22.30. Server KVP POST - GetCapabilities - Response Dimension Identifiers are unique for each Layer

Test case identifier Server.KVP.POST.GetCapabilities.Response.Dimension.Identifiers.Unique
Prerequisites

Schema Valid Server KVP POST - 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 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;

  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 22.31. Server KVP POST - GetCapabilities - Response Layer TileMatrixSets are valid

Test case identifier Server.KVP.POST.GetCapabilities.Response.Layer.TileMatrixSet.Valid
Prerequisites

Schema Valid Server KVP POST - 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 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;

  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 22.32. Server KVP POST - GetCapabilities - Response TileMatrixSet identifiers are unique

Test case identifier Server.KVP.POST.GetCapabilities.Response.TileMatrixSet.Identifiers.Unique
Prerequisites

Schema Valid Server KVP POST - 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 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;

  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
Test type Capability

Table 18.33. Server KVP POST - GetCapabilities - Response TileMatrix identifiers are unique

Test case identifier Server.KVP.POST.GetCapabilities.Response.TileMatrix.Identifiers.Unique
Prerequisites

Schema Valid Server KVP POST - 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 TileMatrix 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 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;

  3. the response entity <Contents><TileMatrixSet><TileMatrix><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
Test type Capability

Table 18.34. Server KVP POST - GetCapabilities - Response TileMatrixSet ScaleDenominators are unique

Test case identifier Server.KVP.POST.GetCapabilities.Response.TileMatrixSet.ScaleDenominators.Unique
Prerequisites

Schema Valid Server KVP POST - 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 tileMatrix of a tileMatrixSet has a unique (different) scaleDenominator.

Assertions

All of the following assertions must hold for the response 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;

  3. the response entity <Contents><TileMatrixSet><TileMatrix><ScaleDenominator> element text values are non-empty and unique for each <TileMatrixSet>.

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

Table 18.35. Server KVP POST - GetCapabilities - Response TileMatrixSet WellKnownScaleSets are compatible with CRS and ScaleDenominator values

Test case identifier Server.KVP.POST.GetCapabilities.Response.TileMatrixSet.WellKnownScaleSet
Prerequisites

Schema Valid Server KVP POST - 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 must contain at least one <Contents><TileMatrixSet><WellKnownScaleSet> element with one of the following values:

    • urn:ogc:def:wkss:OGC:1.0:GlobalCRS84Scale
    • urn:ogc:def:wkss:OGC:1.0:GlobalCRS84Pixel
    • urn:ogc:def:wkss:OGC:1.0:GoogleCRS84Quad
    • urn:ogc:def:wkss:OGC:1.0:GoogleMapsCompatible
Test purpose

Verify that a WellKnownScaleSet is compatible with ScaleDenominator values.

Assertions

All of the following assertions must hold for the response 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;

  3. the <TileMatrixset><SupportedCRS> element value must match the CRS for the well known scale set:

    Well Known Scale Set Coordinate Reference System (CRS)
    urn:ogc:def:wkss:OGC:1.0:GlobalCRS84Scale urn:ogc:def:crs:OGC:1.3:CRS84
    urn:ogc:def:wkss:OGC:1.0:GlobalCRS84Pixel urn:ogc:def:crs:OGC:1.3:CRS84
    urn:ogc:def:wkss:OGC:1.0:GoogleCRS84Quad urn:ogc:def:crs:OGC:1.3:CRS84
    urn:ogc:def:wkss:OGC:1.0:GoogleMapsCompatible urn:ogc:def:crs:EPSG:6.18:3:3857
  4. each <Contents><TileMatrixSet> in the response entity that contains a <WellKnownScaleSet> must have <TileMatrix> elements with <ScaleDenominator> element text values for each <TileMatrixSet> starting from the largest scale denominator in the WellKnownScaleSet table in Annex E, and all intermediate scales denominators down to some ScaleDenominator minimum value for Layers that reference the TileMatrixSet.

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

Table 18.36. Server KVP POST - GetCapabilities - Response Theme LayerRef valid

Test case identifier Server.KVP.POST.GetCapabilities.Response.Theme.LayerRef.Valid
Prerequisites

Schema Valid Server KVP POST - 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 contains at least one <Theme><LayerRef> element.

Test purpose

Verify that each Theme LayerRef element text value is equal to a Layer identifier in the content section.

Assertions

All of the following assertions must hold for the response 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;

  3. the response entity <Themes><Theme><LayerRef> element text values refer to <Contents><Layer><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



23. Server KVP POST Interface - Mandatory GetTile Operation

Purpose

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

List of Tables

23.1. Server KVP POST - GetTile - Mandatory parameters
23.2. Server KVP POST - GetTile - Optional parameter - sample dimensions
23.3. Server KVP POST - GetTile - Missing mandatory parameters
23.4. Server KVP POST - GetTile - Invalid Layer
23.5. Server KVP POST - GetTile - Invalid TileMatrixSet
23.6. Server KVP POST - GetTile - Invalid TileMatrix
23.7. Server KVP POST - GetTile - Invalid Tile Row - no TileMatrixSetLimits
23.8. Server KVP POST - GetTile - Invalid Tile Col - no TileMatrixSetLimits
23.9. Server KVP POST - GetTile - Invalid Tile Row - TileMatrixSetLimits
23.10. Server KVP POST - GetTile - Invalid Tile Col - TileMatrixSetLimits
23.11. Server KVP POST - GetTile - Invalid Tile Style
23.12. Server KVP POST - GetTile - Missing optional parameters
23.13. Server KVP POST - GetTile - Invalid Sample Dimension Name
23.14. Server KVP POST - GetTile - Invalid Sample Dimension Value
23.15. Server KVP POST - GetTile - Default Sample Dimension
23.16. Server KVP POST - GetTile - Current Sample Dimension
23.17. Server KVP POST - GetTile - Valid Tile Format
23.18. Server KVP POST - GetTile - Invalid Tile Format
23.19. Server KVP POST - GetTile - Valid Tile Size
23.20. Server KVP POST - GetTile - Valid Tile Transparency

Table 23.1. Server KVP POST - GetTile - Mandatory parameters

Test case identifier Server.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 <wmts:Layer>s with no <wmts:Dimension> or with every <wmtsDimension> with a <wmts:Default> dimension value.

Test purpose

Test that a WMTS server can return tiles advertised in its Service Metadata document in response to valid KVP POST GetTile requests with valid values for mandatory parameters as specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the responses 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 for a layer with no sample dimensions or with every sample dimension having a default value;

  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 server returns a tile in response to a valid KVP POST GetTile request for each tile 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 Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain tile resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 23.2. Server KVP POST - GetTile - Optional Parameter - sample dimensions

Test case identifier Server.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 server can return tiles advertised in its Service Metadata document in response to valid KVP POST GetTile requests with optional sample dimensions parameter valid values from the range specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the responses 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 server returns a tile in response to a valid KVP POST GetTile request for each tile 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 Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain tile resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 23.3. Server KVP POST - GetTile - Missing mandatory parameters

Test case identifier Server.KVP.POST.GetTile.Missing
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 <wmts:Layer>s with no <wmts:Dimension> or with every <wmtsDimension> with a <wmts:Default> dimension value.

Test purpose

Verify that if a mandatory KVP POST GetTile parameter is missing from an otherwise valid request, the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with no sample dimensions or with every sample dimension having a default value, except when tested as missing;

  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, except when tested as missing;

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

  7. the request entity is a valid KVP POST GetTile request with the mandatory TileMatrixSet parameterwith a TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing.

  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, except when tested as missing.

  13. the response entity is a schema-valid ows:Exception document.

  14. the response entity contains an exceptionCode attribute value of "MissingParameterValue".

  15. the response entity contains a locator attribute value of the name of the missing parameter.

  16. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate test requests with one of the following parameters missing, and other parameter values valid using the contents of Service Metadata document.
  • Layer
  • Style
  • Format
  • TileMatrixSet
  • TileMatrix
  • Row
  • Col
Check that responses contain valid exception reports. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 23.4. Server KVP POST - GetTile - Invalid Layer

Test case identifier Server.KVP.POST.GetTile.Invalid.Layer
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".

Test purpose

Verify that when a GetTile request contains a Layer incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 not listed in 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 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 response entity is a schema-valid ows:Exception document.

  14. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  15. the response entity contains a locator attribute value of "layer".

  16. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 23.5. Server KVP POST - GetTile - Invalid TileMatrixSet

Test case identifier Server.KVP.POST.GetTile.Invalid.TileMatrixSet
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 <TileMatrixSet> elements.

Test purpose

Verify that when a GetTile request contains a TileMatrixSet incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 not listed in 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 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 response entity is a schema-valid ows:Exception document.

  14. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  15. the response entity contains a locator attribute value of "TileMatrixSet".

  16. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 23.6. Server KVP POST - GetTile - Invalid TileMatrix

Test case identifier Server.KVP.POST.GetTile.Invalid.TileMatrix
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 <TileMatrix> elements.

Test purpose

Verify that when a GetTile request contains a TileMatrix incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 not listed in 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 some 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 some TileMatrix from the Service Metadata document;

  11. the response entity is a schema-valid ows:Exception document.

  12. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  13. the response entity contains a locator attribute value of "TileMatrix".

  14. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 23.7. Server KVP POST - GetTile - Invalid Row - no TileMatrixSetLimits

Test case identifier Server.KVP.POST.GetTile.Invalid.Tile.Row.No.TileMatrixSetLimits
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 advertises a Layer with no TileMatrixSetLimits.

Test purpose

Verify that when a GetTile request contains a Row incorrect value for a tile in a Layer with no TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 greater than the MatrixHeight in the TileMatrix for the tile in 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 response entity is a schema-valid ows:Exception document.

  12. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  13. the response entity contains a locator attribute value of "TileRow".

  14. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 23.8. Server KVP POST - GetTile - Invalid Col - no TileMatrixSetLimits

Test case identifier Server.KVP.POST.GetTile.Invalid.Tile.Col.No.TileMatrixSetLimits
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 advertises a Layer with no TileMatrixSetLimits.

Test purpose

Verify that when a GetTile request contains a Col incorrect value for a tile in a Layer with no TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 greater than the MatrixWidth for the TileMatrix of the tile in the Service Metadata document;

  11. the response entity is a schema-valid ows:Exception document.

  12. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  13. the response entity contains a locator attribute value of "TileCol".

  14. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 23.9. Server KVP POST - GetTile - Invalid Row - TileMatrixSetLimits

Test case identifier Server.KVP.POST.GetTile.Invalid.Tile.Row.TileMatrixSetLimits
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 advertises a Layer with TileMatrixSetLimits.

Test purpose

Verify that when a GetTile request contains a Row incorrect value for a tile in a Layer with TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 outside of the TileMatrixLimits MinTileRow and MaxTileRow values for the TileMatrix of the tile in 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 within the TileMatrixLimits MinTileCol and MaxTileCol values for the TileMatrix of the tile in the Service Metadata document;

  11. the response entity is a schema-valid ows:Exception document.

  12. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  13. the response entity contains a locator attribute value of "TileRow".

  14. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 23.10. Server KVP POST - GetTile - Invalid Col - TileMatrixSetLimits

Test case identifier Server.KVP.POST.GetTile.Invalid.Tile.Col.TileMatrixSetLimits
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 advertises a Layer with TileMatrixSetLimits.

Test purpose

Verify that when a GetTile request contains a Col incorrect value for a tile in a Layer with TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 parameter with a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values for the TileMatrix of the tile in 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 outside of the TileMatrixLimits MinTileCol and MaxTileCol values for the TileMatrix of the tile in the Service Metadata document;

  11. the response entity is a schema-valid ows:Exception document.

  12. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  13. the response entity contains a locator attribute value of "TileCol".

  14. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 23.11. Server KVP POST - GetTile - Invalid Style

Test case identifier Server.KVP.POST.GetTile.Invalid.Tile.Style
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".

Test purpose

Verify that when GetTile a request contains a Style incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 not listed in the Service Metadata document;

  6. the request entity is a valid KVP POST GetTile request with the mandatory format parameter 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 response entity is a schema-valid ows:Exception document.

  14. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  15. the response entity contains a locator attribute value of "Style".

  16. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 23.12. Server KVP POST - GetTile - Missing Optional Parameters

Test case identifier Server.KVP.POST.GetTile.Missing.Optional
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. tthe 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 one or more <Dimension>s with no <Default> value.

Test purpose

Verify that when a GetTile request for a tile from a layer with a sample dimension with no default sample dimension value is missing a request parameter for the sample dimension name, that the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with a sample dimension with no default value;

  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 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 without an optional sample dimensions parameter for a sample dimension without a default value that is specified in the <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document for the specified layer.

  14. the response entity is a schema-valid ows:Exception document.

  15. the response entity contains an exceptionCode attribute value of "MissingParameterValue".

  16. the response entity contains a locator attribute value of the name of the sample dimension.

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 23.13. Server KVP POST - GetTile - Invalid Sample Dimension Name

Test case identifier Server.KVP.POST.GetTile.Invalid.SampleDimension.Name
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 one or more <Dimension>s.

Test purpose

Verify that when a GetTile request contains the name not defined as a sample dimension, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 that is not specified in a <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document;

  14. the request entity is a valid KVP POST GetTile request with an optional sample dimensions parameter with any value.

  15. the response entity is a schema-valid ows:Exception document.

  16. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  17. the response entity contains a locator attribute value of the name of the sample dimension.

  18. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 23.14. Server KVP POST - GetTile - Invalid Sample Dimension Value

Test case identifier Server.KVP.POST.GetTile.Invalid.SampleDimension.Value
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 one or more <Dimension>s.

Test purpose

Verify that when a GetTile request contains a parameter name defined as a sample dimension with a value that is not defined for that dimension in the Service Metadata document, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 that is specified in a <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document;

  14. the request entity is a valid KVP POST GetTile request with an optional sample dimensions parameter with a value that is not specified in a <Contents><Layer><Dimension><Value> in the Service Metadata document for that sample dimension.

  15. the response entity is a schema-valid ows:Exception document.

  16. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  17. the response entity contains a locator attribute value of the name of the sample dimension for which an invalid value was supplied in the request.

  18. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 23.15. Server KVP POST - GetTile - Default Sample Dimension

Test case identifier Server.KVP.POST.GetTile.Default.SampleDimension
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 one or more <Dimension>s with a <Default> element text value.

Test purpose

Test that a WMTS server can return tiles in response to valid KVP POST GetTile requests with optional sample dimensions parameter with the "default" values specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the responses 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 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 specified in the Service Metadata document;

  14. the request entity is a valid KVP POST GetTile request with an optional sample dimensions parameter with a value of "default".

  15. the server returns a tile from a Layer with a sample dimension with a default value in response to the KVP POST GetTile request.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain the default tile resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 23.16. Server KVP POST - GetTile - Current Sample Dimension

Test case identifier Server.KVP.POST.GetTile.Current.SampleDimension
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 one or more <Dimension>s with a <Current> element text value.

Test purpose

Test that a WMTS server can return tiles in response to valid KVP POST GetTile requests with optional sample dimensions parameter with the "current" values specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the responses 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 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 specified in the Service Metadata document;

  14. the request entity is a valid KVP POST GetTile request with an optional sample dimensions parameter with a value of "current".

  15. the server returns a tile from a Layer with a sample dimension with a current value in response to the KVP POST GetTile request.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain the current tile resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 23.17. Server KVP POST - GetTile - Valid Tile Format

Test case identifier Server.KVP.POST.GetTile.Valid.Tile.Format
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".

Test purpose

Test that the tiles returned by a WMTS server in response to valid KVP POST GetTile requests with the tile formats advertised in the Service Metadata Document for each layer, and each sample dimension if applicable, are in the MIME types of the requested formats.

Assertions

All of the following assertions must hold for the responses 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 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 for a layer with sample dimensions 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 for a layer with sample dimensions 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 server returns a tile in the MIME type corresponding to the requested format from each format for each Layer (and sample dimension, if applicable) offered by the server.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain tile resources in MIME types corresponding to the requested formats. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 23.18. Server KVP POST - GetTile - Invalid Tile Format

Test case identifier Server.KVP.POST.GetTile.Invalid.Tile.Format
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".

Test purpose

Test that the responses returned by a WMTS server to KVP POST GetTile requests with tile formats not advertised in the Service Metadata Document for each layer, and each sample dimension if applicable, are valid exception reports.

Assertions

All of the following assertions must hold for the responses 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 not advertised in 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 for a layer with sample dimensions 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 for a layer with sample dimensions 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 server returns a schema-valid ows:Exception document for an invalid (unadvertised) format for each Layer (and sample dimension, if applicable) offered by the server.

  16. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  17. the response entity contains a locator attribute value of "format".

  18. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the requests with contents of Service Metadata document, and formats not in the Service Metadata document. Check that responses contain valid exception reports and HTTP status codes. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 23.19. Server KVP POST - GetTile - Valid Tile Size

Test case identifier Server.KVP.POST.GetTile.Valid.Tile.Size
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".

Test purpose

Test that the tiles returned by a WMTS server in response to valid KVP POST GetTile requests with the tile sizes (TileWidth and TileHeight) advertised in the Service Metadata Document for each TileMatrix in the TileMatrixSet of a Layer, and for each sample dimension of Layers with Dimensions, are the advertised sizes.

Assertions

All of the following assertions must hold for the responses 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 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 for a layer with sample dimensions 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 for a layer with sample dimensions 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 server returns a tile with the width and height of the returned image equal to the advertised TileWidth and TileHeight from each TileMatrix for each TileMatrixSet for each Layer, and for each sample dimension of Layers with Dimensions. offered by the server.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain tile resources of the correct sizes. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 23.20. Server KVP POST - GetTile - Valid Tile Transparency

Test case identifier Server.KVP.POST.GetTile.Valid.Tile.Transparency
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".

Test purpose

Verify that the returned tile has transparent color for NODATA values.

Assertions

All of the following assertions must hold for the responses 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 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 parameter with a MIME type format value equal to a <Layer><Format> value for the specified Layer from the Service Metadata document for a format that supports transparency, e.g. image/png;

  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 for a layer with sample dimensions 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 for a layer with sample dimensions 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 requested entity is a tile with NODATA.

  16. the server returns a tile with NODATA in the requestred format that supports transparency, e.g. image/png as a transparent image.

Test method Send a correct request for a Layer in a format that supports transparency and in a tile where NODATA values are expected and test for transparent color there. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



24. Server KVP POST Interface - Optional GetFeatureInfo Operation

Purpose

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

List of Tables

24.1. Server KVP POST - GetFeatureInfo - Mandatory parameters
24.2. Server KVP POST - GetFeatureInfo - Optional parameter
24.3. Server KVP POST - GetFeatureInfo - Missing parameters
24.4. Server KVP POST - GetFeatureInfo - Invalid Layer
24.5. Server KVP POST - GetFeatureInfo - Invalid TileMatrixSet
24.6. Server KVP POST - GetFeatureInfo - Invalid TileMatrix
24.7. Server KVP POST - GetFeatureInfo - Invalid Tile Row - no TileMatrixSetLimits
24.8. Server KVP POST - GetFeatureInfo - Invalid Tile Col - no TileMatrixSetLimits
24.9. Server KVP POST - GetFeatureInfo - Invalid Tile Row - TileMatrixSetLimits
24.10. Server KVP POST - GetFeatureInfo - Invalid Tile Col - TileMatrixSetLimits
24.11. Server KVP POST - GetFeatureInfo - Invalid Tile Style
24.12. Server KVP POST - GetFeatureInfo - Missing optional parameters
24.13. Server KVP POST - GetFeatureInfo - Invalid Sample Dimension Name
24.14. Server KVP POST - GetFeatureInfo - Invalid Sample Dimension Value
24.15. Server KVP POST - GetFeatureInfo - Default Sample Dimension
24.16. Server KVP POST - GetFeatureInfo - Current Sample Dimension
24.17. Server KVP POST - GetFeatureInfo - Non-Queryable Layer
24.18. Server KVP POST - GetFeatureInfo - Valid InfoFormat
24.19. Server KVP POST - GetFeatureInfo - Invalid InfoFormat
24.20. Server KVP POST - GetFeatureInfo - Invalid Pixel Row J
24.21. Server KVP POST - GetFeatureInfo - Invalid Pixel Col I

Table 24.1. Server KVP POST - GetFeatureInfo - Mandatory parameters

Test case identifier Server.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 and with no <wmts:Dimension> or with every <wmtsDimension> with a <wmts:Default> dimension value..

Test purpose

Test that a WMTS server can return FeatureInfo for pixels in tiles advertised in its Service Metadata document in response to valid KVP POST GetFeatureInfo requests with valid values for mandatory parameters as 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 for a layer with <InfoFormat> elements and with no sample dimensions or with every sample dimension having a default value;

  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 server returns FeatureInfo in response to a valid KVP POST GetFeatureInfo request for sample pixels from each tile 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 Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain FeatureInfo resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 24.2. Server KVP POST - GetFeatureInfo - Optional Parameter - sample dimensions

Test case identifier Server.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 with three or more <Dimension>s.

Test purpose

Test that a WMTS server can return FeatureInfo for pixels in tiles advertised in its Service Metadata document in response to valid KVP POST GetFeatureInfo requests with optional sample dimensions parameter valid values 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 for a layer with <InfoFormat> elements;

  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 server returns FeatureInfo in response to a valid KVP POST GetFeatureInfo request for sample pixels from each tile 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 Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain FeatureInfo resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 24.3. Server KVP POST - GetFeatureInfo - Missing mandatory parameters

Test case identifier Server.KVP.POST.GetFeatureInfo.Missing
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 with no <wmts:Dimension> or with every <wmtsDimension> with a <wmts:Default> dimension value.

Test purpose

Verify that if a mandatory KVP POST GetFeatureInfo parameter is missing from an otherwise valid request, the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements and with no sample dimensions or with every sample dimension having a default value;, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing.

  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, except when tested as missing.

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  16. the response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "MissingParameterValue".

  18. the response entity contains a locator attribute value of the name of the missing parameter.

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate test requests with one of the following parameters missing, and other parameter values valid using the contents of Service Metadata document.
  • Layer
  • Style
  • Format
  • TileMatrixSet
  • TileMatrix
  • Row
  • Col
  • J
  • I
  • InfoFormat
Check that responses contain valid exception reports. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 24.4. Server KVP POST - GetFeatureInfo - Invalid Layer

Test case identifier Server.KVP.POST.GetFeatureInfo.Invalid.Layer
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

Verify that when a GetFeatureInfo request contains a Layer incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 not 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 response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  18. the response entity contains a locator attribute value of "layer".

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 24.5. Server KVP POST - GetFeatureInfo - Invalid TileMatrixSet

Test case identifier Server.KVP.POST.GetFeatureInfo.Invalid.TileMatrixSet
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

Verify that when a GetFeatureInfo request contains a TileMatrixSet incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 not listed in 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 a 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 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;

  12. 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;

  13. 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;

  14. the response entity is a schema-valid ows:Exception document.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileMatrixSet".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 24.6. Server KVP POST - GetFeatureInfo - Invalid TileMatrix

Test case identifier Server.KVP.POST.GetFeatureInfo.Invalid.TileMatrix
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 a <TileMatrixSetLink> to a <TileMatrixSet> with two or more <TileMatrix> elements.

Test purpose

Verify that when a GetFeatureInfo request contains a TileMatrix incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 not listed in 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 some 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 some TileMatrix from the Service Metadata document;

  11. 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 some TileMatrix from the Service Metadata document;

  12. 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 some TileMatrix from the Service Metadata document;

  13. 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;

  14. the response entity is a schema-valid ows:Exception document.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileMatrix".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 24.7. Server KVP POST - GetFeatureInfo - Invalid Row - no TileMatrixSetLimits

Test case identifier Server.KVP.POST.GetFeatureInfo.Invalid.Tile.Row.No.TileMatrixSetLimits
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 a <TileMatrixSetLink> with no <TileMatrixSetLimits>.

Test purpose

Verify that when a GetFeatureInfo request contains a Row incorrect value for a tile in a Layer with no TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 greater than the MatrixHeight in the TileMatrix for the tile in 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 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;

  12. 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;

  13. 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;

  14. the response entity is a schema-valid ows:Exception document.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileRow".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 24.8. Server KVP POST - GetFeatureInfo - Invalid Col - no TileMatrixSetLimits

Test case identifier Server.KVP.POST.GetFeatureInfo.Invalid.Tile.Col.No.TileMatrixSetLimits
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 a <TileMatrixSetLink> with no <TileMatrixSetLimits>.

Test purpose

Verify that when a GetFeatureInfo request contains a Col incorrect value for a tile in a Layer with no TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 greater than the MatrixWidth for the TileMatrix of the tile in the Service Metadata document;

  11. 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;

  12. 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;

  13. 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;

  14. the response entity is a schema-valid ows:Exception document.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileCol".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 24.9. Server KVP POST - GetFeatureInfo - Invalid Row - TileMatrixSetLimits

Test case identifier Server.KVP.POST.GetFeatureInfo.Invalid.Tile.Row.TileMatrixSetLimits
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 a <TileMatrixSetLink> with <TileMatrixSetLimits>.

Test purpose

Verify that when a GetFeatureInfo request contains a Row incorrect value for a tile in a Layer with TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 outside of the TileMatrixLimits MinTileRow and MaxTileRow values for the TileMatrix of the tile in 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 within the TileMatrixLimits MinTileCol and MaxTileCol values for the TileMatrix of the tile in the Service Metadata document;

  11. 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;

  12. 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;

  13. 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;

  14. the response entity is a schema-valid ows:Exception document.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileRow".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 24.10. Server KVP POST - GetFeatureInfo - Invalid Col - TileMatrixSetLimits

Test case identifier Server.KVP.POST.GetFeatureInfo.Invalid.Tile.Col.TileMatrixSetLimits
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 a <TileMatrixSetLink> with <TileMatrixSetLimits>.

Test purpose

Verify that when a GetFeatureInfo request contains a Col incorrect value for a tile in a Layer with TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 within the TileMatrixLimits MinTileRow and MaxTileRow values for the TileMatrix of the tile in 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 outside of the TileMatrixLimits MinTileCol and MaxTileCol values for the TileMatrix of the tile in the Service Metadata document;

  11. 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;

  12. 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;

  13. 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;

  14. the response entity is a schema-valid ows:Exception document.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileCol".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 24.11. Server KVP POST - GetFeatureInfo - Invalid Style

Test case identifier Server.KVP.POST.GetFeatureInfo.Invalid.Tile.Style
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

Verify that when GetFeatureInfo a request contains a Style incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  5. the request entity is a valid KVP POST GetFeatureInfo request with the mandatory Style parameter with a style identifier value not listed in 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 response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  18. the response entity contains a locator attribute value of "Style".

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 24.12. Server KVP POST - GetFeatureInfo - Missing Optional Parameters

Test case identifier Server.KVP.POST.GetFeatureInfo.Missing.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 one or more <Dimension>s with no <Default> value.

Test purpose

Verify that when a GetFeatureInfo request for a tile from a layer with a sample dimension with no default sample dimension value is missing a request parameter for the sample dimension name, that the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with a sample dimension with no default value;

  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 parameter with a MIME type format value equal to an <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 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 POST GetFeatureInfo request without an optional sample dimensions parameter for a sample dimension without a default value that is specified in the <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document for the specified layer.

  16. the response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "MissingParameterValue".

  18. the response entity contains a locator attribute value of the name of the sample dimension.

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 24.13. Server KVP POST - GetFeatureInfo - Invalid Sample Dimension Name

Test case identifier Server.KVP.POST.GetFeatureInfo.Invalid.SampleDimension.Name
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. the response entity has an <ows:Operation name="GetFeatureInfo"> element that contains a <ows:DCP><ows:HTTP><PostPOST> child element.

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

Test purpose

Verify that when a GetFeatureInfo request contains the name not defined as a sample dimension, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 request entity is a valid KVP POST GetFeatureInfo request with an optional sample dimensions parameter with a name that is not specified in a <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document;

  17. the request entity is a valid KVP POST GetFeatureInfo request with an optional sample dimensions parameter with any value.

  18. the response entity is a schema-valid ows:Exception document.

  19. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  20. the response entity contains a locator attribute value of the name of the sample dimension.

  21. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 24.14. Server KVP POST - GetFeatureInfo - Invalid Sample Dimension Value

Test case identifier Server.KVP.POST.GetFeatureInfo.Invalid.SampleDimension.Value
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 one or more <Dimension>s.

Test purpose

Verify that when a GetFeatureInfo request contains a parameter name defined as a sample dimension with a value that is not defined for that dimension in the Service Metadata document, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 request entity is a valid KVP POST GetFeatureInfo request with an optional sample dimensions parameter with a name that is specified in a <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document;

  17. the request entity is a valid KVP POST GetFeatureInfo request with an optional sample dimensions parameter with a value that is not specified in a <Contents><Layer><Dimension><Value> in the Service Metadata document for that sample dimension.

  18. the response entity is a schema-valid ows:Exception document.

  19. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  20. the response entity contains a locator attribute value of the name of the sample dimension for which an invalid value was supplied in the request.

  21. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 24.15. Server KVP POST - GetFeatureInfo - Default Sample Dimension

Test case identifier Server.KVP.POST.GetFeatureInfo.Default.SampleDimension
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 one or more <Dimension>s with a <Default> element text value.

Test purpose

Test that a WMTS server can return tiles in response to valid KVP POST GetFeatureInfo requests with optional sample dimensions parameter with the "default" values specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 request entity is a valid KVP POST GetFeatureInfo request with an optional sample dimensions parameter with a name specified in the Service Metadata document;

  17. the request entity is a valid KVP POST GetFeatureInfo request with an optional sample dimensions parameter with a value of "default".

  18. the server returns FeatureInfo from a Layer with a sample dimension with a default value in response to the KVP POST GetFeatureInfo request.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain FeatureInfo for the specified pixel for the specified tile for the default sample dimension. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 24.16. Server KVP POST - GetFeatureInfo - Current Sample Dimension

Test case identifier Server.KVP.POST.GetFeatureInfo.Current.SampleDimension
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 one or more <Dimension>s with a <Current> element text value.

Test purpose

Test that a WMTS server can return tiles in response to valid KVP POST GetFeatureInfo requests with optional sample dimensions parameter with the "current" values specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 request entity is a valid KVP POST GetFeatureInfo request with an optional sample dimensions parameter with a name specified in the Service Metadata document;

  17. the request entity is a valid KVP POST GetFeatureInfo request with an optional sample dimensions parameter with a value of "current".

  18. the server returns FeatureInfo from a Layer with a sample dimension with a current value in response to the KVP POST GetFeatureInfo request.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain FeatureInfo for the specified pixel for the specified tile for the default sample dimension. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 24.17. Server KVP POST - GetFeatureInfo - Non-Queryable Layer

Test case identifier Server.KVP.POST.GetFeatureInfo.NonQueryable.Layer
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 no <InfoFormat>s.

Test purpose

Verify that when a GetFeatureInfo request is made for a non-queryable layer, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 wwith a layer identifier value equal to a <Layer><ows:Identifier> value from the Service Metadata document for a layer with no <InfoFormat> elements;

  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 any value;

  16. the response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "OperationNotSupported".

  18. the response entity contains a locator attribute value of "GetFeatureInfo".

  19. the HTTP status code value is set to 501, corresponding to the message "Not Implemented".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 20.18. Server KVP POST - GetFeatureInfo - Valid InfoFormat

Test case identifier Server.KVP.POST.GetFeatureInfo.Valid.InfoFormat
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

Verify that for each GetFeatureInfo format, when the InfoFormat parameter is set to that format or URLtemplate having a format parameter, the MIME type of the response matches that format.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 that is one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the server returns FeatureInfo in response to a valid KVP POST GetFeatureInfo request for each offered InfoFormat for each Layer with a FeatureInfo document of the requested InfoFormat MIME type.

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 24.19. Server KVP POST - GetFeatureInfo - Invalid InfoFormat

Test case identifier Server.KVP.POST.GetFeatureInfo.Invalid.InfoFormat
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

Verify that when a GetFeature request contains an InfoFormat incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 that is not one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "OperationNotSupported".

  18. the response entity contains a locator attribute value of "GetFeatureInfo".

  19. the HTTP status code value is set to 501, corresponding to the message "Not Implemented".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 24.20. Server KVP POST - GetFeatureInfo - Invalid Pixel.Row.J

Test case identifier Server.KVP.POST.GetFeatureInfo.Invalid.Pixel.Row.J
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

Verify that when a GetFeature request contains a Pixel Row J incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <Pixel.Row.J> elements;

  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 greater than 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 that is one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  18. the response entity contains a locator attribute value of "J".

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 24.21. Server KVP POST - GetFeatureInfo - Invalid Pixel.Col.I

Test case identifier Server.KVP.POST.GetFeatureInfo.Invalid.Pixel.Col.I
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

Verify that when a GetFeature request contains a Pixel Col I incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <Pixel.Col.I> elements;

  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 greater than 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 that is one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  18. the response entity contains a locator attribute value of "I".

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



25. Server XML POST Interface - Mandatory Common Operation Properties

Purpose

The Server XML POST Interface - Mandatory Common Operation Properties test group includes assertions that are common to the XML Post Interface for all operations.

List of Tables

25.1. Server XML POST HTTP Protocol Usage - Mandatory
25.2. Server XML POST Invalid Query - Mandatory Exception
25.3. Server XML POST Invalid Service - Mandatory Exception
25.4. Server XML POST Invalid Request - Mandatory Exception

Table 25.1. Server XML POST HTTP Protocol Usage - Mandatory

Test case identifier Server.XML.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

Test purpose

Test that a WMTS server observes the rules and conventions governing the use of HTTP POST 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 25.2. Server XML POST Invalid Query - Mandatory Exception

Test case identifier Server.XML.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

Test purpose

Test that a WMTS server returns a valid exception report and HTTP status code in response to an invalid query document.

Assertions

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

  1. the request entity is an invalid query document with mal-formed XML.

  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 25.3. Server XML POST Invalid Service - Mandatory Exception

Test case identifier Server.XML.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

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 XML document 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 25.4. Server XML POST Invalid Request - Mandatory Exception

Test case identifier Server.XML.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

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 XML document 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



26. Server XML POST Interface - Mandatory GetCapabilities Operation

Purpose

The Server XML POST Interface - Mandatory GetCapabilities test group includes XML POST GetCapabilities responses from the WMTS server to exercise all supported request parameters and validate response contents.

List of Tables

26.1. Server XML POST - GetCapabilities - Request with Mandatory Parameters
26.2. Server XML POST - GetCapabilities - Request with No Service Parameter
26.3. Server XML POST - GetCapabilities - Request with an Invalid Service Parameter Value
26.4. Server XML POST - GetCapabilities - Request with AcceptVersions - Valid Parameter Value
26.5. Server XML POST - GetCapabilities - Request with AcceptVersions - Invalid Parameter Value
26.6. Server XML POST - GetCapabilities - Request Optional parameter - Sections - value = All
26.7. Server XML POST - GetCapabilities - Request Optional parameter - Sections - value = ServiceIdentification
26.8. Server XML POST - GetCapabilities - Request Optional parameter - Sections - value = ServiceProvider
26.9. Server XML POST - GetCapabilities - Request Optional parameter - Sections - value = OperationsMetadata
26.10. Server XML POST - GetCapabilities - Request Optional parameter - Sections - value = Contents
26.11. Server XML POST - GetCapabilities - Request Optional parameter - Sections - value = Themes
26.12. Server XML POST - GetCapabilities - Request Optional parameter - Sections - value = Contents, Themes
26.13. Server XML POST - GetCapabilities - Request Optional parameter - Sections - value = Bogus
26.14. Server XML POST - GetCapabilities - Request Optional parameter - Sections - Missing Parameter Value
26.15. Server XML POST - GetCapabilities - Request Optional parameter - updateSequence
26.16. Server XML POST - GetCapabilities - Request Optional parameter - AcceptFormats
26.17. Server XML POST - GetCapabilities - Response Service Metadata Document XML is Well Formed
26.18. Server XML POST - GetCapabilities - Response Service Metadata Document references normative schema
26.19. Server XML POST - GetCapabilities - Response Service Metadata Document is schema valid
26.20. Server XML POST - GetCapabilities - Response Advertised Format application/xml
26.21. Server XML POST - GetCapabilities - Response OnlineResource is only resource prefix
26.22. Server XML POST - GetCapabilities - Response includes PostEncoding constraint
26.23. Server XML POST - GetCapabilities - Response Layer Identifiers are unique
26.24. Server XML POST - GetCapabilities - Response with no Layers contains otherSource URL
26.25. Server XML POST - GetCapabilities - Response Style Identifiers are unique for each Layer
26.26. Server XML POST - GetCapabilities - Response Layer LegendURLs are correct resources
26.27. Server XML POST - GetCapabilities - Response Layer LegendURLs are correct formats
26.28. Server XML POST - GetCapabilities - Response Layer LegendURLs are correct sizes
26.29. Server XML POST - GetCapabilities - Response Dimension Identifiers are unique for each Layer
26.30. Server XML POST - GetCapabilities - Response Layer TileMatrixSets are valid
26.31. Server XML POST - GetCapabilities - Response TileMatrixSet identifiers are unique
26.32. Server XML POST - GetCapabilities - Response TileMatrix identifiers are unique
26.33. Server XML POST - GetCapabilities - Response TileMatrixSet ScaleDenominators are unique
26.34. Server XML POST - GetCapabilities - Response TileMatrixSet WellKnownScaleSets are compatible with CRS and ScaleDenominator values
26.35. Server XML POST - GetCapabilities - Response Theme LayerRef valid

Table 26.1. Server XML POST - GetCapabilities - Request with mandatory parameters

Test case identifier Server.XML.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

Test purpose

Test that a WMTS server responds to a XML POST 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 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;

  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 26.2. Server XML POST - GetCapabilities - Request with no service parameter

Test case identifier Server.XML.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

Test purpose

Test that a WMTS server responds to a XML POST 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 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 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 26.3. Server XML POST - GetCapabilities - Request with invalid service parameter

Test case identifier Server.XML.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

Test purpose

Test that a WMTS server responds to a XML POST 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 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 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 26.4. Server XML POST - GetCapabilities - Optional AcceptVersions parameter with valid value

Test case identifier Server.XML.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

  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 XML POST 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 26.5. Server XML POST - GetCapabilities - Optional AcceptVersions parameter with invalid value

Test case identifier Server.XML.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

  2. the response entity has an <ows:Capabilities name="GetCapabilities"> element that contains a version attribute with a version number 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 XML POST 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 XML POST 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 26.6. Server XML POST - GetCapabilities Request - Optional parameter - Sections - value = All

Test case identifier Server.XML.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

Test purpose

Test that a WMTS server returns a complete Service Metadata document in response to 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 response 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

  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 16.7. Client XML POST - GetCapabilities - Optional parameter - Sections - value = ServiceIdentification

Test case identifier Server.XML.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

Test purpose

Test that a WMTS server returns a Service Metadata document containing only the ServiceIdentification section in response to 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 response 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

  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 26.8. Server XML POST - GetCapabilities Request - Optional parameter - Sections - value = ServiceProvider

Test case identifier Server.XML.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

Test purpose

Test that a WMTS server returns a Service Metadata document containing only the ServiceProvider section in response to 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 response 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

  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 26.9. Server XML POST - GetCapabilities Request - Optional parameter - Sections - value = OperationsMetadata

Test case identifier Server.XML.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

Test purpose

Test that a WMTS server returns a Service Metadata document containing only the OperationsMetadata section in response to 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 response 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

  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 26.10. Server XML POST - GetCapabilities Request - Optional parameter - Sections - value = Contents

Test case identifier Server.XML.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

Test purpose

Test that a WMTS server returns a Service Metadata document containing only the Contents section in response to 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

  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 26.11. Server XML POST - GetCapabilities Request - Optional parameter - Sections - value = Themes

Test case identifier Server.XML.POST.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: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 server returns a Service Metadata document containing only the Themes section in response to 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 response 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

  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 26.12. Server XML POST - GetCapabilities Request - Optional parameter - Sections - value = Contents, Themes

Test case identifier Server.XML.POST.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: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 server returns a Service Metadata document containing only the Contents and Themes sections in response to 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 response 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

  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 26.13. Server XML POST - GetCapabilities Request - Optional parameter - Sections - value = Bogus

Test case identifier Server.XML.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

Test purpose

Test that a WMTS server returns a valid exception report and HTTP status code in response to a XML POST 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 XML POST GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is Themes

  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 26.14. Server XML POST - GetCapabilities Request - Optional parameter - Sections - value = Missing

Test case identifier Server.XML.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

Test purpose

Test that a WMTS server returns a valid exception report and HTTP status code in response to a XML POST 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 XML POST 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 26.15. Server XML POST - GetCapabilities Reaquest - Optional parameter - updateSequence

Test case identifier Server.XML.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

  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 XML POST 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 XML POST 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 XML POST 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 26.16. Server XML POST - GetCapabilities Request - Optional parameter - AcceptFormats

Test case identifier Server.XML.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

  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 XML POST 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 XML POST 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 26.17. Server XML POST - GetCapabilities - Response Service Metadata document XML is well-formed

Test case identifier Server.XML.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "XML".

Test purpose

Test that a WMTS server responds to a XML POST 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 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;

  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 26.18. Server XML POST - GetCapabilities - Response Service Metadata document references normative schema

Test case identifier Server.XML.POST.GetCapabilities.Response.SchemaReferenced
Prerequisites

XML Well-Formed Server XML POST - GetCapabilities

  1. the response entity is a well-formed XML document.

Test purpose

Test that a WMTS server responds to a XML POST 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 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;

  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 26.19. Server XML POST - GetCapabilities - Response Service Metadata document is schema-valid

Test case identifier Server.XML.POST.GetCapabilities.Response.SchemaValid
Prerequisites

Schema Referenced Server XML POST - 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 XML POST 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 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;

  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 26.20. Server XML POST - GetCapabilities - Response Advertised Format application/xml

Test case identifier Server.XML.POST.GetCapabilities.Response.AdvertisedFormat
Prerequisites

Schema Valid Server XML POST - 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 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;

  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 26.21. Server XML POST - GetCapabilities - Response OnlineResource is only resource prefix

Test case identifier Server.XML.POST.GetCapabilities.Response.OnlineResource
Prerequisites

Schema Valid Server XML POST - 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 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;

  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 26.22. Server XML POST - GetCapabilities - Response includes PostEncoding constraint

Test case identifier Server.XML.POST.GetCapabilities.Response.PostEncoding.Constraint
Prerequisites

Schema Valid Server XML POST - 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 PostEncoding parameter.

Assertions

All of the following assertions must hold for the response 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;

  3. the response entity <ows:Operation><ows:DCP><ows:HTTP><ows:Get><ows:Constraint> element name attribute has a value of "PostEncoding" and a grandchild <ows:AllowedValues><ows:Value> element with a value of "XML".

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

Table 26.23. Server XML POST - GetCapabilities - Response Layer Identifiers are unique

Test case identifier Server.XML.POST.GetCapabilities.Response.Layer.Identifiers.Unique
Prerequisites

Schema Valid Server XML POST - 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 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;

  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 26.24. Server XML POST - GetCapabilities - Response with no Layers contains otherSource URL

Test case identifier Server.XML.POST.GetCapabilities.Response.No.Layers.OtherSource
Prerequisites

Schema Valid Server XML POST - 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 ows:OtherSource element with 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 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;

  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 26.25. Server XML POST - GetCapabilities - Response Style Identifiers are unique for each Layer

Test case identifier Server.XML.POST.GetCapabilities.Response.Style.Identifiers.Unique
Prerequisites

Schema Valid Server XML POST - 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 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;

  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 26.26. Server XML POST - GetCapabilities - Response Layer LegendURLs are correct resources

Test case identifier Server.XML.POST.GetCapabilities.Response.Layer.LegendURL.Correct.Resource
Prerequisites

Schema Valid Server XML POST - 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 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;

  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

    3. minScaleDenominator - must be the denominator of the minimum scale (inclusive) for which this legend image is valid

    4. maxScaleDenominator - must be the denominator of the maximum scale (exclusive) for which this legend image is valid

    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 26.27. Server XML POST - GetCapabilities - Response Layer LegendURLs are correct formats

Test case identifier Server.XML.POST.GetCapabilities.Response.Layer.LegendURL.Correct.Format
Prerequisites

Legend URL Metadata Server XML POST - 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 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;

  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 26.28. Server XML POST - GetCapabilities - Response Layer LegendURLs are correct sizes

Test case identifier Server.XML.POST.GetCapabilities.Response.Layer.LegendURL.Correct.Size
Prerequisites

Legend URL Metadata Server XML POST - 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 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;

  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 26.29. Server XML POST - GetCapabilities - Response Dimension Identifiers are unique for each Layer

Test case identifier Server.XML.POST.GetCapabilities.Response.Dimension.Identifiers.Unique
Prerequisites

Schema Valid Server XML POST - 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 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;

  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 26.30. Server XML POST - GetCapabilities - Response Layer TileMatrixSets are valid

Test case identifier Server.XML.POST.GetCapabilities.Response.Layer.TileMatrixSet.Valid
Prerequisites

Schema Valid Server XML POST - 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 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;

  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 26.31. Server XML POST - GetCapabilities - Response TileMatrixSet identifiers are unique

Test case identifier Server.XML.POST.GetCapabilities.Response.TileMatrixSet.Identifiers.Unique
Prerequisites

Schema Valid Server XML POST - 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 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;

  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
Test type Capability

Table 26.32. Server XML POST - GetCapabilities - Response TileMatrix identifiers are unique

Test case identifier Server.XML.POST.GetCapabilities.Response.TileMatrix.Identifiers.Unique
Prerequisites

Schema Valid Server XML POST - 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 TileMatrix 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 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;

  3. the response entity <Contents><TileMatrixSet><TileMatrix><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
Test type Capability

Table 26.33. Server XML POST - GetCapabilities - Response TileMatrixSet ScaleDenominators are unique

Test case identifier Server.XML.POST.GetCapabilities.Response.TileMatrixSet.ScaleDenominators.Unique
Prerequisites

Schema Valid Server XML POST - 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 tileMatrix of a tileMatrixSet has a unique (different) scaleDenominator.

Assertions

All of the following assertions must hold for the response 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;

  3. the response entity <Contents><TileMatrixSet><TileMatrix><ScaleDenominator> element text values are non-empty and unique for each <TileMatrixSet>.

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

Table 26.34. Server XML POST - GetCapabilities - Response TileMatrixSet WellKnownScaleSets are compatible with CRS and ScaleDenominator values

Test case identifier Server.XML.POST.GetCapabilities.Response.TileMatrixSet.WellKnownScaleSet
Prerequisites

Schema Valid Server XML POST - 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 must contain at least one <Contents><TileMatrixSet><WellKnownScaleSet> element with one of the following values:

    • urn:ogc:def:wkss:OGC:1.0:GlobalCRS84Scale
    • urn:ogc:def:wkss:OGC:1.0:GlobalCRS84Pixel
    • urn:ogc:def:wkss:OGC:1.0:GoogleCRS84Quad
    • urn:ogc:def:wkss:OGC:1.0:GoogleMapsCompatible
Test purpose

Verify that a WellKnownScaleSet is compatible with ScaleDenominator values.

Assertions

All of the following assertions must hold for the response 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;

  3. the <TileMatrixset><SupportedCRS> element value must match the CRS for the well known scale set:

    Well Known Scale Set Coordinate Reference System (CRS)
    urn:ogc:def:wkss:OGC:1.0:GlobalCRS84Scale urn:ogc:def:crs:OGC:1.3:CRS84
    urn:ogc:def:wkss:OGC:1.0:GlobalCRS84Pixel urn:ogc:def:crs:OGC:1.3:CRS84
    urn:ogc:def:wkss:OGC:1.0:GoogleCRS84Quad urn:ogc:def:crs:OGC:1.3:CRS84
    urn:ogc:def:wkss:OGC:1.0:GoogleMapsCompatible urn:ogc:def:crs:EPSG:6.18:3:3857
  4. each <Contents><TileMatrixSet> in the response entity that contains a <WellKnownScaleSet> must have <TileMatrix> elements with <ScaleDenominator> element text values for each <TileMatrixSet> starting from the largest scale denominator in the WellKnownScaleSet table in Annex E, and all intermediate scales denominators down to some ScaleDenominator minimum value for Layers that reference the TileMatrixSet.

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

Table 26.35. Server XML POST - GetCapabilities - Response Theme LayerRef valid

Test case identifier Server.XML.POST.GetCapabilities.Response.Theme.LayerRef.Valid
Prerequisites

Schema Valid Server XML POST - 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 contains at least one <Theme><LayerRef> element.

Test purpose

Verify that each Theme LayerRef element text value is equal to a Layer identifier in the content section.

Assertions

All of the following assertions must hold for the response 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;

  3. the response entity <Themes><Theme><LayerRef> element text values refer to <Contents><Layer><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



27. Server XML POST Interface - Mandatory GetTile Operation

Purpose

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

List of Tables

27.1. Server XML POST - GetTile - Mandatory parameters
27.2. Server XML POST - GetTile - Optional parameter - sample dimensions
27.3. Server XML POST - GetTile - Missing mandatory parameters
27.4. Server XML POST - GetTile - Invalid Layer
27.5. Server XML POST - GetTile - Invalid TileMatrixSet
27.6. Server XML POST - GetTile - Invalid TileMatrix
27.7. Server XML POST - GetTile - Invalid Tile Row - no TileMatrixSetLimits
27.8. Server XML POST - GetTile - Invalid Tile Col - no TileMatrixSetLimits
27.9. Server XML POST - GetTile - Invalid Tile Row - TileMatrixSetLimits
27.10. Server XML POST - GetTile - Invalid Tile Col - TileMatrixSetLimits
27.11. Server XML POST - GetTile - Invalid Tile Style
27.12. Server XML POST - GetTile - Missing optional parameters
27.13. Server XML POST - GetTile - Invalid Sample Dimension Name
27.14. Server XML POST - GetTile - Invalid Sample Dimension Value
27.15. Server XML POST - GetTile - Default Sample Dimension
27.16. Server XML POST - GetTile - Current Sample Dimension
27.17. Server XML POST - GetTile - Valid Tile Format
27.18. Server XML POST - GetTile - Invalid Tile Format
27.19. Server XML POST - GetTile - Valid Tile Size
27.20. Server XML POST - GetTile - Valid Tile Transparency

Table 27.1. Server XML POST - GetTile - Mandatory parameters

Test case identifier Server.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 <wmts:Layer>s with no <wmts:Dimension> or with every <wmtsDimension> with a <wmts:Default> dimension value.

Test purpose

Test that a WMTS server can return tiles advertised in its Service Metadata document in response to valid XML POST GetTile requests with valid values for mandatory parameters as specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the responses 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 for a layer with no sample dimensions or with every sample dimension having a default value;

  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 server returns a tile in response to a valid XML POST GetTile request for each tile 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 Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain tile resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 27.2. Server XML POST - GetTile - Optional Parameter - sample dimensions

Test case identifier Server.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 server can return tiles advertised in its Service Metadata document in response to valid XML POST GetTile requests with optional sample dimensions parameter valid values from the range specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the responses 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 server returns a tile in response to a valid XML POST GetTile request for each tile 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 Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain tile resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 27.3. Server XML POST - GetTile - Missing mandatory parameters

Test case identifier Server.XML.POST.GetTile.Missing
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 <wmts:Layer>s with no <wmts:Dimension> or with every <wmtsDimension> with a <wmts:Default> dimension value.

Test purpose

Verify that if a mandatory XML POST GetTile parameter is missing from an otherwise valid request, the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with no sample dimensions or with every sample dimension having a default value;, except when tested as missing;

  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, except when tested as missing;

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

  7. the request entity is a valid XML POST GetTile request with the mandatory TileMatrixSet parameterwith a TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing.

  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, except when tested as missing.

  13. the response entity is a schema-valid ows:Exception document.

  14. the response entity contains an exceptionCode attribute value of "MissingParameterValue".

  15. the response entity contains a locator attribute value of the name of the missing parameter.

  16. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate test requests with one of the following parameters missing, and other parameter values valid using the contents of Service Metadata document.
  • Layer
  • Style
  • Format
  • TileMatrixSet
  • TileMatrix
  • Row
  • Col
Check that responses contain valid exception reports. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 27.4. Server XML POST - GetTile - Invalid Layer

Test case identifier Server.XML.POST.GetTile.Invalid.Layer
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".

Test purpose

Verify that when a GetTile request contains a Layer incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 not listed in 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 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 response entity is a schema-valid ows:Exception document.

  14. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  15. the response entity contains a locator attribute value of "layer".

  16. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 27.5. Server XML POST - GetTile - Invalid TileMatrixSet

Test case identifier Server.XML.POST.GetTile.Invalid.TileMatrixSet
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 <TileMatrixSet> elements.

Test purpose

Verify that when a GetTile request contains a TileMatrixSet incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 not listed in 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 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 response entity is a schema-valid ows:Exception document.

  14. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  15. the response entity contains a locator attribute value of "TileMatrixSet".

  16. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 27.6. Server XML POST - GetTile - Invalid TileMatrix

Test case identifier Server.XML.POST.GetTile.Invalid.TileMatrix
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 <TileMatrix> elements.

Test purpose

Verify that when a GetTile request contains a TileMatrix incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 not listed in 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 some 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 some TileMatrix from the Service Metadata document;

  11. the response entity is a schema-valid ows:Exception document.

  12. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  13. the response entity contains a locator attribute value of "TileMatrix".

  14. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 27.7. Server XML POST - GetTile - Invalid Row - no TileMatrixSetLimits

Test case identifier Server.XML.POST.GetTile.Invalid.Tile.Row.No.TileMatrixSetLimits
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 advertises a Layer with no TileMatrixSetLimits.

Test purpose

Verify that when a GetTile request contains a Row incorrect value for a tile in a Layer with no TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 greater than the MatrixHeight in the TileMatrix for the tile in 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 response entity is a schema-valid ows:Exception document.

  12. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  13. the response entity contains a locator attribute value of "TileRow".

  14. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 27.8. Server XML POST - GetTile - Invalid Col - no TileMatrixSetLimits

Test case identifier Server.XML.POST.GetTile.Invalid.Tile.Col.No.TileMatrixSetLimits
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 advertises a Layer with no TileMatrixSetLimits.

Test purpose

Verify that when a GetTile request contains a Col incorrect value for a tile in a Layer with no TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 greater than the MatrixWidth for the TileMatrix of the tile in the Service Metadata document;

  11. the response entity is a schema-valid ows:Exception document.

  12. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  13. the response entity contains a locator attribute value of "TileCol".

  14. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 27.9. Server XML POST - GetTile - Invalid Row - TileMatrixSetLimits

Test case identifier Server.XML.POST.GetTile.Invalid.Tile.Row.TileMatrixSetLimits
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 advertises a Layer with TileMatrixSetLimits.

Test purpose

Verify that when a GetTile request contains a Row incorrect value for a tile in a Layer with TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 outside of the TileMatrixLimits MinTileRow and MaxTileRow values for the TileMatrix of the tile in 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 within the TileMatrixLimits MinTileCol and MaxTileCol values for the TileMatrix of the tile in the Service Metadata document;

  11. the response entity is a schema-valid ows:Exception document.

  12. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  13. the response entity contains a locator attribute value of "TileRow".

  14. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 27.10. Server XML POST - GetTile - Invalid Col - TileMatrixSetLimits

Test case identifier Server.XML.POST.GetTile.Invalid.Tile.Col.TileMatrixSetLimits
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 advertises a Layer with TileMatrixSetLimits.

Test purpose

Verify that when a GetTile request contains a Col incorrect value for a tile in a Layer with TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 parameter with a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values for the TileMatrix of the tile in 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 outside of the TileMatrixLimits MinTileCol and MaxTileCol values for the TileMatrix of the tile in the Service Metadata document;

  11. the response entity is a schema-valid ows:Exception document.

  12. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  13. the response entity contains a locator attribute value of "TileCol".

  14. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 27.11. Server XML POST - GetTile - Invalid Style

Test case identifier Server.XML.POST.GetTile.Invalid.Tile.Style
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".

Test purpose

Verify that when GetTile a request contains a Style incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 not listed in the Service Metadata document;

  6. the request entity is a valid XML POST GetTile request with the mandatory format parameter 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 response entity is a schema-valid ows:Exception document.

  14. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  15. the response entity contains a locator attribute value of "Style".

  16. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 27.12. Server XML POST - GetTile - Missing Optional Parameters

Test case identifier Server.XML.POST.GetTile.Missing.Optional
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. tthe 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 one or more <Dimension>s with no <Default> value.

Test purpose

Verify that when a GetTile request for a tile from a layer with a sample dimension with no default sample dimension value is missing a request parameter for the sample dimension name, that the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with a sample dimension with no default value;

  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 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 without an optional sample dimensions parameter for a sample dimension without a default value that is specified in the <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document for the specified layer.

  14. the response entity is a schema-valid ows:Exception document.

  15. the response entity contains an exceptionCode attribute value of "MissingParameterValue".

  16. the response entity contains a locator attribute value of the name of the sample dimension.

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 27.13. Server XML POST - GetTile - Invalid Sample Dimension Name

Test case identifier Server.XML.POST.GetTile.Invalid.SampleDimension.Name
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 one or more <Dimension>s.

Test purpose

Verify that when a GetTile request contains the name not defined as a sample dimension, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 that is not specified in a <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document;

  14. the request entity is a valid XML POST GetTile request with an optional sample dimensions parameter with any value.

  15. the response entity is a schema-valid ows:Exception document.

  16. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  17. the response entity contains a locator attribute value of the name of the sample dimension.

  18. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 27.14. Server XML POST - GetTile - Invalid Sample Dimension Value

Test case identifier Server.XML.POST.GetTile.Invalid.SampleDimension.Value
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 one or more <Dimension>s.

Test purpose

Verify that when a GetTile request contains a parameter name defined as a sample dimension with a value that is not defined for that dimension in the Service Metadata document, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 that is specified in a <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document;

  14. the request entity is a valid XML POST GetTile request with an optional sample dimensions parameter with a value that is not specified in a <Contents><Layer><Dimension><Value> in the Service Metadata document for that sample dimension.

  15. the response entity is a schema-valid ows:Exception document.

  16. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  17. the response entity contains a locator attribute value of the name of the sample dimension for which an invalid value was supplied in the request.

  18. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 27.15. Server XML POST - GetTile - Default Sample Dimension

Test case identifier Server.XML.POST.GetTile.Default.SampleDimension
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 one or more <Dimension>s with a <Default> element text value.

Test purpose

Test that a WMTS server can return tiles in response to valid XML POST GetTile requests with optional sample dimensions parameter with the "default" values specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the responses 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 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 specified in the Service Metadata document;

  14. the request entity is a valid XML POST GetTile request with an optional sample dimensions parameter with a value of "default".

  15. the server returns a tile from a Layer with a sample dimension with a default value in response to the XML POST GetTile request.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain the default tile resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 27.16. Server XML POST - GetTile - Current Sample Dimension

Test case identifier Server.XML.POST.GetTile.Current.SampleDimension
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 one or more <Dimension>s with a <Current> element text value.

Test purpose

Test that a WMTS server can return tiles in response to valid XML POST GetTile requests with optional sample dimensions parameter with the "current" values specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the responses 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 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 specified in the Service Metadata document;

  14. the request entity is a valid XML POST GetTile request with an optional sample dimensions parameter with a value of "current".

  15. the server returns a tile from a Layer with a sample dimension with a current value in response to the XML POST GetTile request.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain the current tile resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 27.17. Server XML POST - GetTile - Valid Tile Format

Test case identifier Server.XML.POST.GetTile.Valid.Tile.Format
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".

Test purpose

Test that the tiles returned by a WMTS server in response to valid XML POST GetTile requests with the tile formats advertised in the Service Metadata Document for each layer, and each sample dimension if applicable, are in the MIME types of the requested formats.

Assertions

All of the following assertions must hold for the responses 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 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 for a layer with sample dimensions 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 for a layer with sample dimensions 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 server returns a tile in the MIME type corresponding to the requested format from each format for each Layer (and sample dimension, if applicable) offered by the server.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain tile resources in MIME types corresponding to the requested formats. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 27.18. Server XML POST - GetTile - Invalid Tile Format

Test case identifier Server.XML.POST.GetTile.Invalid.Tile.Format
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".

Test purpose

Test that the responses returned by a WMTS server to XML POST GetTile requests with tile formats not advertised in the Service Metadata Document for each layer, and each sample dimension if applicable, are valid exception reports.

Assertions

All of the following assertions must hold for the responses 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 not advertised in 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 for a layer with sample dimensions 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 for a layer with sample dimensions 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 server returns a schema-valid ows:Exception document for an invalid (unadvertised) format for each Layer (and sample dimension, if applicable) offered by the server.

  16. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  17. the response entity contains a locator attribute value of "format".

  18. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the requests with contents of Service Metadata document, and formats not in the Service Metadata document. Check that responses contain valid exception reports and HTTP status codes. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 27.19. Server XML POST - GetTile - Valid Tile Size

Test case identifier Server.XML.POST.GetTile.Valid.Tile.Size
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".

Test purpose

Test that the tiles returned by a WMTS server in response to valid XML POST GetTile requests with the tile sizes (TileWidth and TileHeight) advertised in the Service Metadata Document for each TileMatrix in the TileMatrixSet of a Layer, and for each sample dimension of Layers with Dimensions, are the advertised sizes.

Assertions

All of the following assertions must hold for the responses 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 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 for a layer with sample dimensions 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 for a layer with sample dimensions 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 server returns a tile with the width and height of the returned image equal to the advertised TileWidth and TileHeight from each TileMatrix for each TileMatrixSet for each Layer, and for each sample dimension of Layers with Dimensions. offered by the server.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain tile resources of the correct sizes. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 27.20. Server XML POST - GetTile - Valid Tile Transparency

Test case identifier Server.XML.POST.GetTile.Valid.Tile.Transparency
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".

Test purpose

Verify that the returned tile has transparent color for NODATA values.

Assertions

All of the following assertions must hold for the responses 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 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 parameter with a MIME type format value equal to a <Layer><Format> value for the specified Layer from the Service Metadata document for a format that supports transparency, e.g. image/png;

  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 for a layer with sample dimensions 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 for a layer with sample dimensions 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 requested entity is a tile with NODATA.

  16. the server returns a tile with NODATA in the requestred format that supports transparency, e.g. image/png as a transparent image.

Test method Send a correct request for a Layer in a format that supports transparency and in a tile where NODATA values are expected and test for transparent color there. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



28. Server XML POST Interface - Optional GetFeatureInfo Operation

Purpose

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

List of Tables

28.1. Server XML POST - GetFeatureInfo - Mandatory parameters
28.2. Server XML POST - GetFeatureInfo - Optional parameter
28.3. Server XML POST - GetFeatureInfo - Missing parameters
28.4. Server XML POST - GetFeatureInfo - Invalid Layer
28.5. Server XML POST - GetFeatureInfo - Invalid TileMatrixSet
28.6. Server XML POST - GetFeatureInfo - Invalid TileMatrix
28.7. Server XML POST - GetFeatureInfo - Invalid Tile Row - no TileMatrixSetLimits
28.8. Server XML POST - GetFeatureInfo - Invalid Tile Col - no TileMatrixSetLimits
28.9. Server XML POST - GetFeatureInfo - Invalid Tile Row - TileMatrixSetLimits
28.10. Server XML POST - GetFeatureInfo - Invalid Tile Col - TileMatrixSetLimits
28.11. Server XML POST - GetFeatureInfo - Invalid Tile Style
28.12. Server XML POST - GetFeatureInfo - Missing optional parameters
28.13. Server XML POST - GetFeatureInfo - Invalid Sample Dimension Name
28.14. Server XML POST - GetFeatureInfo - Invalid Sample Dimension Value
28.15. Server XML POST - GetFeatureInfo - Default Sample Dimension
28.16. Server XML POST - GetFeatureInfo - Current Sample Dimension
28.17. Server XML POST - GetFeatureInfo - Non-Queryable Layer
28.18. Server XML POST - GetFeatureInfo - Valid InfoFormat
28.19. Server XML POST - GetFeatureInfo - Invalid InfoFormat
28.20. Server XML POST - GetFeatureInfo - Invalid Pixel Row J
28.21. Server XML POST - GetFeatureInfo - Invalid Pixel Col I

Table 28.1. Server XML POST - GetFeatureInfo - Mandatory parameters

Test case identifier Server.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 and with no <wmts:Dimension> or with every <wmtsDimension> with a <wmts:Default> dimension value..

Test purpose

Test that a WMTS server can return FeatureInfo for pixels in tiles advertised in its Service Metadata document in response to valid XML POST GetFeatureInfo requests with valid values for mandatory parameters as 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 for a layer with <InfoFormat> elements and with no sample dimensions or with every sample dimension having a default value;

  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 server returns FeatureInfo in response to a valid XML POST GetFeatureInfo request for sample pixels from each tile 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 Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain FeatureInfo resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 28.2. Server XML POST - GetFeatureInfo - Optional Parameter - sample dimensions

Test case identifier Server.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 with three or more <Dimension>s.

Test purpose

Test that a WMTS server can return FeatureInfo for pixels in tiles advertised in its Service Metadata document in response to valid XML POST GetFeatureInfo requests with optional sample dimensions parameter valid values 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 for a layer with <InfoFormat> elements;

  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 server returns FeatureInfo in response to a valid XML POST GetFeatureInfo request for sample pixels from each tile 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 Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain FeatureInfo resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 28.3. Server XML POST - GetFeatureInfo - Missing mandatory parameters

Test case identifier Server.XML.POST.GetFeatureInfo.Missing
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 with no <wmts:Dimension> or with every <wmtsDimension> with a <wmts:Default> dimension value.

Test purpose

Verify that if a mandatory XML POST GetFeatureInfo parameter is missing from an otherwise valid request, the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements and with no sample dimensions or with every sample dimension having a default value, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing.

  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, except when tested as missing.

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  16. the response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "MissingParameterValue".

  18. the response entity contains a locator attribute value of the name of the missing parameter.

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate test requests with one of the following parameters missing, and other parameter values valid using the contents of Service Metadata document.
  • Layer
  • Style
  • Format
  • TileMatrixSet
  • TileMatrix
  • Row
  • Col
  • J
  • I
  • InfoFormat
Check that responses contain valid exception reports. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 28.4. Server XML POST - GetFeatureInfo - Invalid Layer

Test case identifier Server.XML.POST.GetFeatureInfo.Invalid.Layer
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

Verify that when a GetFeatureInfo request contains a Layer incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 not 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 response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  18. the response entity contains a locator attribute value of "layer".

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 28.5. Server XML POST - GetFeatureInfo - Invalid TileMatrixSet

Test case identifier Server.XML.POST.GetFeatureInfo.Invalid.TileMatrixSet
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

Verify that when a GetFeatureInfo request contains a TileMatrixSet incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 not listed in 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 a 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 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;

  12. 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;

  13. 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;

  14. the response entity is a schema-valid ows:Exception document.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileMatrixSet".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 28.6. Server XML POST - GetFeatureInfo - Invalid TileMatrix

Test case identifier Server.XML.POST.GetFeatureInfo.Invalid.TileMatrix
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 a <TileMatrixSetLink> to a <TileMatrixSet> with two or more <TileMatrix> elements.

Test purpose

Verify that when a GetFeatureInfo request contains a TileMatrix incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 not listed in 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 some 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 some TileMatrix from the Service Metadata document;

  11. 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 some TileMatrix from the Service Metadata document;

  12. 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 some TileMatrix from the Service Metadata document;

  13. 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;

  14. the response entity is a schema-valid ows:Exception document.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileMatrix".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 28.7. Server XML POST - GetFeatureInfo - Invalid Row - no TileMatrixSetLimits

Test case identifier Server.XML.POST.GetFeatureInfo.Invalid.Tile.Row.No.TileMatrixSetLimits
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 a <TileMatrixSetLink> with no <TileMatrixSetLimits>.

Test purpose

Verify that when a GetFeatureInfo request contains a Row incorrect value for a tile in a Layer with no TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 greater than the MatrixHeight in the TileMatrix for the tile in 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 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;

  12. 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;

  13. 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;

  14. the response entity is a schema-valid ows:Exception document.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileRow".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 28.8. Server XML POST - GetFeatureInfo - Invalid Col - no TileMatrixSetLimits

Test case identifier Server.XML.POST.GetFeatureInfo.Invalid.Tile.Col.No.TileMatrixSetLimits
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 a <TileMatrixSetLink> with no <TileMatrixSetLimits>.

Test purpose

Verify that when a GetFeatureInfo request contains a Col incorrect value for a tile in a Layer with no TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 greater than the MatrixWidth for the TileMatrix of the tile in the Service Metadata document;

  11. 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;

  12. 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;

  13. 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;

  14. the response entity is a schema-valid ows:Exception document.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileCol".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 28.9. Server XML POST - GetFeatureInfo - Invalid Row - TileMatrixSetLimits

Test case identifier Server.XML.POST.GetFeatureInfo.Invalid.Tile.Row.TileMatrixSetLimits
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 a <TileMatrixSetLink> with <TileMatrixSetLimits>.

Test purpose

Verify that when a GetFeatureInfo request contains a Row incorrect value for a tile in a Layer with TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 outside of the TileMatrixLimits MinTileRow and MaxTileRow values for the TileMatrix of the tile in 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 within the TileMatrixLimits MinTileCol and MaxTileCol values for the TileMatrix of the tile in the Service Metadata document;

  11. 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;

  12. 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;

  13. 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;

  14. the response entity is a schema-valid ows:Exception document.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileRow".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 28.10. Server XML POST - GetFeatureInfo - Invalid Col - TileMatrixSetLimits

Test case identifier Server.XML.POST.GetFeatureInfo.Invalid.Tile.Col.TileMatrixSetLimits
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 a <TileMatrixSetLink> with <TileMatrixSetLimits>.

Test purpose

Verify that when a GetFeatureInfo request contains a Col incorrect value for a tile in a Layer with TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 within the TileMatrixLimits MinTileRow and MaxTileRow values for the TileMatrix of the tile in 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 outside of the TileMatrixLimits MinTileCol and MaxTileCol values for the TileMatrix of the tile in the Service Metadata document;

  11. 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;

  12. 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;

  13. 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;

  14. the response entity is a schema-valid ows:Exception document.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileCol".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 28.11. Server XML POST - GetFeatureInfo - Invalid Style

Test case identifier Server.XML.POST.GetFeatureInfo.Invalid.Tile.Style
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

Verify that when GetFeatureInfo a request contains a Style incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  5. the request entity is a valid XML POST GetFeatureInfo request with the mandatory Style parameter with a style identifier value not listed in 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 response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  18. the response entity contains a locator attribute value of "Style".

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 24.12. Server XML POST - GetFeatureInfo - Missing Optional Parameters

Test case identifier Server.XML.POST.GetFeatureInfo.Missing.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 "XML".

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

Test purpose

Verify that when a GetFeatureInfo request for a tile from a layer with a sample dimension with no default sample dimension value is missing a request parameter for the sample dimension name, that the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with a sample dimension with no default value;

  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 parameter with a MIME type format value equal to an <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 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 XML POST GetFeatureInfo request without an optional sample dimensions parameter for a sample dimension without a default value that is specified in the <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document for the specified layer.

  16. the response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "MissingParameterValue".

  18. the response entity contains a locator attribute value of the name of the sample dimension.

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 28.13. Server XML POST - GetFeatureInfo - Invalid Sample Dimension Name

Test case identifier Server.XML.POST.GetFeatureInfo.Invalid.SampleDimension.Name
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 one or more <Dimension>s.

Test purpose

Verify that when a GetFeatureInfo request contains the name not defined as a sample dimension, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 request entity is a valid XML POST GetFeatureInfo request with an optional sample dimensions parameter with a name that is not specified in a <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document;

  17. the request entity is a valid XML POST GetFeatureInfo request with an optional sample dimensions parameter with any value.

  18. the response entity is a schema-valid ows:Exception document.

  19. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  20. the response entity contains a locator attribute value of the name of the sample dimension.

  21. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 28.14. Server XML POST - GetFeatureInfo - Invalid Sample Dimension Value

Test case identifier Server.XML.POST.GetFeatureInfo.Invalid.SampleDimension.Value
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 one or more <Dimension>s.

Test purpose

Verify that when a GetFeatureInfo request contains a parameter name defined as a sample dimension with a value that is not defined for that dimension in the Service Metadata document, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 request entity is a valid XML POST GetFeatureInfo request with an optional sample dimensions parameter with a name that is specified in a <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document;

  17. the request entity is a valid XML POST GetFeatureInfo request with an optional sample dimensions parameter with a value that is not specified in a <Contents><Layer><Dimension><Value> in the Service Metadata document for that sample dimension.

  18. the response entity is a schema-valid ows:Exception document.

  19. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  20. the response entity contains a locator attribute value of the name of the sample dimension for which an invalid value was supplied in the request.

  21. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 28.15. Server XML POST - GetFeatureInfo - Default Sample Dimension

Test case identifier Server.XML.POST.GetFeatureInfo.Default.SampleDimension
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 one or more <Dimension>s with a <Default> element text value.

Test purpose

Test that a WMTS server can return tiles in response to valid XML POST GetFeatureInfo requests with optional sample dimensions parameter with the "default" values specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 request entity is a valid XML POST GetFeatureInfo request with an optional sample dimensions parameter with a name specified in the Service Metadata document;

  17. the request entity is a valid XML POST GetFeatureInfo request with an optional sample dimensions parameter with a value of "default".

  18. the server returns FeatureInfo from a Layer with a sample dimension with a default value in response to the XML POST GetFeatureInfo request.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain FeatureInfo for the specified pixel for the specified tile for the default sample dimension. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 28.16. Server XML POST - GetFeatureInfo - Current Sample Dimension

Test case identifier Server.XML.POST.GetFeatureInfo.Current.SampleDimension
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 one or more <Dimension>s with a <Current> element text value.

Test purpose

Test that a WMTS server can return tiles in response to valid XML POST GetFeatureInfo requests with optional sample dimensions parameter with the "current" values specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 request entity is a valid XML POST GetFeatureInfo request with an optional sample dimensions parameter with a name specified in the Service Metadata document;

  17. the request entity is a valid XML POST GetFeatureInfo request with an optional sample dimensions parameter with a value of "current".

  18. the server returns FeatureInfo from a Layer with a sample dimension with a current value in response to the XML POST GetFeatureInfo request.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain FeatureInfo for the specified pixel for the specified tile for the default sample dimension. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 28.17. Server XML POST - GetFeatureInfo - Non-Queryable Layer

Test case identifier Server.XML.POST.GetFeatureInfo.NonQueryable.Layer
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 no <InfoFormat>s.

Test purpose

Verify that when a GetFeatureInfo request is made for a non-queryable layer, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 wwith a layer identifier value equal to a <Layer><ows:Identifier> value from the Service Metadata document for a layer with no <InfoFormat> elements;

  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 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 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 any value;

  16. the response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "OperationNotSupported".

  18. the response entity contains a locator attribute value of "GetFeatureInfo".

  19. the HTTP status code value is set to 501, corresponding to the message "Not Implemented".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 20.18. Server XML POST - GetFeatureInfo - Valid InfoFormat

Test case identifier Server.XML.POST.GetFeatureInfo.Valid.InfoFormat
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

Verify that for each GetFeatureInfo format, when the InfoFormat parameter is set to that format or URLtemplate having a format parameter, the MIME type of the response matches that format.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 that is one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the server returns FeatureInfo in response to a valid XML POST GetFeatureInfo request for each offered InfoFormat for each Layer with a FeatureInfo document of the requested InfoFormat MIME type.

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 28.19. Server XML POST - GetFeatureInfo - Invalid InfoFormat

Test case identifier Server.XML.POST.GetFeatureInfo.Invalid.InfoFormat
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

Verify that when a GetFeature request contains an InfoFormat incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <InfoFormat> elements;

  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 that is not one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "OperationNotSupported".

  18. the response entity contains a locator attribute value of "GetFeatureInfo".

  19. the HTTP status code value is set to 501, corresponding to the message "Not Implemented".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 28.20. Server XML POST - GetFeatureInfo - Invalid Pixel.Row.J

Test case identifier Server.XML.POST.GetFeatureInfo.Invalid.Pixel.Row.J
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

Verify that when a GetFeature request contains a Pixel Row J incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <Pixel.Row.J> elements;

  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 greater than 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 that is one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  18. the response entity contains a locator attribute value of "J".

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 28.21. Server XML POST - GetFeatureInfo - Invalid Pixel.Col.I

Test case identifier Server.XML.POST.GetFeatureInfo.Invalid.Pixel.Col.I
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

Verify that when a GetFeature request contains a Pixel Col I incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 for a layer with <Pixel.Col.I> elements;

  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 greater than 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 that is one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  18. the response entity contains a locator attribute value of "I".

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



29. Server SOAP POST Interface - Mandatory Common Operation Properties

Purpose

The Server SOAP POST Interface - Mandatory Common Operation Properties test group includes assertions that are common to the SOAP Post Interface for all operations.

List of Tables

29.1. Server SOAP POST HTTP Protocol Usage - Mandatory
29.2. Server SOAP POST Invalid Query - Mandatory Exception
29.3. Server SOAP POST Invalid Service - Mandatory Exception
29.4. Server SOAP POST Invalid Request - Mandatory Exception

Table 29.1. Server SOAP POST HTTP Protocol Usage - Mandatory

Test case identifier Server.SOAP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

Test purpose

Test that a WMTS server observes the rules and conventions governing the use of HTTP POST 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 29.2. Server SOAP POST Invalid Query - Mandatory Exception

Test case identifier Server.SOAP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

Test purpose

Test that a WMTS server returns a valid exception report and HTTP status code in response to an invalid query document.

Assertions

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

  1. the request entity is an invalid query document with mal-formed XML.

  2. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  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 29.3. Server SOAP POST Invalid Service - Mandatory Exception

Test case identifier Server.SOAP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

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 XML document service parameter value is "BOGUS".

  2. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  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 29.4. Server SOAP POST Invalid Request - Mandatory Exception

Test case identifier Server.SOAP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

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 XML document request parameter value is "GetBOGUS".

  2. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  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



30. Server SOAP POST Interface - Mandatory GetCapabilities Operation

Purpose

The Server SOAP POST Interface - Mandatory GetCapabilities test group includes SOAP POST GetCapabilities responses from the WMTS server to exercise all supported request parameters and validate response contents.

List of Tables

30.1. Server SOAP POST - GetCapabilities - Request with Mandatory Parameters
30.2. Server SOAP POST - GetCapabilities - Request with No Service Parameter
30.3. Server SOAP POST - GetCapabilities - Request with an Invalid Service Parameter Value
30.4. Server SOAP POST - GetCapabilities - Request with AcceptVersions - Valid Parameter Value
30.5. Server SOAP POST - GetCapabilities - Request with AcceptVersions - Invalid Parameter Value
30.6. Server SOAP POST - GetCapabilities - Request Optional parameter - Sections - value = All
30.7. Server SOAP POST - GetCapabilities - Request Optional parameter - Sections - value = ServiceIdentification
30.8. Server SOAP POST - GetCapabilities - Request Optional parameter - Sections - value = ServiceProvider
30.9. Server SOAP POST - GetCapabilities - Request Optional parameter - Sections - value = OperationsMetadata
30.10. Server SOAP POST - GetCapabilities - Request Optional parameter - Sections - value = Contents
30.11. Server SOAP POST - GetCapabilities - Request Optional parameter - Sections - value = Themes
30.12. Server SOAP POST - GetCapabilities - Request Optional parameter - Sections - value = Contents, Themes
30.13. Server SOAP POST - GetCapabilities - Request Optional parameter - Sections - value = Bogus
30.14. Server SOAP POST - GetCapabilities - Request Optional parameter - Sections - Missing Parameter Value
30.15. Server SOAP POST - GetCapabilities - Request Optional parameter - updateSequence
30.16. Server SOAP POST - GetCapabilities - Request Optional parameter - AcceptFormats
30.17. Server SOAP POST - GetCapabilities - Response Service Metadata Document XML is Well Formed
30.18. Server SOAP POST - GetCapabilities - Response Service Metadata Document references normative schema
30.19. Server SOAP POST - GetCapabilities - Response Service Metadata Document is schema valid
30.20. Server SOAP POST - GetCapabilities - Response Advertised Format application/xml
30.21. Server SOAP POST - GetCapabilities - Response OnlineResource is only resource prefix
30.22. Server SOAP POST - GetCapabilities - Response includes PostEncoding constraint
30.23. Server SOAP POST - GetCapabilities - Response Layer Identifiers are unique
30.24. Server SOAP POST - GetCapabilities - Response with no Layers contains otherSource URL
30.25. Server SOAP POST - GetCapabilities - Response Style Identifiers are unique for each Layer
30.26. Server SOAP POST - GetCapabilities - Response Layer LegendURLs are correct resources
30.27. Server SOAP POST - GetCapabilities - Response Layer LegendURLs are correct formats
30.28. Server SOAP POST - GetCapabilities - Response Layer LegendURLs are correct sizes
30.29. Server SOAP POST - GetCapabilities - Response Dimension Identifiers are unique for each Layer
30.30. Server SOAP POST - GetCapabilities - Response Layer TileMatrixSets are valid
30.31. Server SOAP POST - GetCapabilities - Response TileMatrixSet identifiers are unique
30.32. Server SOAP POST - GetCapabilities - Response TileMatrix identifiers are unique
30.33. Server SOAP POST - GetCapabilities - Response TileMatrixSet ScaleDenominators are unique
30.34. Server SOAP POST - GetCapabilities - Response TileMatrixSet WellKnownScaleSets are compatible with CRS and ScaleDenominator values
30.35. Server SOAP POST - GetCapabilities - Response Theme LayerRef valid

Table 30.1. Server SOAP POST - GetCapabilities - Request with mandatory parameters

Test case identifier Server.SOAP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

Test purpose

Test that a WMTS server responds to a SOAP POST 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 SOAP POST GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

  2. the request entity is a valid SOAP POST 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, wrapped in the SOAP version 1.2 envelope.

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

Table 30.2. Server SOAP POST - GetCapabilities - Request with no service parameter

Test case identifier Server.SOAP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

Test purpose

Test that a WMTS server responds to a SOAP POST 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 SOAP POST GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

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

  3. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  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 30.3. Server SOAP POST - GetCapabilities - Request with invalid service parameter

Test case identifier Server.SOAP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

Test purpose

Test that a WMTS server responds to a SOAP POST 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 SOAP POST GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

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

  3. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  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 30.4. Server SOAP POST - GetCapabilities - Optional AcceptVersions parameter with valid value

Test case identifier Server.SOAP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

  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 SOAP POST 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 30.5. Server SOAP POST - GetCapabilities - Optional AcceptVersions parameter with invalid value

Test case identifier Server.SOAP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

  2. the response entity has an <ows:Capabilities name="GetCapabilities"> element that contains a version attribute with a version number 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 SOAP POST 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 SOAP POST 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 a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  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 30.6. Server SOAP POST - GetCapabilities Request - Optional parameter - Sections - value = All

Test case identifier Server.SOAP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

Test purpose

Test that a WMTS server returns a complete Service Metadata document in response to a SOAP POST 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 SOAP POST 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, wrapped in the SOAP version 1.2 envelope.

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

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

Test case identifier Server.SOAP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

Test purpose

Test that a WMTS server returns a Service Metadata document containing only the ServiceIdentification section in response to a SOAP POST 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 SOAP POST 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, wrapped in the SOAP version 1.2 envelope.

Test method Check the content of the request and response. Pass if all assertions hold; set status to "Skip" if the response entity contains a valid WMTS Service Metadata document containing all sections; fail otherwise.
Reference
Test type Capability

Table 30.8. Server SOAP POST - GetCapabilities Request - Optional parameter - Sections - value = ServiceProvider

Test case identifier Server.SOAP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

Test purpose

Test that a WMTS server returns a Service Metadata document containing only the ServiceProvider section in response to a SOAP POST 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 SOAP POST 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, wrapped in the SOAP version 1.2 envelope.

Test method Check the content of the request and response. Pass if all assertions hold; set status to "Skip" if the response entity contains a valid WMTS Service Metadata document containing all sections; fail otherwise.
Reference
Test type Capability

Table 30.9. Server SOAP POST - GetCapabilities Request - Optional parameter - Sections - value = OperationsMetadata

Test case identifier Server.SOAP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

Test purpose

Test that a WMTS server returns a Service Metadata document containing only the OperationsMetadata section in response to a SOAP POST 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 SOAP POST 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, wrapped in the SOAP version 1.2 envelope.

Test method Check the content of the request and response. Pass if all assertions hold; set status to "Skip" if the response entity contains a valid WMTS Service Metadata document containing all sections; fail otherwise.
Reference
Test type Capability

Table 30.10. Server SOAP POST - GetCapabilities Request - Optional parameter - Sections - value = Contents

Test case identifier Server.SOAP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

Test purpose

Test that a WMTS server returns a Service Metadata document containing only the Contents section in response to a SOAP 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 SOAP POST 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, wrapped in the SOAP version 1.2 envelope.

Test method Check the content of the request and response. Pass if all assertions hold; set status to "Skip" if the response entity contains a valid WMTS Service Metadata document containing all sections; fail otherwise.
Reference
Test type Capability

Table 30.11. Server SOAP POST - GetCapabilities Request - Optional parameter - Sections - value = Themes

Test case identifier Server.SOAP.POST.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: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 server returns a Service Metadata document containing only the Themes section in response to a SOAP POST 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 SOAP POST 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, wrapped in the SOAP version 1.2 envelope.

Test method Check the content of the request and response. Pass if all assertions hold; set status to "Skip" if the response entity contains a valid WMTS Service Metadata document containing all sections; fail otherwise.
Reference
Test type Capability

Table 30.12. Server SOAP POST - GetCapabilities Request - Optional parameter - Sections - value = Contents, Themes

Test case identifier Server.SOAP.POST.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: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 server returns a Service Metadata document containing only the Contents and Themes sections in response to a SOAP 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 response to be valid:

  1. the request entity is a valid SOAP POST 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, wrapped in the SOAP version 1.2 envelope.

Test method Check the content of the request and response. Pass if all assertions hold; set status to "Skip" if the response entity containing a valid WMTS Service Metadata document containing all sections; fail otherwise.
Reference
Test type Capability

Table 30.13. Server SOAP POST - GetCapabilities Request - Optional parameter - Sections - value = Bogus

Test case identifier Server.SOAP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

Test purpose

Test that a WMTS server returns a valid exception report and HTTP status code in response to a SOAP POST 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 SOAP POST GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is Themes

  3. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  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 30.14. Server SOAP POST - GetCapabilities Request - Optional parameter - Sections - value = Missing

Test case identifier Server.SOAP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

Test purpose

Test that a WMTS server returns a valid exception report and HTTP status code in response to a SOAP POST 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 SOAP POST GetCapabilities request with the optional Sections parameter;

  2. the value of the Sections parameter is missing

  3. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  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 30.15. Server SOAP POST - GetCapabilities Reaquest - Optional parameter - updateSequence

Test case identifier Server.SOAP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

  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 SOAP POST 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, wrapped in the SOAP version 1.2 envelope.

  2. Operation Request updateSequence value is less than Service Metadata updateSequence value.

    1. the request entity is a valid SOAP POST 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, wrapped in the SOAP version 1.2 envelope.

  3. Operation Request updateSequence value is greater than Service Metadata updateSequence value.

    1. the request entity is a valid SOAP POST 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 a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

    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 30.16. Server SOAP POST - GetCapabilities Request - Optional parameter - AcceptFormats

Test case identifier Server.SOAP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

  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 SOAP POST 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, wrapped in the SOAP version 1.2 envelope.

  2. Request AcceptFormats parameter value is not supported by the server.

    1. the request entity is a valid SOAP POST 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, wrapped in the SOAP version 1.2 envelope.

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

Table 30.17. Server SOAP POST - GetCapabilities - Response Service Metadata document XML is well-formed

Test case identifier Server.SOAP.POST.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:Post><ows:Constraint name="PostEncoding"><ows:AllowedValues><ows:Value> child element with a value of "SOAP".

Test purpose

Test that a WMTS server responds to a SOAP POST 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 SOAP POST GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

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

  3. the response entity is a well-formed XML document, wrapped in the SOAP version 1.2 envelope.

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

Table 30.18. Server SOAP POST - GetCapabilities - Response Service Metadata document references normative schema

Test case identifier Server.SOAP.POST.GetCapabilities.Response.SchemaReferenced
Prerequisites

XML Well-Formed Server SOAP POST - GetCapabilities

  1. the response entity is a well-formed XML document, wrapped in the SOAP version 1.2 envelope.

Test purpose

Test that a WMTS server responds to a SOAP POST 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 SOAP POST GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

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

  3. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope 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 30.19. Server SOAP POST - GetCapabilities - Response Service Metadata document is schema-valid

Test case identifier Server.SOAP.POST.GetCapabilities.Response.SchemaValid
Prerequisites

Schema Referenced Server SOAP POST - GetCapabilities

  1. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope references a normative(wmts.xsd or wmtsGetCapabilities_response.xsd) XML schema.

Test purpose

Test that a WMTS server responds to a SOAP POST 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 SOAP POST GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

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

  3. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope 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 30.20. Server SOAP POST - GetCapabilities - Response Advertised Format application/xml

Test case identifier Server.SOAP.POST.GetCapabilities.Response.AdvertisedFormat
Prerequisites

Schema Valid Server SOAP POST - GetCapabilities

  1. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope 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 SOAP POST GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

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

  3. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope 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 30.21. Server SOAP POST - GetCapabilities - Response OnlineResource is only resource prefix

Test case identifier Server.SOAP.POST.GetCapabilities.Response.OnlineResource
Prerequisites

Schema Valid Server SOAP POST - GetCapabilities

  1. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope 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 SOAP POST GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

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

  3. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope has <ows:Operation><ows:DCP><ows:HTTP><ows:Get> xlink:href attribute values that 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 30.22. Server SOAP POST - GetCapabilities - Response includes PostEncoding constraint

Test case identifier Server.SOAP.POST.GetCapabilities.Response.PostEncoding.Constraint
Prerequisites

Schema Valid Server SOAP POST - GetCapabilities

  1. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope 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 PostEncoding parameter.

Assertions

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

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

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

  3. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope has an <ows:Operation><ows:DCP><ows:HTTP><ows:Get><ows:Constraint> element name attribute that has a value of "PostEncoding" and a grandchild <ows:AllowedValues><ows:Value> element with a value of "SOAP".

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

Table 30.23. Server SOAP POST - GetCapabilities - Response Layer Identifiers are unique

Test case identifier Server.SOAP.POST.GetCapabilities.Response.Layer.Identifiers.Unique
Prerequisites

Schema Valid Server SOAP POST - GetCapabilities

  1. the response entity Capabilites document wrapped in the SOAP version 1.2 envelope 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 SOAP POST GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

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

  3. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope has <Contents><Layer><ows:Identifier> element text values that 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 30.24. Server SOAP POST - GetCapabilities - Response with no Layers contains otherSource URL

Test case identifier Server.SOAP.POST.GetCapabilities.Response.No.Layers.OtherSource
Prerequisites

Schema Valid Server SOAP POST - GetCapabilities

  1. the response entity Capabilites document wrapped in a SOAP 1.2 Envelope is schema-valid with respect to a normative(wmts.xsd or wmtsGetCapabilities_response.xsd) XML schema.

  2. the response entity Capabilities document wrapped n a SOAP 1.2 Envelope does not contain any <Layer> elements.

Test purpose

Verify that a Service Metadata document with no <Layer> elements contains an ows:OtherSource element with 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 SOAP POST GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

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

  3. the response entity Capabilities document wrapped in a SOAP 1.2 Envelope 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 30.25. Server SOAP POST - GetCapabilities - Response Style Identifiers are unique for each Layer

Test case identifier Server.SOAP.POST.GetCapabilities.Response.Style.Identifiers.Unique
Prerequisites

Schema Valid Server SOAP POST - GetCapabilities

  1. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope 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 SOAP POST GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

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

  3. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope has <Contents><Layer><Style><ows:Identifier> element text values that 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 30.26. Server SOAP POST - GetCapabilities - Response Layer LegendURLs are correct resources

Test case identifier Server.SOAP.POST.GetCapabilities.Response.Layer.LegendURL.Correct.Resource
Prerequisites

Schema Valid Server SOAP POST - GetCapabilities

  1. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope 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 SOAP POST GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

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

  3. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope has <Contents><Layer><Style><LegendURL> elements that 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

    3. minScaleDenominator - must be the denominator of the minimum scale (inclusive) for which this legend image is valid

    4. maxScaleDenominator - must be the denominator of the maximum scale (exclusive) for which this legend image is valid

    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 30.27. Server SOAP POST - GetCapabilities - Response Layer LegendURLs are correct formats

Test case identifier Server.SOAP.POST.GetCapabilities.Response.Layer.LegendURL.Correct.Format
Prerequisites

Legend URL Metadata Server SOAP POST - 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 SOAP POST GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

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

  3. legend images referenced via the response entity Capabilities document wrapped in the SOAP version 1.2 envelope has <Contents><Layer><Style><LegendURL> element xlink:href attributes that 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 30.28. Server SOAP POST - GetCapabilities - Response Layer LegendURLs are correct sizes

Test case identifier Server.SOAP.POST.GetCapabilities.Response.Layer.LegendURL.Correct.Size
Prerequisites

Legend URL Metadata Server SOAP POST - 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 SOAP POST GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

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

  3. legend images referenced via the response entity Capabilities document wrapped in the SOAP version 1.2 envelope has <Contents><Layer><Style><LegendURL> element xlink:href attributes that 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 30.29. Server SOAP POST - GetCapabilities - Response Dimension Identifiers are unique for each Layer

Test case identifier Server.SOAP.POST.GetCapabilities.Response.Dimension.Identifiers.Unique
Prerequisites

Schema Valid Server SOAP POST - GetCapabilities

  1. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope 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 SOAP POST GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

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

  3. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope has <Contents><Layer><Dimension><ows:Identifier> element text values that 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 30.30. Server SOAP POST - GetCapabilities - Response Layer TileMatrixSets are valid

Test case identifier Server.SOAP.POST.GetCapabilities.Response.Layer.TileMatrixSet.Valid
Prerequisites

Schema Valid Server SOAP POST - GetCapabilities

  1. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope 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 SOAP POST GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

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

  3. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope has <Contents><Layer><TileMatrixSetLink><TileMatrixSet> element text values that 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 30.31. Server SOAP POST - GetCapabilities - Response TileMatrixSet identifiers are unique

Test case identifier Server.SOAP.POST.GetCapabilities.Response.TileMatrixSet.Identifiers.Unique
Prerequisites

Schema Valid Server SOAP POST - GetCapabilities

  1. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope 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 SOAP POST GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

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

  3. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope has <Contents><TileMatrixSet><ows:Identifier> element text values that are non-empty and unique.

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

Table 30.32. Server SOAP POST - GetCapabilities - Response TileMatrix identifiers are unique

Test case identifier Server.SOAP.POST.GetCapabilities.Response.TileMatrix.Identifiers.Unique
Prerequisites

Schema Valid Server SOAP POST - GetCapabilities

  1. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope is schema-valid with respect to a normative(wmts.xsd or wmtsGetCapabilities_response.xsd) XML schema.

Test purpose

Verify that TileMatrix 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 SOAP POST GetCapabilities request with the mandatory request parameter with a value of GetCapabilities;

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

  3. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope has <Contents><TileMatrixSet><TileMatrix><ows:Identifier> element text values that are non-empty and unique.

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

Table 30.33. Server SOAP POST - GetCapabilities - Response TileMatrixSet ScaleDenominators are unique

Test case identifier Server.SOAP.POST.GetCapabilities.Response.TileMatrixSet.ScaleDenominators.Unique
Prerequisites

Schema Valid Server SOAP POST - GetCapabilities

  1. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope is schema-valid with respect to a normative(wmts.xsd or wmtsGetCapabilities_response.xsd) XML schema.

Test purpose

Verify that each tileMatrix of a tileMatrixSet has a unique (different) scaleDenominator.

Assertions

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

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

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

  3. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope has <Contents><TileMatrixSet><TileMatrix><ScaleDenominator> element text values that are non-empty and unique for each <TileMatrixSet>.

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

Table 30.34. Server SOAP POST - GetCapabilities - Response TileMatrixSet WellKnownScaleSets are compatible with CRS and ScaleDenominator values

Test case identifier Server.SOAP.POST.GetCapabilities.Response.TileMatrixSet.WellKnownScaleSet
Prerequisites

Schema Valid Server SOAP POST - GetCapabilities

  1. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope is schema-valid with respect to a normative(wmts.xsd or wmtsGetCapabilities_response.xsd) XML schema.

  2. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope must contain at least one <Contents><TileMatrixSet><WellKnownScaleSet> element with one of the following values:

    • urn:ogc:def:wkss:OGC:1.0:GlobalCRS84Scale
    • urn:ogc:def:wkss:OGC:1.0:GlobalCRS84Pixel
    • urn:ogc:def:wkss:OGC:1.0:GoogleCRS84Quad
    • urn:ogc:def:wkss:OGC:1.0:GoogleMapsCompatible
Test purpose

Verify that a WellKnownScaleSet is compatible with ScaleDenominator values.

Assertions

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

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

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

  3. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope <TileMatrixset><SupportedCRS> element value must match the CRS for the well known scale set:

    Well Known Scale Set Coordinate Reference System (CRS)
    urn:ogc:def:wkss:OGC:1.0:GlobalCRS84Scale urn:ogc:def:crs:OGC:1.3:CRS84
    urn:ogc:def:wkss:OGC:1.0:GlobalCRS84Pixel urn:ogc:def:crs:OGC:1.3:CRS84
    urn:ogc:def:wkss:OGC:1.0:GoogleCRS84Quad urn:ogc:def:crs:OGC:1.3:CRS84
    urn:ogc:def:wkss:OGC:1.0:GoogleMapsCompatible urn:ogc:def:crs:EPSG:6.18:3:3857
  4. each <Contents><TileMatrixSet> in the response entity Capabilities document wrapped in the SOAP version 1.2 envelope that contains a <WellKnownScaleSet> must have <TileMatrix> elements with <ScaleDenominator> element text values for each <TileMatrixSet> starting from the largest scale denominator in the WellKnownScaleSet table in Annex E, and all intermediate scales denominators down to some ScaleDenominator minimum value for Layers that reference the TileMatrixSet.

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

Table 30.35. Server SOAP POST - GetCapabilities - Response Theme LayerRef valid

Test case identifier Server.SOAP.POST.GetCapabilities.Response.Theme.LayerRef.Valid
Prerequisites

Schema Valid Server SOAP POST - GetCapabilities

  1. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope is schema-valid with respect to a normative(wmts.xsd or wmtsGetCapabilities_response.xsd) XML schema.

  2. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope contains at least one <Theme><LayerRef> element.

Test purpose

Verify that each Theme LayerRef element text value is equal to a Layer identifier in the content section.

Assertions

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

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

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

  3. the response entity Capabilities document wrapped in the SOAP version 1.2 envelope has <Themes><Theme><LayerRef> element text values that refer to <Contents><Layer><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



31. Server SOAP POST Interface - Mandatory GetTile Operation

Purpose

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

List of Tables

31.1. Server SOAP POST - GetTile - Mandatory parameters
31.2. Server SOAP POST - GetTile - Optional parameter - sample dimensions
31.3. Server SOAP POST - GetTile - Missing mandatory parameters
31.4. Server SOAP POST - GetTile - Invalid Layer
31.5. Server SOAP POST - GetTile - Invalid TileMatrixSet
31.6. Server SOAP POST - GetTile - Invalid TileMatrix
31.7. Server SOAP POST - GetTile - Invalid Tile Row - no TileMatrixSetLimits
31.8. Server SOAP POST - GetTile - Invalid Tile Col - no TileMatrixSetLimits
31.9. Server SOAP POST - GetTile - Invalid Tile Row - TileMatrixSetLimits
31.10. Server SOAP POST - GetTile - Invalid Tile Col - TileMatrixSetLimits
31.11. Server SOAP POST - GetTile - Invalid Tile Style
31.12. Server SOAP POST - GetTile - Missing optional parameters
31.13. Server SOAP POST - GetTile - Invalid Sample Dimension Name
31.14. Server SOAP POST - GetTile - Invalid Sample Dimension Value
31.15. Server SOAP POST - GetTile - Default Sample Dimension
31.16. Server SOAP POST - GetTile - Current Sample Dimension
31.17. Server SOAP POST - GetTile - Valid Tile Format
31.18. Server SOAP POST - GetTile - Invalid Tile Format
31.19. Server SOAP POST - GetTile - Valid Tile Size
31.20. Server SOAP POST - GetTile - Valid Tile Transparency

Table 31.1. Server SOAP POST - GetTile - Mandatory parameters

Test case identifier Server.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 <wmts:Layer>s with no <wmts:Dimension> or with every <wmtsDimension> with a <wmts:Default> dimension value.

Test purpose

Test that a WMTS server can return tiles advertised in its Service Metadata document in response to valid SOAP POST GetTile requests with valid values for mandatory parameters as specified in the Service Metadata document.

Assertions

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

  1. the request entity is a valid SOAP POST GetTile request 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 for a layer with no sample dimensions or with every sample dimension having a default value;

  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 server returns a tile in a SOAP 1.2 envelope, base-64 encoded if it is binary, in response to a valid SOAP POST GetTile request for each tile 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 Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain tile resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 31.2. Server SOAP POST - GetTile - Optional Parameter - sample dimensions

Test case identifier Server.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 server can return tiles advertised in its Service Metadata document in response to valid SOAP POST GetTile requests with optional sample dimensions parameter valid values from the range specified in the Service Metadata document.

Assertions

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

  1. the request entity is a valid SOAP POST GetTile request 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 server returns a tile in a SOAP 1.2 envelope, base-64 encoded if it is binary, in response to a valid SOAP POST GetTile request for each tile 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 Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain tile resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 31.3. Server SOAP POST - GetTile - Missing mandatory parameters

Test case identifier Server.SOAP.POST.GetTile.Missing
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 <wmts:Layer>s with no <wmts:Dimension> or with every <wmtsDimension> with a <wmts:Default> dimension value.

Test purpose

Verify that if a mandatory SOAP POST GetTile parameter is missing from an otherwise valid request, the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetTile request 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 for a layer with no sample dimensions or with every sample dimension having a default value, except when tested as missing;

  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, except when tested as missing;

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

  7. the request entity is a valid SOAP POST GetTile request with the mandatory TileMatrixSet parameterwith a TileMatrixSet identifier value equal to a <Layer><TileMatrixSetLink><TileMatrixSet> value for the specified Layer from the Service Metadata document, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing.

  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, except when tested as missing.

  13. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  14. the response entity contains an exceptionCode attribute value of "MissingParameterValue".

  15. the response entity contains a locator attribute value of the name of the missing parameter.

  16. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate test requests with one of the following parameters missing, and other parameter values valid using the contents of Service Metadata document.
  • Layer
  • Style
  • Format
  • TileMatrixSet
  • TileMatrix
  • Row
  • Col
Check that responses contain valid exception reports. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 31.4. Server SOAP POST - GetTile - Invalid Layer

Test case identifier Server.SOAP.POST.GetTile.Invalid.Layer
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".

Test purpose

Verify that when a GetTile request contains a Layer incorrect value, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetTile request 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 not listed in 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 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 response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  14. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  15. the response entity contains a locator attribute value of "layer".

  16. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 31.5. Server SOAP POST - GetTile - Invalid TileMatrixSet

Test case identifier Server.SOAP.POST.GetTile.Invalid.TileMatrixSet
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 <TileMatrixSet> elements.

Test purpose

Verify that when a GetTile request contains a TileMatrixSet incorrect value, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetTile request 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 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 not listed in 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 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 response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  14. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  15. the response entity contains a locator attribute value of "TileMatrixSet".

  16. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 31.6. Server SOAP POST - GetTile - Invalid TileMatrix

Test case identifier Server.SOAP.POST.GetTile.Invalid.TileMatrix
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 <TileMatrix> elements.

Test purpose

Verify that when a GetTile request contains a TileMatrix incorrect value, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetTile request 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 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 not listed in 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 some 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 some TileMatrix from the Service Metadata document;

  11. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  12. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  13. the response entity contains a locator attribute value of "TileMatrix".

  14. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 31.7. Server SOAP POST - GetTile - Invalid Row - no TileMatrixSetLimits

Test case identifier Server.SOAP.POST.GetTile.Invalid.Tile.Row.No.TileMatrixSetLimits
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 advertises a Layer with no TileMatrixSetLimits.

Test purpose

Verify that when a GetTile request contains a Row incorrect value for a tile in a Layer with no TileMatrixSetLimits, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetTile request 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 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 greater than the MatrixHeight in the TileMatrix for the tile in 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 response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  12. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  13. the response entity contains a locator attribute value of "TileRow".

  14. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 31.8. Server SOAP POST - GetTile - Invalid Col - no TileMatrixSetLimits

Test case identifier Server.SOAP.POST.GetTile.Invalid.Tile.Col.No.TileMatrixSetLimits
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 advertises a Layer with no TileMatrixSetLimits.

Test purpose

Verify that when a GetTile request contains a Col incorrect value for a tile in a Layer with no TileMatrixSetLimits, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetTile request 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 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 greater than the MatrixWidth for the TileMatrix of the tile in the Service Metadata document;

  11. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  12. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  13. the response entity contains a locator attribute value of "TileCol".

  14. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 31.9. Server SOAP POST - GetTile - Invalid Row - TileMatrixSetLimits

Test case identifier Server.SOAP.POST.GetTile.Invalid.Tile.Row.TileMatrixSetLimits
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 advertises a Layer with TileMatrixSetLimits.

Test purpose

Verify that when a GetTile request contains a Row incorrect value for a tile in a Layer with TileMatrixSetLimits, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetTile request 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 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 outside of the TileMatrixLimits MinTileRow and MaxTileRow values for the TileMatrix of the tile in 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 within the TileMatrixLimits MinTileCol and MaxTileCol values for the TileMatrix of the tile in the Service Metadata document;

  11. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  12. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  13. the response entity contains a locator attribute value of "TileRow".

  14. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 31.10. Server SOAP POST - GetTile - Invalid Col - TileMatrixSetLimits

Test case identifier Server.SOAP.POST.GetTile.Invalid.Tile.Col.TileMatrixSetLimits
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 advertises a Layer with TileMatrixSetLimits.

Test purpose

Verify that when a GetTile request contains a Col incorrect value for a tile in a Layer with TileMatrixSetLimits, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetTile request 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 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 parameter with a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values for the TileMatrix of the tile in 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 outside of the TileMatrixLimits MinTileCol and MaxTileCol values for the TileMatrix of the tile in the Service Metadata document;

  11. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  12. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  13. the response entity contains a locator attribute value of "TileCol".

  14. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 31.11. Server SOAP POST - GetTile - Invalid Style

Test case identifier Server.SOAP.POST.GetTile.Invalid.Tile.Style
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".

Test purpose

Verify that when GetTile a request contains a Style incorrect value, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetTile request 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 not listed in the Service Metadata document;

  6. the request entity is a valid SOAP POST GetTile request with the mandatory format parameter 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 response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  14. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  15. the response entity contains a locator attribute value of "Style".

  16. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 31.12. Server SOAP POST - GetTile - Missing Optional Parameters

Test case identifier Server.SOAP.POST.GetTile.Missing.Optional
Prerequisites

Bootstrap KVP GET - GetCapabilities

  1. tthe 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 one or more <Dimension>s with no <Default> value.

Test purpose

Verify that when a GetTile request for a tile from a layer with a sample dimension with no default sample dimension value is missing a request parameter for the sample dimension name, that the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetTile request 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 for a layer with a sample dimension with no default value;

  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 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 without an optional sample dimensions parameter for a sample dimension without a default value that is specified in the <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document for the specified layer.

  14. the response entity is a schema-valid ows:Exception document.

  15. the response entity contains an exceptionCode attribute value of "MissingParameterValue".

  16. the response entity contains a locator attribute value of the name of the sample dimension.

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 31.13. Server SOAP POST - GetTile - Invalid Sample Dimension Name

Test case identifier Server.SOAP.POST.GetTile.Invalid.SampleDimension.Name
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 one or more <Dimension>s.

Test purpose

Verify that when a GetTile request contains the name not defined as a sample dimension, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetTile request 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 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 that is not specified in a <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document;

  14. the request entity is a valid SOAP POST GetTile request with an optional sample dimensions parameter with any value.

  15. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  16. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  17. the response entity contains a locator attribute value of the name of the sample dimension.

  18. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 31.14. Server SOAP POST - GetTile - Invalid Sample Dimension Value

Test case identifier Server.SOAP.POST.GetTile.Invalid.SampleDimension.Value
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 one or more <Dimension>s.

Test purpose

Verify that when a GetTile request contains a parameter name defined as a sample dimension with a value that is not defined for that dimension in the Service Metadata document, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetTile request 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 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 that is specified in a <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document;

  14. the request entity is a valid SOAP POST GetTile request with an optional sample dimensions parameter with a value that is not specified in a <Contents><Layer><Dimension><Value> in the Service Metadata document for that sample dimension.

  15. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  16. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  17. the response entity contains a locator attribute value of the name of the sample dimension for which an invalid value was supplied in the request.

  18. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 31.15. Server SOAP POST - GetTile - Default Sample Dimension

Test case identifier Server.SOAP.POST.GetTile.Default.SampleDimension
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 one or more <Dimension>s with a <Default> element text value.

Test purpose

Test that a WMTS server can return tiles in response to valid SOAP POST GetTile requests with optional sample dimensions parameter with the "default" values specified in the Service Metadata document.

Assertions

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

  1. the request entity is a valid SOAP POST GetTile request 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 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 specified in the Service Metadata document;

  14. the request entity is a valid SOAP POST GetTile request with an optional sample dimensions parameter with a value of "default".

  15. the server returns a tile in a SOAP 1.2 envelope, base-64 encoded if it is binary, from a Layer with a sample dimension with a default value in response to the SOAP POST GetTile request.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain the default tile resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 31.16. Server SOAP POST - GetTile - Current Sample Dimension

Test case identifier Server.SOAP.POST.GetTile.Current.SampleDimension
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 one or more <Dimension>s with a <Current> element text value.

Test purpose

Test that a WMTS server can return tiles in response to valid SOAP POST GetTile requests with optional sample dimensions parameter with the "current" values specified in the Service Metadata document.

Assertions

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

  1. the request entity is a valid SOAP POST GetTile request 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 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 specified in the Service Metadata document;

  14. the request entity is a valid SOAP POST GetTile request with an optional sample dimensions parameter with a value of "current".

  15. the server returns a tile in a SOAP 1.2 envelope, base-64 encoded if it is binary, from a Layer with a sample dimension with a current value in response to the SOAP POST GetTile request.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain the current tile resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 31.17. Server SOAP POST - GetTile - Valid Tile Format

Test case identifier Server.SOAP.POST.GetTile.Valid.Tile.Format
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".

Test purpose

Test that the tiles returned by a WMTS server in response to valid SOAP POST GetTile requests with the tile formats advertised in the Service Metadata Document for each layer, and each sample dimension if applicable, are in the MIME types of the requested formats.

Assertions

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

  1. the request entity is a valid SOAP POST GetTile request 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 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 for a layer with sample dimensions 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 for a layer with sample dimensions 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 server returns a tile in a SOAP 1.2 envelope, base-64 encoded if it is binary, in the MIME type corresponding to the requested format from each format for each Layer (and sample dimension, if applicable) offered by the server.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain tile resources in MIME types corresponding to the requested formats. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 31.18. Server SOAP POST - GetTile - Invalid Tile Format

Test case identifier Server.SOAP.POST.GetTile.Invalid.Tile.Format
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".

Test purpose

Test that the responses returned by a WMTS server to SOAP POST GetTile requests with tile formats not advertised in the Service Metadata Document for each layer, and each sample dimension if applicable, are valid exception reports.

Assertions

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

  1. the request entity is a valid SOAP POST GetTile request 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 not advertised in 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 for a layer with sample dimensions 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 for a layer with sample dimensions 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 server returns exceptions to requests for invalid (unadvertised) formats for each Layer (and sample dimension, if applicable) offered by the server.

  16. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  17. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  18. the response entity contains a locator attribute value of "format".

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the requests with contents of Service Metadata document, and formats not in the Service Metadata document. Check that responses contain valid exception reports and HTTP status codes. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 31.19. Server SOAP POST - GetTile - Valid Tile Size

Test case identifier Server.SOAP.POST.GetTile.Valid.Tile.Size
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".

Test purpose

Test that the tiles returned by a WMTS server in response to valid SOAP POST GetTile requests with the tile sizes (TileWidth and TileHeight) advertised in the Service Metadata Document for each TileMatrix in the TileMatrixSet of a Layer, and for each sample dimension of Layers with Dimensions, are the advertised sizes.

Assertions

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

  1. the request entity is a valid SOAP POST GetTile request 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 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 for a layer with sample dimensions 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 for a layer with sample dimensions 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 server returns a tile in a SOAP 1.2 envelope, base-64 encoded if it is binary, with the width and height of the returned image equal to the advertised TileWidth and TileHeight from each TileMatrix for each TileMatrixSet for each Layer, and for each sample dimension of Layers with Dimensions. offered by the server.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain tile resources of the correct sizes. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 31.20. Server SOAP POST - GetTile - Valid Tile Transparency

Test case identifier Server.SOAP.POST.GetTile.Valid.Tile.Transparency
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".

Test purpose

Verify that the returned tile has transparent color for NODATA values.

Assertions

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

  1. the request entity is a valid SOAP POST GetTile request 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 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 parameter with a MIME type format value equal to a <Layer><Format> value for the specified Layer from the Service Metadata document for a format that supports transparency, e.g. image/png;

  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 for a layer with sample dimensions 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 for a layer with sample dimensions 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 requested entity is a tile with NODATA.

  16. the server returns a tile in a SOAP 1.2 envelope, base-64 encoded if it is binary, with NODATA in the requestred format that supports transparency, e.g. image/png as a transparent image.

Test method Send a correct request for a Layer in a format that supports transparency and in a tile where NODATA values are expected and test for transparent color there. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



32. Server SOAP POST Interface - Optional GetFeatureInfo Operation

Purpose

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

List of Tables

32.1. Server SOAP POST - GetFeatureInfo - Mandatory parameters
32.2. Server SOAP POST - GetFeatureInfo - Optional parameter
32.3. Server SOAP POST - GetFeatureInfo - Missing parameters
32.4. Server SOAP POST - GetFeatureInfo - Invalid Layer
32.5. Server SOAP POST - GetFeatureInfo - Invalid TileMatrixSet
32.6. Server SOAP POST - GetFeatureInfo - Invalid TileMatrix
32.7. Server SOAP POST - GetFeatureInfo - Invalid Tile Row - no TileMatrixSetLimits
32.8. Server SOAP POST - GetFeatureInfo - Invalid Tile Col - no TileMatrixSetLimits
32.9. Server SOAP POST - GetFeatureInfo - Invalid Tile Row - TileMatrixSetLimits
32.10. Server SOAP POST - GetFeatureInfo - Invalid Tile Col - TileMatrixSetLimits
32.11. Server SOAP POST - GetFeatureInfo - Invalid Tile Style
32.12. Server SOAP POST - GetFeatureInfo - Missing optional parameters
32.13. Server SOAP POST - GetFeatureInfo - Invalid Sample Dimension Name
32.14. Server SOAP POST - GetFeatureInfo - Invalid Sample Dimension Value
32.15. Server SOAP POST - GetFeatureInfo - Default Sample Dimension
32.16. Server SOAP POST - GetFeatureInfo - Current Sample Dimension
32.17. Server SOAP POST - GetFeatureInfo - Non-Queryable Layer
32.18. Server SOAP POST - GetFeatureInfo - Valid InfoFormat
32.19. Server SOAP POST - GetFeatureInfo - Invalid InfoFormat
32.20. Server SOAP POST - GetFeatureInfo - Invalid Pixel Row J
32.21. Server SOAP POST - GetFeatureInfo - Invalid Pixel Col I

Table 32.1. Server SOAP POST - GetFeatureInfo - Mandatory parameters

Test case identifier Server.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 and with no <wmts:Dimension> or with every <wmtsDimension> with a <wmts:Default> dimension value.

Test purpose

Test that a WMTS server can return FeatureInfo for pixels in tiles advertised in its Service Metadata document in response to valid SOAP POST GetFeatureInfo requests with valid values for mandatory parameters as 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 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 for a layer with <InfoFormat> elements and no sample dimensions or with every sample dimension having a default value;

  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 server returns a FeatureInfo document wrapped in the SOAP version 1.2 envelope in response to a valid SOAP POST GetFeatureInfo request for sample pixels from each tile 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 Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain FeatureInfo resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 32.2. Server SOAP POST - GetFeatureInfo - Optional Parameter - sample dimensions

Test case identifier Server.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 with three or more <Dimension>s.

Test purpose

Test that a WMTS server can return FeatureInfo for pixels in tiles advertised in its Service Metadata document in response to valid SOAP POST GetFeatureInfo requests with optional sample dimensions parameter valid values 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 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 for a layer with <InfoFormat> elements;

  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 server returns a FeatureInfo document wrapped in the SOAP version 1.2 envelope in response to a valid SOAP POST GetFeatureInfo request for sample pixels from each tile 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 Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain FeatureInfo resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 32.3. Server SOAP POST - GetFeatureInfo - Missing mandatory parameters

Test case identifier Server.SOAP.POST.GetFeatureInfo.Missing
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 with no <wmts:Dimension> or with every <wmtsDimension> with a <wmts:Default> dimension value.

Test purpose

Verify that if a mandatory SOAP POST GetFeatureInfo parameter is missing from an otherwise valid request, the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetFeatureInfo request 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 for a layer with <InfoFormat> elements and with no sample dimensions or with every sample dimension having a default value;, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing.

  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, except when tested as missing.

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  16. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  17. the response entity contains an exceptionCode attribute value of "MissingParameterValue".

  18. the response entity contains a locator attribute value of the name of the missing parameter.

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate test requests with one of the following parameters missing, and other parameter values valid using the contents of Service Metadata document.
  • Layer
  • Style
  • Format
  • TileMatrixSet
  • TileMatrix
  • Row
  • Col
  • J
  • I
  • InfoFormat
Check that responses contain valid exception reports. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 32.4. Server SOAP POST - GetFeatureInfo - Invalid Layer

Test case identifier Server.SOAP.POST.GetFeatureInfo.Invalid.Layer
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

Verify that when a GetFeatureInfo request contains a Layer incorrect value, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetFeatureInfo request 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 not 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 response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  17. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  18. the response entity contains a locator attribute value of "layer".

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 32.5. Server SOAP POST - GetFeatureInfo - Invalid TileMatrixSet

Test case identifier Server.SOAP.POST.GetFeatureInfo.Invalid.TileMatrixSet
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

Verify that when a GetFeatureInfo request contains a TileMatrixSet incorrect value, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetFeatureInfo request 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 for a layer with <InfoFormat> elements;

  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 not listed in 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 a 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 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;

  12. 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;

  13. 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;

  14. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileMatrixSet".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 32.6. Server SOAP POST - GetFeatureInfo - Invalid TileMatrix

Test case identifier Server.SOAP.POST.GetFeatureInfo.Invalid.TileMatrix
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 a <TileMatrixSetLink> to a <TileMatrixSet> with two or more <TileMatrix> elements.

Test purpose

Verify that when a GetFeatureInfo request contains a TileMatrix incorrect value, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetFeatureInfo request 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 for a layer with <InfoFormat> elements;

  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 not listed in 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 some 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 some TileMatrix from the Service Metadata document;

  11. 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 some TileMatrix from the Service Metadata document;

  12. 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 some TileMatrix from the Service Metadata document;

  13. 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;

  14. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileMatrix".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 32.7. Server SOAP POST - GetFeatureInfo - Invalid Row - no TileMatrixSetLimits

Test case identifier Server.SOAP.POST.GetFeatureInfo.Invalid.Tile.Row.No.TileMatrixSetLimits
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 a <TileMatrixSetLink> with no <TileMatrixSetLimits>.

Test purpose

Verify that when a GetFeatureInfo request contains a Row incorrect value for a tile in a Layer with no TileMatrixSetLimits, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetFeatureInfo request 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 for a layer with <InfoFormat> elements;

  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 greater than the MatrixHeight in the TileMatrix for the tile in 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 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;

  12. 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;

  13. 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;

  14. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileRow".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 32.8. Server SOAP POST - GetFeatureInfo - Invalid Col - no TileMatrixSetLimits

Test case identifier Server.SOAP.POST.GetFeatureInfo.Invalid.Tile.Col.No.TileMatrixSetLimits
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 a <TileMatrixSetLink> with no <TileMatrixSetLimits>.

Test purpose

Verify that when a GetFeatureInfo request contains a Col incorrect value for a tile in a Layer with no TileMatrixSetLimits, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetFeatureInfo request 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 for a layer with <InfoFormat> elements;

  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 greater than the MatrixWidth for the TileMatrix of the tile in the Service Metadata document;

  11. 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;

  12. 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;

  13. 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;

  14. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileCol".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 32.9. Server SOAP POST - GetFeatureInfo - Invalid Row - TileMatrixSetLimits

Test case identifier Server.SOAP.POST.GetFeatureInfo.Invalid.Tile.Row.TileMatrixSetLimits
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 a <TileMatrixSetLink> with <TileMatrixSetLimits>.

Test purpose

Verify that when a GetFeatureInfo request contains a Row incorrect value for a tile in a Layer with TileMatrixSetLimits, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetFeatureInfo request 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 for a layer with <InfoFormat> elements;

  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 outside of the TileMatrixLimits MinTileRow and MaxTileRow values for the TileMatrix of the tile in 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 within the TileMatrixLimits MinTileCol and MaxTileCol values for the TileMatrix of the tile in the Service Metadata document;

  11. 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;

  12. 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;

  13. 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;

  14. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileRow".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 32.10. Server SOAP POST - GetFeatureInfo - Invalid Col - TileMatrixSetLimits

Test case identifier Server.SOAP.POST.GetFeatureInfo.Invalid.Tile.Col.TileMatrixSetLimits
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 a <TileMatrixSetLink> with <TileMatrixSetLimits>.

Test purpose

Verify that when a GetFeatureInfo request contains a Col incorrect value for a tile in a Layer with TileMatrixSetLimits, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetFeatureInfo request 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 for a layer with <InfoFormat> elements;

  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 within the TileMatrixLimits MinTileRow and MaxTileRow values for the TileMatrix of the tile in 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 outside of the TileMatrixLimits MinTileCol and MaxTileCol values for the TileMatrix of the tile in the Service Metadata document;

  11. 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;

  12. 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;

  13. 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;

  14. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  15. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  16. the response entity contains a locator attribute value of "TileCol".

  17. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 32.11. Server SOAP POST - GetFeatureInfo - Invalid Style

Test case identifier Server.SOAP.POST.GetFeatureInfo.Invalid.Tile.Style
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

Verify that when GetFeatureInfo a request contains a Style incorrect value, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetFeatureInfo request 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 for a layer with <InfoFormat> elements;

  5. the request entity is a valid SOAP POST GetFeatureInfo request with the mandatory Style parameter with a style identifier value not listed in 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 response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  17. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  18. the response entity contains a locator attribute value of "Style".

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 32.12. Server SOAP POST - GetFeatureInfo - Missing Optional Parameters

Test case identifier Server.SOAP.POST.GetFeatureInfo.Missing.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 one or more <Dimension>s with no <Default> value.

Test purpose

Verify that when a GetFeatureInfo request for a tile from a layer with a sample dimension with no default sample dimension value is missing a request parameter for the sample dimension name, that the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetFeatureInfo request 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 for a layer with a sample dimension with no default value;

  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 parameter with a MIME type format value equal to an <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 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 SOAP POST GetFeatureInfo request without an optional sample dimensions parameter for a sample dimension without a default value that is specified in the <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document for the specified layer.

  16. the response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "MissingParameterValue".

  18. the response entity contains a locator attribute value of the name of the sample dimension.

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 32.13. Server SOAP POST - GetFeatureInfo - Invalid Sample Dimension Name

Test case identifier Server.SOAP.POST.GetFeatureInfo.Invalid.SampleDimension.Name
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 one or more <Dimension>s.

Test purpose

Verify that when a GetFeatureInfo request contains the name not defined as a sample dimension, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetFeatureInfo request 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 for a layer with <InfoFormat> elements;

  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 request entity is a valid SOAP POST GetFeatureInfo request with an optional sample dimensions parameter with a name that is not specified in a <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document;

  17. the request entity is a valid SOAP POST GetFeatureInfo request with an optional sample dimensions parameter with any value.

  18. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  19. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  20. the response entity contains a locator attribute value of the name of the sample dimension.

  21. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 32.14. Server SOAP POST - GetFeatureInfo - Invalid Sample Dimension Value

Test case identifier Server.SOAP.POST.GetFeatureInfo.Invalid.SampleDimension.Value
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 one or more <Dimension>s.

Test purpose

Verify that when a GetFeatureInfo request contains a parameter name defined as a sample dimension with a value that is not defined for that dimension in the Service Metadata document, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetFeatureInfo request 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 for a layer with <InfoFormat> elements;

  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 request entity is a valid SOAP POST GetFeatureInfo request with an optional sample dimensions parameter with a name that is specified in a <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document;

  17. the request entity is a valid SOAP POST GetFeatureInfo request with an optional sample dimensions parameter with a value that is not specified in a <Contents><Layer><Dimension><Value> in the Service Metadata document for that sample dimension.

  18. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  19. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  20. the response entity contains a locator attribute value of the name of the sample dimension for which an invalid value was supplied in the request.

  21. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 32.15. Server SOAP POST - GetFeatureInfo - Default Sample Dimension

Test case identifier Server.SOAP.POST.GetFeatureInfo.Default.SampleDimension
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 one or more <Dimension>s with a <Default> element text value.

Test purpose

Test that a WMTS server can return tiles in response to valid SOAP POST GetFeatureInfo requests with optional sample dimensions parameter with the "default" values specified in the Service Metadata document.

Assertions

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

  1. the request entity is a valid SOAP POST GetFeatureInfo request 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 for a layer with <InfoFormat> elements;

  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 request entity is a valid SOAP POST GetFeatureInfo request with an optional sample dimensions parameter with a name specified in the Service Metadata document;

  17. the request entity is a valid SOAP POST GetFeatureInfo request with an optional sample dimensions parameter with a value of "default".

  18. the server returns a FeatureInfo document wrapped in the SOAP version 1.2 envelope from a Layer with a sample dimension with a default value in response to the SOAP POST GetFeatureInfo request.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain FeatureInfo for the specified pixel for the specified tile for the default sample dimension. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 32.16. Server SOAP POST - GetFeatureInfo - Current Sample Dimension

Test case identifier Server.SOAP.POST.GetFeatureInfo.Current.SampleDimension
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 one or more <Dimension>s with a <Current> element text value.

Test purpose

Test that a WMTS server can return tiles in response to valid SOAP POST GetFeatureInfo requests with optional sample dimensions parameter with the "current" values specified in the Service Metadata document.

Assertions

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

  1. the request entity is a valid SOAP POST GetFeatureInfo request 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 for a layer with <InfoFormat> elements;

  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 request entity is a valid SOAP POST GetFeatureInfo request with an optional sample dimensions parameter with a name specified in the Service Metadata document;

  17. the request entity is a valid SOAP POST GetFeatureInfo request with an optional sample dimensions parameter with a value of "current".

  18. the server returns a FeatureInfo document wrapped in the SOAP version 1.2 envelope from a Layer with a sample dimension with a current value in response to the SOAP POST GetFeatureInfo request.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain FeatureInfo for the specified pixel for the specified tile for the default sample dimension. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 32.17. Server SOAP POST - GetFeatureInfo - Non-Queryable Layer

Test case identifier Server.SOAP.POST.GetFeatureInfo.NonQueryable.Layer
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 no <InfoFormat>s.

Test purpose

Verify that when a GetFeatureInfo request is made for a non-queryable layer, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetFeatureInfo request 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 wwith a layer identifier value equal to a <Layer><ows:Identifier> value from the Service Metadata document for a layer with no <InfoFormat> elements;

  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 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 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 any value;

  16. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  17. the response entity contains an exceptionCode attribute value of "OperationNotSupported".

  18. the response entity contains a locator attribute value of "GetFeatureInfo".

  19. the HTTP status code value is set to 501, corresponding to the message "Not Implemented".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 20.18. Server SOAP POST - GetFeatureInfo - Valid InfoFormat

Test case identifier Server.SOAP.POST.GetFeatureInfo.Valid.InfoFormat
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

Verify that for each GetFeatureInfo format, when the InfoFormat parameter is set to that format or URLtemplate having a format parameter, the MIME type of the response matches that format.

Assertions

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

  1. the request entity is a valid SOAP POST GetFeatureInfo request 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 for a layer with <InfoFormat> elements;

  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 that is one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the server returns a FeatureInfo document wrapped in the SOAP version 1.2 envelope in response to a valid SOAP POST GetFeatureInfo request for each offered InfoFormat for each Layer with a FeatureInfo document of the requested InfoFormat MIME type.

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 32.19. Server SOAP POST - GetFeatureInfo - Invalid InfoFormat

Test case identifier Server.SOAP.POST.GetFeatureInfo.Invalid.InfoFormat
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

Verify that when a GetFeature request contains an InfoFormat incorrect value, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetFeatureInfo request 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 for a layer with <InfoFormat> elements;

  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 that is not one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  17. the response entity contains an exceptionCode attribute value of "OperationNotSupported".

  18. the response entity contains a locator attribute value of "GetFeatureInfo".

  19. the HTTP status code value is set to 501, corresponding to the message "Not Implemented".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 32.20. Server SOAP POST - GetFeatureInfo - Invalid Pixel.Row.J

Test case identifier Server.SOAP.POST.GetFeatureInfo.Invalid.Pixel.Row.J
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

Verify that when a GetFeature request contains a Pixel Row J incorrect value, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetFeatureInfo request 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 for a layer with <Pixel.Row.J> elements;

  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 greater than 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 that is one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  17. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  18. the response entity contains a locator attribute value of "J".

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 32.21. Server SOAP POST - GetFeatureInfo - Invalid Pixel.Col.I

Test case identifier Server.SOAP.POST.GetFeatureInfo.Invalid.Pixel.Col.I
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

Verify that when a GetFeature request contains a Pixel Col I incorrect value, then the server throws an exception.

Assertions

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

  1. the request entity is a valid SOAP POST GetFeatureInfo request 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 for a layer with <Pixel.Col.I> elements;

  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 greater than 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 that is one of the <InfoFormat>s for the specified Layer from the Service Metadata document;

  16. the response entity is a a SOAP 1.2 response message that contains a schema-valid ows:Exception document in the <soap:Detail> element.

  17. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  18. the response entity contains a locator attribute value of "I".

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



33. Server RESTful Interface - Mandatory Common Operation Properties

Purpose

The Server RESTful Interface - Mandatory Common Operation Properties test group includes assertions that are common to the KVP Get Interface for all operations.

List of Tables

33.1. Server RESTful HTTP Protocol Usage - Mandatory
33.2. Server RESTful Invalid Request - Mandatory Exception

Table 33.1. Server RESTful HTTP Protocol Usage - Mandatory

Test case identifier Server.RESTful.HTTP.Mandatory
Prerequisites

Bootstrap RESTful - GetCapabilities

  1. the response entity has a <ServiceMetadataURL"> element that contains a URL

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 33.2. Server RESTful Invalid Request - Mandatory Exception

Test case identifier Server.RESTful.InvalidRequest
Prerequisites

Bootstrap RESTful - GetCapabilities

  1. the response entity has a <ServiceMetadataURL"> element that contains a URL

Test purpose

Test that a WMTS server returns an HTTP status code of 404 (File not found) in response to an invalid request.

Assertions

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

  1. the request invokes a URL that consists of the ServiceMetadataURL advertised in the Service Metadata document, concatenated with "/Bogus".

  2. the server returns an HTTP status code of 404 (Not Found).

Test method TBD. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic



34. Server RESTful Interface - Mandatory GetCapabilities Operation

Purpose

The Server 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

34.1. Server RESTful - GetCapabilities - Mandatory parameters

Table 34.1. Server RESTful - GetCapabilities - Mandatory parameters

Test case identifier Server.RESTful.GetCapabilities.Mandatory
Prerequisites

Bootstrap RESTful - GetCapabilities

  1. the response entity has a <ServiceMetadataURL> element indicating the same URL specified in the request.

Test purpose

Test that a WMTS server can respond to 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.

  2. the response entity is a well-formed XML document.

  3. the response entity references a normative(wmts.xsd or wmtsGetCapabilities_response.xsd) XML schema.

  4. the response entity is schema-valid with respect to a normative(wmts.xsd or wmtsGetCapabilities_response.xsd) XML schema.

  5. the response entity is a valid WMTS Service Metadata document containing all sections.

  6. the response entity has a <ServiceMetadataURL> element indicating the same URL specified in the request.

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



35. Server RESTful Interface - Mandatory GetTile Operation

Purpose

The Server RESTful Interface - Mandatory GetTile test group includes RESTful GetTile requests to the WMTS server to exercise all supported parameters.

List of Tables

35.1. Server RESTful - GetTile - Mandatory parameters
35.2. Server RESTful - GetTile - Optional parameter - sample dimensions
35.3. Server RESTful - GetTile - Missing mandatory parameters
35.4. Server RESTful - GetTile - Invalid Layer
35.5. Server RESTful - GetTile - Invalid TileMatrixSet
35.6. Server RESTful - GetTile - Invalid TileMatrix
35.7. Server RESTful - GetTile - Invalid Tile Row - no TileMatrixSetLimits
35.8. Server RESTful - GetTile - Invalid Tile Col - no TileMatrixSetLimits
35.9. Server RESTful - GetTile - Invalid Tile Row - TileMatrixSetLimits
35.10. Server RESTful - GetTile - Invalid Tile Col - TileMatrixSetLimits
35.11. Server RESTful - GetTile - Invalid Tile Style
35.12. Server RESTful - GetTile - Missing optional parameters
35.13. Server RESTful - GetTile - Invalid Sample Dimension Value
35.14. Server RESTful - GetTile - Default Sample Dimension
35.15. Server RESTful - GetTile - Current Sample Dimension
35.16. Server RESTful - GetTile - Valid Tile Format
35.17. Server RESTful - GetTile - Valid Tile Size
35.18. Server RESTful - GetTile - Valid Tile Transparency

Table 35.1. Server RESTful - GetTile - Mandatory parameters

Test case identifier Server.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 response entity has one or more <wmts:Layer>s with no <wmts:Dimension> or with every <wmtsDimension> with a <wmts:Default> dimension value.

Test purpose

Test that a WMTS server can return tiles advertised in its Service Metadata document in response to valid RESTful GetTile requests with valid values for mandatory parameters as specified in the Service Metadata document.

Assertions

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

  1. the request entity is a valid RESTful GetTile request URL with the mandatory Layer identifier value for a layer with no sample dimensions or with every sample dimension having a default 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 server returns a tile in response to a valid RESTful GetTile request for each tile 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 Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain tile resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 35.2. Server RESTful - GetTile - Optional Parameter - sample dimensions

Test case identifier Server.RESTful.GetTile.Optional
Prerequisites

Bootstrap RESTful - GetCapabilities

  1. the resonse entity has a separate <ResourceURL> template element for the "GetTile" operation with a name for each <Dimension><ows:Identifier> element defined for each Layer.

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

Test purpose

Test that a WMTS server can return tiles advertised in its Service Metadata document in response to valid RESTful GetTile requests with optional sample dimensions parameter valid values from the range specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the responses 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 server returns a tile in response to a valid RESTful GetTile request for each tile 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 Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain tile resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 35.3. Server RESTful - GetTile - Missing mandatory parameters

Test case identifier Server.RESTful.GetTile.Missing
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 one or more <wmts:Layer>s with no <wmts:Dimension> or with every <wmtsDimension> with a <wmts:Default> dimension value.

Test purpose

Verify that if a mandatory RESTful GetTile parameter is missing from an otherwise valid request, the server throws an exception.

Assertions

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

  1. the request entity is a valid RESTful GetTile request URL with the mandatory Layer identifier value for a layer with no sample dimensions or with every sample dimension having a default 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, except when tested as missing;

  3. the request entity is a valid RESTful GetTile request URL with the mandatory format MIME type format value provided in the ResourceURL template, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  10. the HTTP status code value is set to indicate an error.

BestPracticeAssertions

In addition to the assertions above, all of the following assertions must hold for the responses to be Best Practice:

  1. the response entity is a schema-valid ows:Exception document.

  2. the response entity contains an exceptionCode attribute value of "MissingParameterValue".

  3. the response entity contains a locator attribute value of the name of the missing parameter.

  4. the HTTP status code value is set to 404, corresponding to the message "File Not Found".

Test method Generate test requests with one of the following parameters missing, and other parameter values valid using the contents of Service Metadata document.
  • Style
  • TileMatrixSet
  • TileMatrix
  • Row
  • Col
Check that responses are HTTP error status codes. Pass if all assertions hold; BestPractice if all best practice assertions also hold; fail otherwise.
Reference
Test type Capability

Table 35.4. Server RESTful - GetTile - Invalid Layer

Test case identifier Server.RESTful.GetTile.Invalid.Layer
Prerequisites

Bootstrap RESTful - GetCapabilities

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

Test purpose

Verify that when a GetTile request contains a Layer incorrect value, then the server throws an exception.

Assertions

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

  1. the request entity is a valid RESTful GetTile request URL with an invalid mandatory Layer identifier value not 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 HTTP status code value is set to indicate an error.

BestPracticeAssertions

In addition to the assertions above, all of the following assertions must hold for the responses to be Best Practice:

  1. the response entity is a schema-valid ows:Exception document.

  2. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  3. the response entity contains a locator attribute value of "layer".

  4. the HTTP status code value is set to 404, corresponding to the message "File Not Found".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that responses are HTTP error status codes. Pass if all assertions hold; BestPractice if all best practice assertions also hold; fail otherwise.
Reference
Test type Capability

Table 35.5. Server RESTful - GetTile - Invalid TileMatrixSet

Test case identifier Server.RESTful.GetTile.Invalid.TileMatrixSet
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 one or more <TileMatrixSet> elements.

Test purpose

Verify that when a GetTile request contains a TileMatrixSet incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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> identifier value not listed in 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 HTTP status code value is set to indicate an error.

BestPracticeAssertions

In addition to the assertions above, all of the following assertions must hold for the responses to be Best Practice:

  1. the response entity is a schema-valid ows:Exception document.

  2. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  3. the response entity contains a locator attribute value of "TileMatrixSet".

  4. the HTTP status code value is set to 404, corresponding to the message "File Not Found".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that responses are HTTP error status codes. Pass if all assertions hold; BestPractice if all best practice assertions also hold; fail otherwise.
Reference
Test type Capability

Table 35.6. Server RESTful - GetTile - Invalid TileMatrix

Test case identifier Server.RESTful.GetTile.Invalid.TileMatrix
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 two or more <TileMatrix> elements.

Test purpose

Verify that when a GetTile request contains a TileMatrix incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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> identifier value not listed in 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 HTTP status code value is set to indicate an error.

BestPracticeAssertions

In addition to the assertions above, all of the following assertions must hold for the responses to be Best Practice:

  1. the response entity is a schema-valid ows:Exception document.

  2. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  3. the response entity contains a locator attribute value of "TileMatrix".

  4. the HTTP status code value is set to 404, corresponding to the message "File Not Found".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that responses are HTTP error status codes. Pass if all assertions hold; BestPractice if all best practice assertions also hold; fail otherwise.
Reference
Test type Capability

Table 35.7. Server RESTful - GetTile - Invalid Row - no TileMatrixSetLimits

Test case identifier Server.RESTful.GetTile.Invalid.Tile.Row.No.TileMatrixSetLimits
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 advertises a Layer with no TileMatrixSetLimits.

Test purpose

Verify that when a GetTile request contains a Row incorrect value for a tile in a Layer with no TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 greater than the MatrixHeight in the TileMatrix for the tile in 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 HTTP status code value is set to indicate an error.

BestPracticeAssertions

In addition to the assertions above, all of the following assertions must hold for the responses to be Best Practice:

  1. the response entity is a schema-valid ows:Exception document.

  2. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  3. the response entity contains a locator attribute value of "TileRow".

  4. the HTTP status code value is set to 404, corresponding to the message "File Not Found".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that responses are HTTP error status codes. Pass if all assertions hold; BestPractice if all best practice assertions also hold; fail otherwise.
Reference
Test type Capability

Table 35.8. Server RESTful - GetTile - Invalid Col - no TileMatrixSetLimits

Test case identifier Server.RESTful.GetTile.Invalid.Tile.Col.No.TileMatrixSetLimits
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 advertises a Layer with no TileMatrixSetLimits.

Test purpose

Verify that when a GetTile request contains a Col incorrect value for a tile in a Layer with no TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 greater than the MatrixWidth for the TileMatrix of the tile in the Service Metadata document substituted in place of the "TileCol" URL template variable;

  8. the HTTP status code value is set to indicate an error.

BestPracticeAssertions

In addition to the assertions above, all of the following assertions must hold for the responses to be Best Practice:

  1. the response entity is a schema-valid ows:Exception document.

  2. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  3. the response entity contains a locator attribute value of "TileCol".

  4. the HTTP status code value is set to 404, corresponding to the message "File Not Found".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that responses are HTTP error status codes. Pass if all assertions hold; BestPractice if all best practice assertions also hold; fail otherwise.
Reference
Test type Capability

Table 35.9. Server RESTful - GetTile - Invalid Row - TileMatrixSetLimits

Test case identifier Server.RESTful.GetTile.Invalid.Tile.Row.TileMatrixSetLimits
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 advertises a Layer with TileMatrixSetLimits.

Test purpose

Verify that when a GetTile request contains a Row incorrect value for a tile in a Layer with TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 parameter with a TileRow index value outside of the TileMatrixLimits MinTileRow and MaxTileRow values for the TileMatrix of the tile in 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 parameter with a TileCol index value within the TileMatrixLimits MinTileCol and MaxTileCol values for the TileMatrix of the tile in the Service Metadata document substituted in place of the "TileCol" URL template variable;

  8. the HTTP status code value is set to indicate an error.

BestPracticeAssertions

In addition to the assertions above, all of the following assertions must hold for the responses to be Best Practice:

  1. the response entity is a schema-valid ows:Exception document.

  2. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  3. the response entity contains a locator attribute value of "TileRow".

  4. the HTTP status code value is set to 404, corresponding to the message "File Not Found".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that responses are HTTP error status codes. Pass if all assertions hold; BestPractice if all best practice assertions also hold; fail otherwise.
Reference
Test type Capability

Table 35.10. Server RESTful - GetTile - Invalid Col - TileMatrixSetLimits

Test case identifier Server.RESTful.GetTile.Invalid.Tile.Col.TileMatrixSetLimits
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 advertises a Layer with TileMatrixSetLimits.

Test purpose

Verify that when a GetTile request contains a Col incorrect value for a tile in a Layer with TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 parameter with a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values for the TileMatrix of the tile in 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 parameter with a TileCol index value outside the TileMatrixLimits MinTileCol and MaxTileCol values for the TileMatrix of the tile in the Service Metadata document substituted in place of the "TileCol" URL template variable;

  8. the HTTP status code value is set to indicate an error.

BestPracticeAssertions

In addition to the assertions above, all of the following assertions must hold for the responses to be Best Practice:

  1. the response entity is a schema-valid ows:Exception document.

  2. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  3. the response entity contains a locator attribute value of "TileRow".

  4. the HTTP status code value is set to 404, corresponding to the message "File Not Found".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that responses are HTTP error status codes. Pass if all assertions hold; BestPractice if all best practice assertions also hold; fail otherwise.
Reference
Test type Capability

Table 35.11. Server RESTful - GetTile - Invalid Style

Test case identifier Server.RESTful.GetTile.Invalid.Tile.Style
Prerequisites

Bootstrap RESTful - GetCapabilities

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

Test purpose

Verify that when GetTile a request contains a Style incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 parameter with a style identifier value not listed in 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 HTTP status code value is set to indicate an error.

BestPracticeAssertions

In addition to the assertions above, all of the following assertions must hold for the responses to be Best Practice:

  1. the response entity is a schema-valid ows:Exception document.

  2. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  3. the response entity contains a locator attribute value of "Style".

  4. the HTTP status code value is set to 404, corresponding to the message "File Not Found".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that responses are HTTP error status codes. Pass if all assertions hold; BestPractice if all best practice assertions also hold; fail otherwise.
Reference
Test type Capability

Table 35.12. Server RESTful - GetTile - Missing Optional Parameters

Test case identifier Server.RESTful.GetTile.Missing.Optional
Prerequisites

Bootstrap KVP GET - 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 one or more <Dimension>s with no <Default> value.

Test purpose

Verify that when a GetTile request for a tile from a layer with a sample dimension with no default sample dimension value is missing a request parameter for the sample dimension name, that the server throws an exception.

Assertions

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

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

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

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

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

  5. the request entity is a valid RESTful 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 RESTful GetTile request with the mandatory format parameter 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 RESTful 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 RESTful 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 RESTful 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 RESTful 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 RESTful GetTile request without an optional sample dimensions parameter for each sample dimension that is specified in the <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document for the specified layer.

  14. the HTTP status code value is set to indicate an error.

BestPracticeAssertions

In addition to the assertions above, all of the following assertions must hold for the responses to be Best Practice:

  1. the response entity is a schema-valid ows:Exception document.

  2. the response entity contains an exceptionCode attribute value of "MissingParameterValue" for each sample dimension.

  3. the response entity contains a locator attribute value equal to the name of each sample dimension.

  4. the HTTP status code value is set to 404, corresponding to the message "File Not Found".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 35.13. Server RESTful - GetTile - Invalid Sample Dimension Value

Test case identifier Server.RESTful.GetTile.Invalid.SampleDimension.Value
Prerequisites

Bootstrap RESTful - GetCapabilities

  1. the resonse entity has a separate <ResourceURL> template element for the "GetTile" operation with a name for each <Dimension><ows:Identifier> element defined for each Layer.

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

Test purpose

Verify that when a GetTile request contains a parameter name defined as a sample dimension with a value that is not defined for that dimension in the Service Metadata document, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 that is not specified in one of the <Dimension><Value> elements for the specified Dimension from the Service Metadata document;

  12. the HTTP status code value is set to indicate an error.

BestPracticeAssertions

In addition to the assertions above, all of the following assertions must hold for the responses to be Best Practice:

  1. the response entity is a schema-valid ows:Exception document.

  2. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  3. the response entity contains a locator attribute value of the name of the sample dimension for which an invalid value was supplied in the request.

  4. the HTTP status code value is set to 404, corresponding to the message "File Not Found".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that responses are HTTP error status codes. Pass if all assertions hold; BestPractice if all best practice assertions also hold; fail otherwise.
Reference
Test type Capability

Table 35.14. Server RESTful - GetTile - Default Sample Dimension

Test case identifier Server.RESTful.GetTile.Default.SampleDimension
Prerequisites

Bootstrap RESTful - GetCapabilities

  1. the resonse entity has a separate <ResourceURL> template element for the "GetTile" operation with a name for each <Dimension><ows:Identifier> element defined for each Layer.

  2. the response entity has a <Layer> with one or more <Dimension>s with a <Default> element text value.

Test purpose

Test that a WMTS server can return tiles in response to valid RESTful GetTile requests with optional sample dimensions parameter with the "default" values specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the responses 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 of "default";

  12. the server returns a tile from a Layer with a sample dimension with a default value in response to the RESTful GetTile request.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain the default tile resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 35.15. Server RESTful - GetTile - Current Sample Dimension

Test case identifier Server.RESTful.GetTile.Current.SampleDimension
Prerequisites

Bootstrap RESTful - GetCapabilities

  1. the resonse entity has a separate <ResourceURL> template element for the "GetTile" operation with a name for each <Dimension><ows:Identifier> element defined for each Layer.

  2. the response entity has a <Layer> with one or more <Dimension>s with a <Current> element text value.

Test purpose

Test that a WMTS server can return tiles in response to valid RESTful GetTile requests with optional sample dimensions parameter with the "current" values specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the responses 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 of "current";

  12. the server returns a tile from a Layer with a sample dimension with a default value in response to the RESTful GetTile request.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain the current tile resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 35.16. Server RESTful - GetTile - Valid Tile Format

Test case identifier Server.RESTful.GetTile.Valid.Tile.Format
Prerequisites

Bootstrap RESTful - GetCapabilities

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

Test purpose

Test that the tiles returned by a WMTS server in response to valid RESTful GetTile requests with the tile formats advertised in the Service Metadata Document for each layer, and each sample dimension if applicable, are in the MIME types of the requested formats.

Assertions

All of the following assertions must hold for the responses 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 server returns a tile in the MIME type corresponding to the requested format from each format for each Layer (and sample dimension, if applicable) offered by the server.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain tile resources in MIME types corresponding to the requested formats. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 35.17. Server RESTful - GetTile - Valid Tile Size

Test case identifier Server.RESTful.GetTile.Valid.Tile.Size
Prerequisites

Bootstrap RESTful - GetCapabilities

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

Test purpose

Test that the tiles returned by a WMTS server in response to valid RESTful GetTile requests with the tile sizes (TileWidth and TileHeight) advertised in the Service Metadata Document for each TileMatrix in the TileMatrixSet of a Layer, and for each sample dimension of Layers with Dimensions, are the advertised sizes.

Assertions

All of the following assertions must hold for the responses 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 server returns a tile with the width and height of the returned image equal to the advertised TileWidth and TileHeight from each TileMatrix for each TileMatrixSet for each Layer, and for each sample dimension of Layers with Dimensions. offered by the server.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain tile resources of the correct sizes. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 35.18. Server RESTful - GetTile - Valid Tile Transparency

Test case identifier Server.RESTful.GetTile.Valid.Tile.Transparency
Prerequisites

Bootstrap RESTful - GetCapabilities

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

Test purpose

Verify that the returned tile has transparent color for NODATA values.

Assertions

All of the following assertions must hold for the responses 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 requested entity is a tile with NODATA.

  13. the server returns a tile with NODATA in the requestred format that supports transparency, e.g. image/png as a transparent image.

Test method Send a correct request for a Layer in a format that supports transparency and in a tile where NODATA values are expected and test for transparent color there. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability



20. Server RESTful Interface - Optional GetFeatureInfo Operation

Purpose

The Server RESTful Interface - Optional GetFeatureInfo test group includes RESTful GetFeatureInfo requests to the WMTS server to exercise all supported parameters.

List of Tables

36.1. Server RESTful - GetFeatureInfo - Mandatory parameters
36.2. Server RESTful - GetFeatureInfo - Optional parameter
36.3. Server RESTful - GetFeatureInfo - Missing parameters
36.4. Server RESTful - GetFeatureInfo - Invalid Layer
36.5. Server RESTful - GetFeatureInfo - Invalid TileMatrixSet
36.6. Server RESTful - GetFeatureInfo - Invalid TileMatrix
36.7. Server RESTful - GetFeatureInfo - Invalid Tile Row - no TileMatrixSetLimits
36.8. Server RESTful - GetFeatureInfo - Invalid Tile Col - no TileMatrixSetLimits
36.9. Server RESTful - GetFeatureInfo - Invalid Tile Row - TileMatrixSetLimits
36.10. Server RESTful - GetFeatureInfo - Invalid Tile Col - TileMatrixSetLimits
36.11. Server RESTful - GetFeatureInfo - Invalid Tile Style
36.12. Server RESTful - GetFeatureInfo - Missing optional parameters
36.13. Server RESTful - GetFeatureInfo - Invalid Sample Dimension Value
36.14. Server RESTful - GetFeatureInfo - Default Sample Dimension
36.15. Server RESTful - GetFeatureInfo - Current Sample Dimension
36.16. Server RESTful - GetFeatureInfo - Valid InfoFormat
36.17. Server RESTful - GetFeatureInfo - Invalid Pixel Row J
36.18. Server RESTful - GetFeatureInfo - Invalid Pixel Col I

Table 36.1. Server RESTful - GetFeatureInfo - Mandatory parameters

Test case identifier Server.RESTful.GetFeatureInfo.Mandatory
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 one or more <InfoFormat>s and with no <wmts:Dimension> or with every <wmtsDimension> with a <wmts:Default> dimension value.

Test purpose

Test that a WMTS server can return FeatureInfo for pixels in tiles advertised in its Service Metadata document in response to valid RESTful GetFeatureInfo requests with valid values for mandatory parameters as 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 for a layer with no sample dimensions or with every sample dimension having a default 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 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 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 GetFeatureInfo request URL 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 substituted in place of the "J" URL template variable;

  11. the request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "I" URL template variable;

  12. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory infoFormat parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer provided in the ResourceURL template from the Service Metadata document;

  13. the server returns FeatureInfo in response to a valid RESTful GetFeatureInfo request for sample pixels from each tile 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 Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain FeatureInfo resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 36.2. Server RESTful - GetFeatureInfo - Optional Parameter - sample dimensions

Test case identifier Server.RESTful.GetFeatureInfo.Optional
Prerequisites

Bootstrap RESTful - GetCapabilities

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

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

Test purpose

Test that a WMTS server can return FeatureInfo for pixels in tiles advertised in its Service Metadata document in response to valid RESTful GetFeatureInfo requests with optional sample dimensions parameter valid values 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 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 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 GetFeatureInfo 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 GetFeatureInfo 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 request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "J" URL template variable;

  13. the request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "I" URL template variable;

  14. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory infoFormat parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer provided in the ResourceURL template from the Service Metadata document;

  15. the server returns FeatureInfo in response to a valid RESTful GetFeatureInfo request for sample pixels from each tile 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 Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain FeatureInfo resources. Pass if all assertions hold; fail otherwise.
Reference
Test type Basic

Table 36.3. Server RESTful - GetFeatureInfo - Missing mandatory parameters

Test case identifier Server.RESTful.GetFeatureInfo.Missing
Prerequisites

Bootstrap RESTful - GetCapabilities

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

  2. the response entity has a <Layer> with one or more <InfoFormat>s and with no <wmts:Dimension> or with every <wmtsDimension> with a <wmts:Default> dimension value.

Test purpose

Verify that if a mandatory RESTful GetFeatureInfo parameter is missing from an otherwise valid request, the server throws an exception.

Assertions

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

  1. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory Layer identifier value for a layer with no sample dimensions or with every sample dimension having a default 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, except when tested as missing;

  3. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory format MIME type format value provided in the ResourceURL template, except when tested as missing;

  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, except when tested as missing;

  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 substituted in place of the "TileMatrix" URL template variable, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  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, except when tested as missing;

  10. the request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "J" URL template variable;

  11. the request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "I" URL template variable;

  12. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory infoFormat parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer provided in the ResourceURL template from the Service Metadata document;

  13. the HTTP status code value is set to indicate an error.

BestPracticeAssertions

In addition to the assertions above, all of the following assertions must hold for the responses to be Best Practice:

  1. the response entity is a schema-valid ows:Exception document.

  2. the response entity contains an exceptionCode attribute value of "MissingParameterValue".

  3. the response entity contains a locator attribute value of the name of the missing parameter.

  4. the HTTP status code value is set to 404, corresponding to the message "File Not Found".

Test method Generate test requests with one of the following parameters missing, and other parameter values valid using the contents of Service Metadata document.
  • Style
  • TileMatrixSet
  • TileMatrix
  • Row
  • Col
  • J
  • I
  • InfoFormat
Check that responses are HTTP error status codes. Pass if all assertions hold; BestPractice if all best practice assertions also hold; fail otherwise.
Reference
Test type Capability

Table 36.4. Server RESTful - GetFeatureInfo - Invalid Layer

Test case identifier Server.RESTful.GetFeatureInfo.Invalid.Layer
Prerequisites

Bootstrap RESTful - GetCapabilities

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

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

Test purpose

Verify that when a GetFeatureInfo request contains a Layer incorrect value, then the server throws an exception.

Assertions

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

  1. the request entity is a valid RESTful GetFeatureInfo request URL with an invalid mandatory Layer identifier value not 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 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 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 GetFeatureInfo request URL 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 substituted in place of the "J" URL template variable;

  11. the request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "I" URL template variable;

  12. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory infoFormat parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer provided in the ResourceURL template from the Service Metadata document;

  13. the HTTP status code value is set to indicate an error.

BestPracticeAssertions

In addition to the assertions above, all of the following assertions must hold for the responses to be Best Practice:

  1. the response entity is a schema-valid ows:Exception document.

  2. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  3. the response entity contains a locator attribute value of "layer".

  4. the HTTP status code value is set to 404, corresponding to the message "File Not Found".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that responses are HTTP error status codes. Pass if all assertions hold; BestPractice if all best practice assertions also hold; fail otherwise.
Reference
Test type Capability

Table 36.5. Server RESTful - GetFeatureInfo - Invalid TileMatrixSet

Test case identifier Server.RESTful.GetFeatureInfo.Invalid.TileMatrixSet
Prerequisites

Bootstrap RESTful - GetCapabilities

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

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

Test purpose

Verify that when a GetFeatureInfo request contains a TileMatrixSet incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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> identifier value not listed in 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 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 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 GetFeatureInfo request URL 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 substituted in place of the "J" URL template variable;

  11. the request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "I" URL template variable;

  12. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory infoFormat parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer provided in the ResourceURL template from the Service Metadata document;

  13. the HTTP status code value is set to indicate an error.

BestPracticeAssertions

In addition to the assertions above, all of the following assertions must hold for the responses to be Best Practice:

  1. the response entity is a schema-valid ows:Exception document.

  2. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  3. the response entity contains a locator attribute value of "TileMatrixSet".

  4. the HTTP status code value is set to 404, corresponding to the message "File Not Found".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that responses are HTTP error status codes. Pass if all assertions hold; BestPractice if all best practice assertions also hold; fail otherwise.
Reference
Test type Capability

Table 36.6. Server RESTful - GetFeatureInfo - Invalid TileMatrix

Test case identifier Server.RESTful.GetFeatureInfo.Invalid.TileMatrix
Prerequisites

Bootstrap RESTful - GetCapabilities

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

  2. the response entity has a <Layer> with one or more <InfoFormat>s and a <TileMatrixSetLink> to a <TileMatrixSet> with two or more <TileMatrix> elements.

Test purpose

Verify that when a GetFeatureInfo request contains a TileMatrix incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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> identifier value not listed in the Service Metadata document 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 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 GetFeatureInfo request URL 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 substituted in place of the "J" URL template variable;

  11. the request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "I" URL template variable;

  12. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory infoFormat parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer provided in the ResourceURL template from the Service Metadata document;

  13. the HTTP status code value is set to indicate an error.

BestPracticeAssertions

In addition to the assertions above, all of the following assertions must hold for the responses to be Best Practice:

  1. the response entity is a schema-valid ows:Exception document.

  2. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  3. the response entity contains a locator attribute value of "TileMatrix".

  4. the HTTP status code value is set to 404, corresponding to the message "File Not Found".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that responses are HTTP error status codes. Pass if all assertions hold; BestPractice if all best practice assertions also hold; fail otherwise.
Reference
Test type Capability

Table 36.7. Server RESTful - GetFeatureInfo - Invalid Row - no TileMatrixSetLimits

Test case identifier Server.RESTful.GetFeatureInfo.Invalid.Tile.Row.No.TileMatrixSetLimits
Prerequisites

Bootstrap RESTful - GetCapabilities

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

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

Test purpose

Verify that when a GetFeatureInfo request contains a Row incorrect value for a tile in a Layer with no TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 greater than the MatrixHeight in the TileMatrix for the tile in 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 is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "J" URL template variable;

  9. the request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "I" URL template variable;

  10. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory infoFormat parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer provided in the ResourceURL template from the Service Metadata document;

  11. the HTTP status code value is set to indicate an error.

BestPracticeAssertions

In addition to the assertions above, all of the following assertions must hold for the responses to be Best Practice:

  1. the response entity is a schema-valid ows:Exception document.

  2. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  3. the response entity contains a locator attribute value of "TileRow".

  4. the HTTP status code value is set to 404, corresponding to the message "File Not Found".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that responses are HTTP error status codes. Pass if all assertions hold; BestPractice if all best practice assertions also hold; fail otherwise.
Reference
Test type Capability

Table 36.8. Server RESTful - GetFeatureInfo - Invalid Col - no TileMatrixSetLimits

Test case identifier Server.RESTful.GetFeatureInfo.Invalid.Tile.Col.No.TileMatrixSetLimits
Prerequisites

Bootstrap RESTful - GetCapabilities

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

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

Test purpose

Verify that when a GetFeatureInfo request contains a Col incorrect value for a tile in a Layer with no TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 greater than the MatrixWidth for the TileMatrix of the tile in the Service Metadata document substituted in place of the "TileCol" URL template variable;

  8. the request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "J" URL template variable;

  9. the request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "I" URL template variable;

  10. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory infoFormat parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer provided in the ResourceURL template from the Service Metadata document;

  11. the HTTP status code value is set to indicate an error.

BestPracticeAssertions

In addition to the assertions above, all of the following assertions must hold for the responses to be Best Practice:

  1. the response entity is a schema-valid ows:Exception document.

  2. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  3. the response entity contains a locator attribute value of "TileCol".

  4. the HTTP status code value is set to 404, corresponding to the message "File Not Found".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that responses are HTTP error status codes. Pass if all assertions hold; BestPractice if all best practice assertions also hold; fail otherwise.
Reference
Test type Capability

Table 36.9. Server RESTful - GetFeatureInfo - Invalid Row - TileMatrixSetLimits

Test case identifier Server.RESTful.GetFeatureInfo.Invalid.Tile.Row.TileMatrixSetLimits
Prerequisites

Bootstrap RESTful - GetCapabilities

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

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

Test purpose

Verify that when a GetFeatureInfo request contains a Row incorrect value for a tile in a Layer with TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 substituted in place of the "TileMatrix" URL template variable;

  6. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory TileRow parameter with a TileRow index value outside of the TileMatrixLimits MinTileRow and MaxTileRow values for the TileMatrix of the tile in 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 parameter with a TileCol index value within the TileMatrixLimits MinTileCol and MaxTileCol values for the TileMatrix of the tile in the Service Metadata document substituted in place of the "TileCol" URL template variable;

  8. the request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "J" URL template variable;

  9. the request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "I" URL template variable;

  10. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory infoFormat parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer provided in the ResourceURL template from the Service Metadata document;

  11. the HTTP status code value is set to indicate an error.

BestPracticeAssertions

In addition to the assertions above, all of the following assertions must hold for the responses to be Best Practice:

  1. the response entity is a schema-valid ows:Exception document.

  2. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  3. the response entity contains a locator attribute value of "TileRow".

  4. the HTTP status code value is set to 404, corresponding to the message "File Not Found".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that responses are HTTP error status codes. Pass if all assertions hold; BestPractice if all best practice assertions also hold; fail otherwise.
Reference
Test type Capability

Table 36.10. Server RESTful - GetFeatureInfo - Invalid Col - TileMatrixSetLimits

Test case identifier Server.RESTful.GetFeatureInfo.Invalid.Tile.Col.TileMatrixSetLimits
Prerequisites

Bootstrap RESTful - GetCapabilities

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

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

Test purpose

Verify that when a GetFeatureInfo request contains a Col incorrect value for a tile in a Layer with TileMatrixSetLimits, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 substituted in place of the "TileMatrix" URL template variable;

  6. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory TileRow parameter with a TileRow index value within the TileMatrixLimits MinTileRow and MaxTileRow values for the TileMatrix of the tile in 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 parameter with a TileCol index value outside the TileMatrixLimits MinTileCol and MaxTileCol values for the TileMatrix of the tile in the Service Metadata document substituted in place of the "TileCol" URL template variable;

  8. the request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "J" URL template variable;

  9. the request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "I" URL template variable;

  10. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory infoFormat parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer provided in the ResourceURL template from the Service Metadata document;

  11. the HTTP status code value is set to indicate an error.

BestPracticeAssertions

In addition to the assertions above, all of the following assertions must hold for the responses to be Best Practice:

  1. the response entity is a schema-valid ows:Exception document.

  2. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  3. the response entity contains a locator attribute value of "TileRow".

  4. the HTTP status code value is set to 404, corresponding to the message "File Not Found".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that responses are HTTP error status codes. Pass if all assertions hold; BestPractice if all best practice assertions also hold; fail otherwise.
Reference
Test type Capability

Table 36.11. Server RESTful - GetFeatureInfo - Invalid Style

Test case identifier Server.RESTful.GetFeatureInfo.Invalid.Tile.Style
Prerequisites

Bootstrap RESTful - GetCapabilities

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

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

Test purpose

Verify that when GetFeatureInfo a request contains a Style incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 parameter with a style identifier value not listed in 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 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 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 GetFeatureInfo request URL 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 substituted in place of the "J" URL template variable;

  11. the request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "I" URL template variable;

  12. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory infoFormat parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer provided in the ResourceURL template from the Service Metadata document;

  13. the HTTP status code value is set to indicate an error.

BestPracticeAssertions

In addition to the assertions above, all of the following assertions must hold for the responses to be Best Practice:

  1. the response entity is a schema-valid ows:Exception document.

  2. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  3. the response entity contains a locator attribute value of "Style".

  4. the HTTP status code value is set to 404, corresponding to the message "File Not Found".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that responses are HTTP error status codes. Pass if all assertions hold; BestPractice if all best practice assertions also hold; fail otherwise.
Reference
Test type Capability

Table 36.12. Server RESTful - GetFeatureInfo - Missing Optional Parameters

Test case identifier Server.RESTful.GetFeatureInfo.Missing.Optional
Prerequisites

Bootstrap KVP GET - GetCapabilities

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

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

Test purpose

Verify that when a GetFeatureInfo request for a tile from a layer with a sample dimension with no default sample dimension value is missing a request parameter for the sample dimension name, that the server throws an exception.

Assertions

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

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

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

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

  4. the request entity is a valid RESTful GetFeatureInfo request with the mandatory Layer parameter with a layer identifier value equal to a <Layer><ows:Identifier> value from the Service Metadata document for a layer with a sample dimension with no default value;

  5. the request entity is a valid RESTful 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 RESTful GetFeatureInfo request with the mandatory format parameter parameter with a MIME type format value equal to an <Layer><InfoFormat> value for the specified Layer from the Service Metadata document

  7. the request entity is a valid RESTful 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 RESTful 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 RESTful 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 RESTful 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 RESTful GetFeatureInfo request without an optional sample dimensions parameter for a sample dimension without a default value that is specified in the <Contents><Layer><Dimension><ows:Identifier> in the Service Metadata document for the specified layer.

  16. the response entity is a schema-valid ows:Exception document.

  17. the response entity contains an exceptionCode attribute value of "MissingParameterValue".

  18. the response entity contains a locator attribute value of the name of the sample dimension.

  19. the HTTP status code value is set to 400, corresponding to the message "Bad Request".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 36.13. Server RESTful - GetFeatureInfo - Invalid Sample Dimension Value

Test case identifier Server.RESTful.GetFeatureInfo.Invalid.SampleDimension.Value
Prerequisites

Bootstrap RESTful - GetCapabilities

  1. the resonse entity has a separate <ResourceURL> template element for the "GetFeatureInfo" operation with a name for each <Dimension><ows:Identifier> element defined for each Layer.

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

Test purpose

Verify that when a GetFeatureInfo request contains a parameter name defined as a sample dimension with a value that is not defined for that dimension in the Service Metadata document, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 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 GetFeatureInfo 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 GetFeatureInfo request URL with an optional sample dimensions parameter with a value that is not specified in one of the <Dimension><Value> elements for the specified Dimension from the Service Metadata document;

  12. the request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "J" URL template variable;

  13. the request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "I" URL template variable;

  14. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory infoFormat parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer provided in the ResourceURL template from the Service Metadata document;

  15. the HTTP status code value is set to indicate an error.

BestPracticeAssertions

In addition to the assertions above, all of the following assertions must hold for the responses to be Best Practice:

  1. the response entity is a schema-valid ows:Exception document.

  2. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  3. the response entity contains a locator attribute value of the name of the sample dimension for which an invalid value was supplied in the request.

  4. the HTTP status code value is set to 404, corresponding to the message "File Not Found".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that responses are HTTP error status codes. Pass if all assertions hold; BestPractice if all best practice assertions also hold; fail otherwise.
Reference
Test type Capability

Table 36.14. Server RESTful - GetFeatureInfo - Default Sample Dimension

Test case identifier Server.RESTful.GetFeatureInfo.Default.SampleDimension
Prerequisites

Bootstrap RESTful - GetCapabilities

  1. the resonse entity has a separate <ResourceURL> template element for the "GetFeatureInfo" operation with a name for each <Dimension><ows:Identifier> element defined for each Layer.

  2. the response entity has a <Layer> with one or more <InfoFormat>s and one or more <Dimension>s with a <Default> element text value.

Test purpose

Test that a WMTS server can return tiles in response to valid RESTful GetFeatureInfo requests with optional sample dimensions parameter with the "default" values specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the responses 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 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 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 GetFeatureInfo 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 GetFeatureInfo request URL with an optional sample dimensions parameter with a value of "default";

  12. the request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "J" URL template variable;

  13. the request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "I" URL template variable;

  14. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory infoFormat parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer provided in the ResourceURL template from the Service Metadata document;

  15. the server returns FeatureInfo from a Layer with a sample dimension with a default value in response to the RESTful GetFeatureInfo request.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain FeatureInfo for the specified pixel for the specified tile for the default sample dimension. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 36.15. Server RESTful - GetFeatureInfo - Current Sample Dimension

Test case identifier Server.RESTful.GetFeatureInfo.Current.SampleDimension
Prerequisites

Bootstrap RESTful - GetCapabilities

  1. the resonse entity has a separate <ResourceURL> template element for the "GetFeatureInfo" operation with a name for each <Dimension><ows:Identifier> element defined for each Layer.

  2. the response entity has a <Layer> with one or more <InfoFormat>s and one or more <Dimension>s with a <Current> element text value.

Test purpose

Test that a WMTS server can return tiles in response to valid RESTful GetFeatureInfo requests with optional sample dimensions parameter with the "current" values specified in the Service Metadata document.

Assertions

All of the following assertions must hold for the responses 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 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 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 GetFeatureInfo 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 GetFeatureInfo request URL with an optional sample dimensions parameter with a value of "current";

  12. the request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "J" URL template variable;

  13. the request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "I" URL template variable;

  14. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory infoFormat parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer provided in the ResourceURL template from the Service Metadata document;

  15. the server returns FeatureInfo from a Layer with a sample dimension with a current value in response to the RESTful GetFeatureInfo request.

Test method Generate parameter values in the requests with contents of Service Metadata document. Check that responses contain FeatureInfo for the specified pixel for the specified tile for the default sample dimension. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 36.16. Server RESTful - GetFeatureInfo - Valid InfoFormat

Test case identifier Server.RESTful.GetFeatureInfo.Valid.InfoFormat
Prerequisites

Bootstrap RESTful - GetCapabilities

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

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

Test purpose

Verify that for each GetFeatureInfo format, when the InfoFormat parameter is set to that format or URLtemplate having a format parameter, the MIME type of the response matches that format.

Assertions

All of the following assertions must hold for the responses 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 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 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 GetFeatureInfo 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 GetFeatureInfo 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 request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "J" URL template variable;

  13. the request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "I" URL template variable;

  14. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory infoFormat parameter with an InfoFormat value from one of the <InfoFormat>s for the specified Layer provided in the ResourceURL template from the Service Metadata document;

  15. the server returns FeatureInfo in response to a valid RESTful GetFeatureInfo request for each offered InfoFormat for each Layer with a FeatureInfo document of the requested InfoFormat MIME type.

Test method Generate parameter values in the request with contents of Service Metadata document. Check that response contains a valid exception report and HTTP status code. Pass if all assertions hold; fail otherwise.
Reference
Test type Capability

Table 36.17. Server RESTful - GetFeatureInfo - Invalid Pixel.Row.J

Test case identifier Server.RESTful.GetFeatureInfo.Invalid.Pixel.Row.J
Prerequisites

Bootstrap RESTful - GetCapabilities

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

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

Test purpose

Verify that when a GetFeature request contains a Pixel Row J incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 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 GetFeatureInfo 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 GetFeatureInfo 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 request entity is a valid RESTful GetFeatureInfo request URL with the mandatory J parameter with a row index value greater than the value of <TileHeight> minus 1 for the specified TileMatrix from the Service Metadata document substituted in place of the "J" URL template variable;

  13. the request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "I" URL template variable;

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

  15. the HTTP status code value is set to indicate an error.

BestPracticeAssertions

In addition to the assertions above, all of the following assertions must hold for the responses to be Best Practice:

  1. the response entity is a schema-valid ows:Exception document.

  2. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  3. the response entity contains a locator attribute value of "J".

  4. the HTTP status code value is set to 404, corresponding to the message "File Not Found".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that responses are HTTP error status codes. Pass if all assertions hold; BestPractice if all best practice assertions also hold; fail otherwise.
Reference
Test type Capability

Table 36.18. Server RESTful - GetFeatureInfo - Invalid Pixel.Col.I

Test case identifier Server.RESTful.GetFeatureInfo.Invalid.Pixel.Col.I
Prerequisites

Bootstrap RESTful - GetCapabilities

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

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

Test purpose

Verify that when a GetFeature request contains a Pixel Col I incorrect value, then the server throws an exception.

Assertions

All of the following assertions must hold for the responses 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 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 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 GetFeatureInfo 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 GetFeatureInfo 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 request entity is a valid RESTful GetFeatureInfo request URL 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 substituted in place of the "J" URL template variable;

  13. the request entity is a valid RESTful GetFeatureInfo request URL with the mandatory I parameter with a column index value greater than the value of <TileWidth> minus 1 for the specified TileMatrix from the Service Metadata document substituted in place of the "I" URL template variable;

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

  15. the HTTP status code value is set to indicate an error.

BestPracticeAssertions

In addition to the assertions above, all of the following assertions must hold for the responses to be Best Practice:

  1. the response entity is a schema-valid ows:Exception document.

  2. the response entity contains an exceptionCode attribute value of "InvalidParameterValue".

  3. the response entity contains a locator attribute value of "I".

  4. the HTTP status code value is set to 404, corresponding to the message "File Not Found".

Test method Generate parameter values in the request with contents of Service Metadata document. Check that responses are HTTP error status codes. Pass if all assertions hold; BestPractice if all best practice assertions also hold; fail otherwise.
Reference
Test type Capability



37. Client Interface Summary - Conformant Architectural Style Interfaces

Purpose

The Mandatory Client Interface Summary - Conformant Architectural Style Interfaces test group verifies that a client passed all mandatory tests for one or more architectural style interfaces (KVP GET, KVP POST, XML POST, SOAP POST, RESTful)

List of Tables

37.1. Client Interface Summary - KVP GET Architectural Style Interface
37.2. Client Interface Summary - KVP POST Architectural Style Interface
37.3. Client Interface Summary - XML POST Architectural Style Interface
37.4. Client Interface Summary - SOAP POST Architectural Style Interface
37.5. Client Interface Summary - RESTful Architectural Style Interface

Table 36.1. Client Interface Summary - KVP GET Architectural Style Interface

Test case identifier ClientInterfaceSummaryKVPGET
Prerequisites

Any Client Test from the test groups in the following list was attempted:

Test purpose

Verify that a WMTS client supports the KVP GET Architectural Style Interface.

Assertions

For a Client to pass Basic conformance to the WMTS KVP GET Architectural Style Interface, all Client Tests from the test groups in the following list were attempted, and all returned a test status of Skipped, Passed, or BestPractice:

BestPracticeAssertions

For a Client to pass BestPractice conformance to the WMTS KVP GET Architectural Style Interface, all Client Tests from the following test groups were attempted; all tests with BestPractices assertions returned a test status of BestPractice; all other tests returned a test status of Passed:

Test method Tabulate the results of test execution in one test session according to the assertions.
Reference
Test type Capability

Table 36.1. Client Interface Summary - KVP POST Architectural Style Interface

Test case identifier ClientInterfaceSummaryKVPPOST
Prerequisites

Any Client Test from the test groups in the following list was attempted:

Test purpose

Verify that a WMTS client supports the KVP POST Architectural Style Interface.

Assertions

For a Client to pass Basic conformance to the WMTS KVP POST Architectural Style Interface, all Client Tests from the test groups in the following list were attempted, and all returned a test status of Skipped, Passed, or BestPractice:

BestPracticeAssertions

For a Client to pass BestPractice conformance to the WMTS KVP POST Architectural Style Interface, all Client Tests from the following test groups were attempted; all tests with BestPractices assertions returned a test status of BestPractice; all other tests returned a test status of Passed:

Test method Tabulate the results of test execution in one test session according to the assertions.
Reference
Test type Capability

Table 36.1. Client Interface Summary - XML POST Architectural Style Interface

Test case identifier ClientInterfaceSummaryXMLPOST
Prerequisites

Any Client Test from the test groups in the following list was attempted:

Test purpose

Verify that a WMTS client supports the XML POST Architectural Style Interface.

Assertions

For a Client to pass Basic conformance to the WMTS XML POST Architectural Style Interface, all Client Tests from the test groups in the following list were attempted, and all returned a test status of Skipped, Passed, or BestPractice:

BestPracticeAssertions

For a Client to pass BestPractice conformance to the WMTS XML POST Architectural Style Interface, all Client Tests from the following test groups were attempted; all tests with BestPractices assertions returned a test status of BestPractice; all other tests returned a test status of Passed:

Test method Tabulate the results of test execution in one test session according to the assertions.
Reference
Test type Capability

Table 36.1. Client Interface Summary - SOAP POST Architectural Style Interface

Test case identifier ClientInterfaceSummarySOAPPOST
Prerequisites

Any Client Test from the test groups in the following list was attempted:

Test purpose

Verify that a WMTS client supports the SOAP POST Architectural Style Interface.

Assertions

For a Client to pass Basic conformance to the WMTS SOAP POST Architectural Style Interface, all Client Tests from the test groups in the following list were attempted, and all returned a test status of Skipped, Passed, or BestPractice:

BestPracticeAssertions

For a Client to pass BestPractice conformance to the WMTS SOAP POST Architectural Style Interface, all Client Tests from the following test groups were attempted; all tests with BestPractices assertions returned a test status of BestPractice; all other tests returned a test status of Passed:

Test method Tabulate the results of test execution in one test session according to the assertions.
Reference
Test type Capability

Table 36.1. Client Interface Summary - RESTful Architectural Style Interface

Test case identifier ClientInterfaceSummaryRESTful
Prerequisites

Any Client Test from the test groups in the following list was attempted:

Test purpose

Verify that a WMTS client supports the RESTful Architectural Style Interface.

Assertions

For a Client to pass Basic conformance to the WMTS RESTful Architectural Style Interface, all Client Tests from the test groups in the following list were attempted, and all returned a test status of Skipped, Passed, or BestPractice:

BestPracticeAssertions

For a Client to pass BestPractice conformance to the WMTS RESTful Architectural Style Interface, all Client Tests from the following test groups were attempted; all tests with BestPractices assertions returned a test status of BestPractice; all other tests returned a test status of Passed:

Test method Tabulate the results of test execution in one test session according to the assertions.
Reference
Test type Capability



37. Server Interface Summary - Conformant Architectural Style Interfaces

Purpose

The Mandatory Server Interface Summary - Conformant Architectural Style Interfaces test group verifies that a server passed all mandatory tests for one or more architectural style interfaces (KVP GET, KVP POST, XML POST, SOAP POST, RESTful)

List of Tables

37.1. Server Interface Summary - KVP GET Architectural Style Interface
37.2. Server Interface Summary - KVP POST Architectural Style Interface
37.3. Server Interface Summary - XML POST Architectural Style Interface
37.4. Server Interface Summary - SOAP POST Architectural Style Interface
37.5. Server Interface Summary - RESTful Architectural Style Interface

Table 36.1. Server Interface Summary - KVP GET Architectural Style Interface

Test case identifier ServerInterfaceSummaryKVPGET
Prerequisites

Any Server Test from the test groups in the following list was attempted:

Test purpose

Verify that a WMTS client supports the KVP GET Architectural Style Interface.

Assertions

For a Server to pass Basic conformance to the WMTS KVP GET Architectural Style Interface, all Server Tests from the test groups in the following list were attempted, and all returned a test status of Skipped, Passed, or BestPractice:

BestPracticeAssertions

For a Server to pass BestPractice conformance to the WMTS KVP GET Architectural Style Interface, all Server Tests from the following test groups were attempted; all tests with BestPractices assertions returned a test status of BestPractice; all other tests returned a test status of Passed:

Test method Tabulate the results of test execution in one test session according to the assertions.
Reference
Test type Capability

Table 36.1. Server Interface Summary - KVP POST Architectural Style Interface

Test case identifier ServerInterfaceSummaryKVPPOST
Prerequisites

Any Server Test from the test groups in the following list was attempted:

Test purpose

Verify that a WMTS client supports the KVP POST Architectural Style Interface.

Assertions

For a Server to pass Basic conformance to the WMTS KVP POST Architectural Style Interface, all Server Tests from the test groups in the following list were attempted, and all returned a test status of Skipped, Passed, or BestPractice:

BestPracticeAssertions

For a Server to pass BestPractice conformance to the WMTS KVP POST Architectural Style Interface, all Server Tests from the following test groups were attempted; all tests with BestPractices assertions returned a test status of BestPractice; all other tests returned a test status of Passed:

Test method Tabulate the results of test execution in one test session according to the assertions.
Reference
Test type Capability

Table 36.1. Server Interface Summary - XML POST Architectural Style Interface

Test case identifier ServerInterfaceSummaryXMLPOST
Prerequisites

Any Server Test from the test groups in the following list was attempted:

Test purpose

Verify that a WMTS client supports the XML POST Architectural Style Interface.

Assertions

For a Server to pass Basic conformance to the WMTS XML POST Architectural Style Interface, all Server Tests from the test groups in the following list were attempted, and all returned a test status of Skipped, Passed, or BestPractice:

BestPracticeAssertions

For a Server to pass BestPractice conformance to the WMTS XML POST Architectural Style Interface, all Server Tests from the following test groups were attempted; all tests with BestPractices assertions returned a test status of BestPractice; all other tests returned a test status of Passed:

Test method Tabulate the results of test execution in one test session according to the assertions.
Reference
Test type Capability

Table 36.1. Server Interface Summary - SOAP POST Architectural Style Interface

Test case identifier ServerInterfaceSummarySOAPPOST
Prerequisites

Any Server Test from the test groups in the following list was attempted:

Test purpose

Verify that a WMTS client supports the SOAP POST Architectural Style Interface.

Assertions

For a Server to pass Basic conformance to the WMTS SOAP POST Architectural Style Interface, all Server Tests from the test groups in the following list were attempted, and all returned a test status of Skipped, Passed, or BestPractice:

BestPracticeAssertions

For a Server to pass BestPractice conformance to the WMTS SOAP POST Architectural Style Interface, all Server Tests from the following test groups were attempted; all tests with BestPractices assertions returned a test status of BestPractice; all other tests returned a test status of Passed:

Test method Tabulate the results of test execution in one test session according to the assertions.
Reference
Test type Capability

Table 36.1. Server Interface Summary - RESTful Architectural Style Interface

Test case identifier ServerInterfaceSummaryRESTful
Prerequisites

Any Server Test from the test groups in the following list was attempted:

Test purpose

Verify that a WMTS client supports the RESTful Architectural Style Interface.

Assertions

For a Server to pass Basic conformance to the WMTS RESTful Architectural Style Interface, all Server Tests from the test groups in the following list were attempted, and all returned a test status of Skipped, Passed, or BestPractice:

BestPracticeAssertions

For a Server to pass BestPractice conformance to the WMTS RESTful Architectural Style Interface, all Server Tests from the following test groups were attempted; all tests with BestPractices assertions returned a test status of BestPractice; all other tests returned a test status of Passed:

Test method Tabulate the results of test execution in one test session according to the assertions.
Reference
Test type Capability