Notice: This Test Suite uses the legacy CITE Test Engine for official compliance certification.

Test Requirements and Assertions for WCS 1.0.0


ISSUE : 1.0.0


Preface

This document describes the requirements a WCS1.0.0 implementation must meet to be eligible for certification testing and the assertions that are tested.

For each assertion in the specifications, a corresponding entry in this test specification contains the following elements:

ID: The name by which the test is known
Class: An assertion Class as defined in IEEE Std 1003.3. These types are:
A A mandatory, testable assertion.
B A mandatory, but untestable assertion.
C An optional, testable assertion.
D An optional, but untestable assertion.
Scope: If an assertion is type C or D, this entry describes the option that needs to be supported in order to activate the test.
Text: The text of the assertion and a reference to the source specification from which the assertion is derived.
Note: Any supplementary information associated with the assertion. For example it may suggest a strategy for the test implementation of the assertion or it may propose rationale as to why a test is classified as untestable.

This specification uses the following conventions for convenience:

  • Element and attribute names are in UPPERCASE.
  • References to DTD entities are prefixed with percent sign (e.g. %PCDATA).
  • Literal text is enclosed in quotation marks.

Table of Contents

   I. Test Requirements

   II. Variables and Scopes
      A. User supplied variables
      B. User supplied scopes


   III. Test Assertions
      6 Basic Service Elements
         6.2 Version Numbering and Negotiation
         6.3 General HTTP Request Rules
         6.5 Service Exceptions

      7 GetCapabilities Operation
         7.2 GetCapabilities Request
            - http get
               - kvp encoding

            - http post
               - kvp encoding
               - xml encoding
         7.3 GetCapabilities Response

      8 DescribeCoverage Operation
         8.2 DescribeCoverage Request
            - http get
               - kvp encoding

            - http post
               - kvp encoding
               - xml encoding
         8.3 DescribeCoverage Response

      9 GetCoverage Operation
         9.2 GetCoverage Request
            9.2.2.2 Service Version
               - http get
                  - kvp encoding

               - http post
                  - kvp encoding
                  - xml encoding
            9.2.2.4 Coverage
               - http get
                  - kvp encoding

               - http post
                  - kvp encoding
                  - xml encoding
            9.2.2.5 crs
               - http get
                  - kvp encoding

               - http post
                  - kvp encoding
                  - xml encoding
            9.2.2.6 Response crs
               - http get
                  - kvp encoding

               - http post
                  - kvp encoding
                  - xml encoding
            9.2.2.7 BBOX
               - http get
                  - kvp encoding

               - http post
                  - kvp encoding
                  - xml encoding
            9.2.2.8 TIME
               - http get
                  - kvp encoding

               - http post
                  - kvp encoding
                  - xml encoding
            9.2.2.9 Parameter
               - http get
                  - kvp encoding

               - http post
                  - kvp encoding
                  - xml encoding
            9.2.2.10 Grid Size
               - http get
                  - kvp encoding

               - http post
                  - kvp encoding
                  - xml encoding
            9.2.2.11 Grid Resolution
               - http get
                  - kvp encoding

               - http post
                  - kvp encoding
                  - xml encoding
            9.2.2.12 Format
               - http get
                  - kvp encoding

               - http post
                  - kvp encoding
                  - xml encoding
            9.2.2.13 Exception
               - http get
                  - kvp encoding

               - http post
                  - kvp encoding
            9.2.2.14 Interpolation Method
               - http post
                  - xml encoding

         9.3 GetCoverage Response
            - http get
               - kvp encoding



I. Test Requirements

To be certifiable as a WCS, an implementation must meet the following requirements:

  • There need to be at least two coverages provided by the tested server.
  • The first coverage offering should include all the tested features while the second coverage could be anything.
  • The first coverage offering must take one of the 5 formats described in the WCS1.0.0 standard document as the first supported format.
  • The first coverage offering should have parameters defined in the axisDescription.
  • If the xml encoding is tested, the first coverage offering should have interpolation method defined.
  • If the server supports time postion, the first coverage offering should define time feature.
  • II. Variables and Scopes

    A. User supplied variables

    These variables are supplied by the user.

    Variable Name Prompt
    VAR_HIGH_UPDATESEQUENCE A value that is lexically higher than the current updateSequence value
    VAR_LOW_UPDATESEQUENCE A value that is lexically lower than the current updateSequence value
    VAR_WCS_COVERAGE_1_RESX A query parameter for the resolution in the width direction for the first coverage offering.
    VAR_WCS_COVERAGE_1_RESY A query parameter for the resolution in the height direction for the first coverage offering.
    VAR_WCS_FORMAT_1_HEADER The mime header for the first available format in the first coverage offering.


    B. User supplied scopes

    These scopes are options selected by the user.

    Scope ID Description
    xml Make request with xml encoding.
    haveparameter The server supports parameters in axis description.

    III. Test Assertions

    6 Basic Service Elements

    6.2 Version Numbering and Negotiation

    ID: wcs/1.0.0/basic_service_elements/version_numbering_and_negotiation/1
    Class: A
    Text: When a GetCapabilities request is made without a version number, then the response is the highest version supported. For wcs1.0.0, it is 1.0.0. [WCS1.0.0 Specification. section 6.2_Version_numbering_and_negotiation]
    Note:
    Request:
    VERSION =
    SERVICE = WCS
    REQUEST = GetCapabilities
    Results: Valid XML where /WCS_Capabilities@version = 1.0.0

    ID: wcs/1.0.0/basic_service_elements/version_numbering_and_negotiation/2
    Class: A
    Text: When a GetCapabilities request is made for a supported version, then the response is the requested version. [WCS1.0.0 Specification. section 6.2_Version_numbering_and_negotiation]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = GetCapabilities
    Results: Valid XML where /WCS_Capabilities@version = [[VAR_WCS_VERSION]]

    ID: wcs/1.0.0/basic_service_elements/version_numbering_and_negotiation/3
    Class: A
    Text: When a GetCapabilities request is made for a version that is unknown to the server is requested, the server sends the highest version it knows that is less than the requested version. [WCS1.0.0 Specification. section 6.2_Version_numbering_and_negotiation]
    Note:
    Request:
    VERSION = 1.0.2
    SERVICE = WCS
    REQUEST = GetCapabilities
    Results: Valid XML where /WCS_Capabilities@version = 1.0.0

    ID: wcs/1.0.0/basic_service_elements/version_numbering_and_negotiation/4
    Class: A
    Text: When a GetCapabilities request is made for a version lower than any of those known to the server, the server sends the lowest version it knows. [WCS1.0.0 Specification. section 6.2_Version_numbering_and_negotiation]
    Note:
    Request:
    VERSION = 0.8.0
    SERVICE = WCS
    REQUEST = GetCapabilities
    Results: Valid XML where / WCS_Capabilities@version = 1.0.0

    6.3 General HTTP Request Rules

    ID: wcs/1.0.0/basic_service_elements/general_http_request_rules/1
    Class: B
    Text: Parameter names are not case sensitive. [WCS1.0.0 Specification. section 6.3.2.2_Parameter_ordering_and_case]
    Note:
    Not completely testable without an extremely large number of requests. However, the other tests will use MiXeD case for parameter names to ensure that implementations haven't hardcoded for upper or lower case.

    ID: wcs/1.0.0/basic_service_elements/general_http_request_rules/2
    Class: B
    Text: Parameter values are case sensitive. [WCS1.0.0 Specification. section 6.3.2.2_Parameter_ordering_and_case]
    Note:
    Not completely testable without an extremely large number of requests.

    ID: wcs/1.0.0/basic_service_elements/general_http_request_rules/3
    Class: B
    Text: Parameters in a request may be specified in any order. [WCS1.0.0 Specification. section 6.3.2.2_Parameter_ordering_and_case]
    Note:
    Not completely testable without an extremely large number of requests. However, the other tests will use a random order for parameter names rather than using alphabetical order or the order in which the spec lists the parameters.

    ID: wcs/1.0.0/basic_service_elements/general_http_request_rules/4
    Class: A
    Text: When a GetCapabilities request contains a parameter which is not defined by the spec, the result is valid. [WCS1.0.0 Specification. section 6.3.2.2_Parameter_ordering_and_case]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = GetCapabilities
    BOGUS = ignored
    Results: Valid XML where /WCS_Capabilities exists.

    ID: wcs/1.0.0/basic_service_elements/general_http_request_rules/5
    Class: A
    Text: When a DescribeCoverage request contains a parameter which is not defined by the spec, the result is valid. [WCS1.0.0 Specification. section 6.3.2.2_Parameter_ordering_and_case]
    Note:
    Request:
    SERVICE = WCS
    VERSION = [[VAR_WCS_VERSION]]
    REQUEST = DescribeCoverage
    COVERAGE = [[VAR_WCS_COVERAGE_1]]
    BOGUS = ignored
    Results: Valid XML where /CoverageDescription exists.

    ID: wcs/1.0.0/basic_service_elements/general_http_request_rules/6
    Class: A
    Text: When a GetCoverage request contains a parameter which is not defined by the spec, the result is valid. [WCS1.0.0 Specification. section 6.3.2.2_Parameter_ordering_and_case]
    Note:
    Request#1:
    SERVICE = WCS
    VERSION = [[VAR_WCS_VERSION]]
    REQUEST = DescribeCoverage
    COVERAGE = [[VAR_WCS_COVERAGE_1]]
    Request#2:
    SERVICE = WCS
    VERSION = [[VAR_WCS_VERSION]]
    REQUEST = GetCoverage
    COVERAGE = [[VAR_WCS_COVERAGE_1]]
    CRS = [[VAR_WCS_COVERAGE_1_CRS]]
    BBOX = [[VAR_WCS_COVERAGE_1_BBOX]]
    WIDTH = [[VAR_WCS_COVERAGE_1_WIDTH]]
    HEIGHT = [[VAR_WCS_COVERAGE_1_HEIGHT]]
    FORMAT = [[VAR_WCS_FORMAT_1]]
    BOGUS = ignored
    Results: Content-type header = [[VAR_WCS_FORMAT_1_HEADER]]

    6.5 Service Exceptions

    ID: wcs/1.0.0/basic_service_elements/service_exceptions/1
    Class: A
    Text: When an Exception is returned from a request, Service Exception must have the MIME type as "application/vnd.ogc.se_xml". [WCS1.0.0 Specification. section 6.5_Service_exceptions]
    Note:
    Request:
    SERVICE = WCS
    REQUEST = DescribeCoverage
    Results: Valid XML where content type header is application/vnd.ogc.se_xml.

    7 GetCapabilities Operation

    7.2 GetCapabilities Request

    - http get

    - kvp encoding
    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/get/kvp/1
    Class: C
    Scope: The server does not advertise an UpdateSequence number
    Text: When a GetCapabilities request is made with an UPDATESEQUENCE parameter, the UPDATESEQUENCE parameter is ignored. [WCS1.0.0 Specification. section 7.2.1_Key-value_pair_encoding]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = GetCapabilities
    UPDATESEQUENCE = ignored
    Results: Valid XML where /WC_Capabilities exists

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/get/kvp/2
    Class: C
    Scope: The server advertises an UpdateSequence number
    Text: When a GetCapabilities request is made with an UPDATESEQUENCE parameter set to the current update sequence value, then the server returns a valid exception (cose = CurrentUpdateSequence). [WCS1.0.0 Specification. section 7.2.1_Key-value_pair_encoding]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = GetCapabilities
    UPDATESEQUENCE = [[VAR_CURRENT_UPDATESEQUENCE]]
    Results: Valid XML where /ServiceExceptionReport/ServiceException[@code="CurrentUpdateSequence"] exists

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/get/kvp/3
    Class: C
    Scope: The server advertises an UpdateSequence number
    Text: When a GetCapabilities request is made with an UPDATESEQUENCE parameter set to a value lower than the current update sequence value, then the server returns capabilities XML. [WCS1.0.0 Specification. section 7.2.1_Key-value_pair_encoding]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = GetCapabilities
    UPDATESEQUENCE = [[VAR_LOW_UPDATESEQUENCE]]
    Results: Valid XML where /WCS_Capabilities exists

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/get/kvp/4
    Class: C
    Scope: The server advertises an UpdateSequence number
    Text: When a GetCapabilities request is made with an UPDATESEQUENCE parameter set to a value higher than the current update sequence value, then the server returns a service exception (code="InvalidUpdateSequence "). [WCS1.0.0 Specification. section 7.2.1_Key-value_pair_encoding]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = GetCapabilities
    UPDATESEQUENCE = [[VAR_HIGH_UPDATESEQUENCE]]
    Results: Valid XML where /ServiceExceptionReport/ServiceException[@code="InvalidUpdateSequence "] exists

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/get/kvp/5
    Class: C
    Scope: The server advertises an UpdateSequence number
    Text: When a GetCapabilities request is made without an UPDATESEQUENCE parameter set, then the server returns most recent capabilities XML. [WCS1.0.0 Specification. section 7.2.1_Key-value_pair_encoding]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = GetCapabilities
    Results: Valid XML where /WCS_Capabilities exists

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/get/kvp/6
    Class: A
    Text: When a GetCapabilities request is made without a SECTION parameter, then the entire capabilities are returned. [WCS1.0.0 Specification. section 7.2.1_Key-value_pair_encoding]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = GetCapabilities
    Results: Valid XML where /WCS_Capabilities/Service, /WCS_Capabilities/Capability, and /WCS_Capabilities/ContentMetadata exist.

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/get/kvp/7
    Class: A
    Text: When a GetCapabilities request is made with a SECTION parameter set to a value as "/", then the entire capabilities are returned. [WCS1.0.0 Specification. section 7.2.1_Key-value_pair_encoding]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = GetCapabilities
    SECTION = /
    Results: Valid XML where /WCS_Capabilities/Service, /WCS_Capabilities/Capability, and /WCS_Capabilities/ContentMetadata exist

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/get/kvp/8
    Class: B
    Text: When a GetCapabilities request is made with a SECTION parameter set to a value as "/WCS_Capabilities/Service", Capabilities returned includes the only portion: Service. [WCS1.0.0 Specification. section 7.2.1_Key-value_pair_encoding]
    Note:
    ![CDATA[In the get capabilities sectioin, it describes, the partial WCS_Capabilities should be returned. In the GetCapabilities Response section, the response must be WCS_Capabilities. Do not test this feature given that this feature is both optional and amiguously defined.]]

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/get/kvp/9
    Class: B
    Text: When a GetCapabilities request is made with a SECTION parameter set to a value as "/WCS_Capabilities/Capability", Capabilities returned includes the only portion: Capability. [WCS1.0.0 Specification. section 7.2.1_Key-value_pair_encoding]
    Note:
    ![CDATA[In the get capabilities sectioin, it describes, the partial WCS_Capabilities should be returned. In the GetCapabilities Response section, the response must be WCS_Capabilities. Do not test this feature given that this feature is both optional and amiguously defined.]]

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/get/kvp/10
    Class: B
    Text: When a GetCapabilities request is made with a SECTION parameter set to a value as "/WCS_Capabilities/ContentMetadata", Capabilities returned includes the only portion: Capability. [WCS1.0.0 Specification. section 7.2.1_Key-value_pair_encoding]
    Note:
    ![CDATA[In the get capabilities sectioin, it describes, the partial WCS_Capabilities should be returned. In the GetCapabilities Response section, the response must be WCS_Capabilities. Do not test this feature given that this feature is both optional and amiguously defined.]]

    - http post

    - kvp encoding
    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/post/kvp/1
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with kvp encoding.
    • The server does not advertise an UpdateSequence number
    Text: When a GetCapabilities request is made with an UPDATESEQUENCE parameter, the UPDATESEQUENCE parameter is ignored. [WCS1.0.0 Specification. section 7.2.1_Key-value_pair_encoding]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = GetCapabilities
    UPDATESEQUENCE = ignored
    Results: Valid XML where /WC_Capabilities exists

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/post/kvp/2
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with kvp encoding.
    • The server advertises an UpdateSequence number
    Text: When a GetCapabilities request is made with an UPDATESEQUENCE parameter set to the current update sequence value, then the server returns a valid exception (code=CurrentUpdateSequence). [WCS1.0.0 Specification. section 7.2.1_Key-value_pair_encoding]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = GetCapabilities
    UPDATESEQUENCE = [[VAR_CURRENT_UPDATESEQUENCE]]
    Results: Valid XML where /ServiceExceptionReport/ServiceException[@code="CurrentUpdateSequence"] exists

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/post/kvp/3
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with kvp encoding.
    • The server advertises an UpdateSequence number
    Text: When a GetCapabilities request is made with an UPDATESEQUENCE parameter set to a value lower than the current update sequence value, then the server returns capabilities XML. [WCS1.0.0 Specification. section 7.2.1_Key-value_pair_encoding]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = GetCapabilities
    UPDATESEQUENCE = [[VAR_LOW_UPDATESEQUENCE]]
    Results: XML where /WCS_Capabilities exists

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/post/kvp/4
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with kvp encoding.
    • The server advertises an UpdateSequence number
    Text: When a GetCapabilities request is made with an UPDATESEQUENCE parameter set to a value higher than the current update sequence value, then the server returns a service exception (code = InvalidUpdateSequence ). [WCS1.0.0 Specification. section 7.2.1_Key-value_pair_encoding]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = GetCapabilities
    UPDATESEQUENCE = [[VAR_HIGH_UPDATESEQUENCE]]
    Results: Valid XML where /ServiceExceptionReport/ServiceException[@code="InvalidUpdateSequence "] exists

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/post/kvp/5
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with kvp encoding.
    • The server advertises an UpdateSequence number
    Text: When a GetCapabilities request is made without an UPDATESEQUENCE parameter set, then the server returns most recent capabilities XML. [WCS1.0.0 Specification. section 7.2.1_Key-value_pair_encoding]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = GetCapabilities
    Results: XML where /WCS_Capabilities exists

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/post/kvp/6
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with kvp encoding.
    Text: When a GetCapabilities request is made without a SECTION parameter, Capabilities returned includes the portion: Service, Capabilities, and ContentMetadata. [WCS1.0.0 Specification. section 7.2.1_Key-value_pair_encoding]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = GetCapabilities
    SECTION = /
    Results: XML where /WCS_Capabilities/Service, /WCS_Capabilities/Capability, and /WCS_Capabilities/ContentMetadata exist

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/post/kvp/7
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with kvp encoding.
    Text: When a GetCapabilities request is made with a SECTION parameter set to a value as "/", Capabilities returned includes the portion: Service, Capabilities, and ContentMetadata. [WCS1.0.0 Specification. section 7.2.1_Key-value_pair_encoding]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = GetCapabilities
    SECTION = /
    Results: XML where /WCS_Capabilities/Service, /WCS_Capabilities/Capability, and /WCS_Capabilities/ContentMetadata exist

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/post/kvp/8
    Class: D
    Scopes:
    • The server advertises an post URL.
    • Make request with kvp encoding.
    Text: When a GetCapabilities request is made with a SECTION parameter set to a value as "/WCS_Capabilities/Service", Capabilities returned includes the only portion: Service. [WCS1.0.0 Specification. section 7.2.1_Key-value_pair_encoding]
    Note:
    ![CDATA[In the get capabilities sectioin, it describes, the partial WCS_Capabilities should be returned. In the GetCapabilities Response section, the response must be WCS_Capabilities. Do not test this feature given that this feature is both optional and amiguously defined.]]

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/post/kvp/9
    Class: D
    Scopes:
    • The server advertises an post URL.
    • Make request with kvp encoding.
    Text: When a GetCapabilities request is made with a SECTION parameter set to a value as "/WCS_Capabilities/Capability", Capabilities returned includes the only portion: Capability. [WCS1.0.0 Specification. section 7.2.1_Key-value_pair_encoding]
    Note:
    ![CDATA[In the get capabilities sectioin, it describes, the partial WCS_Capabilities should be returned. In the GetCapabilities Response section, the response must be WCS_Capabilities. Do not test this feature given that this feature is both optional and amiguously defined.]]

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/post/kvp/10
    Class: D
    Scopes:
    • The server advertises an post URL.
    • Make request with kvp encoding.
    Text: When a GetCapabilities request is made with a SECTION parameter set to a value as "/WCS_Capabilities/ContentMetadata", Capabilities returned includes the only portion: Capability. [WCS1.0.0 Specification. section 7.2.1_Key-value_pair_encoding]
    Note:
    ![CDATA[In the get capabilities sectioin, it describes, the partial WCS_Capabilities should be returned. In the GetCapabilities Response section, the response must be WCS_Capabilities. Do not test this feature given that this feature is both optional and amiguously defined.]]
    - xml encoding
    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/post/xml/1
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with xml encoding.
    • The server does not advertise an UpdateSequence number
    Text: When a GetCapabilities request is made with an UPDATESEQUENCE parameter, the UPDATESEQUENCE parameter is ignored. [WCS1.0.0 Specification. section 7.2.2_XML_encoding]
    Note:
    Request:
    <GetCapabilities xmlns="http://www.opengis.net/wcs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wcs http://schemas.opengis.net/wcs/1.0.0/wcsCapabilities.xsd" version="1.0.0" service="WCS" updateSequence="ignored"> </GetCapabilities>
    Results: XML where /WC_Capabilities exists

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/post/xml/2
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with xml encoding.
    • The server advertises an UpdateSequence number
    Text: When a GetCapabilities request is made with an UPDATESEQUENCE parameter set to the current update sequence value, then the server returns a valid exception (cose = CurrentUpdateSequence). [WCS1.0.0 Specification. section 7.2.2_XML_encoding]
    Note:
    Request:
    <GetCapabilities xmlns="http://www.opengis.net/wcs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wcs http://schemas.opengis.net/wcs/1.0.0/wcsCapabilities.xsd" version="1.0.0" service="WCS" updateSequence="[[VAR_CURRENT_UPDATESEQUENCE]]"></GetCapabilities>
    Results: Valid XML where /ServiceExceptionReport/ServiceException[@code = "CurrentUpdateSequence"] exists

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/post/xml/3
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with xml encoding.
    • The server advertises an UpdateSequence number
    Text: When a GetCapabilities request is made with an UPDATESEQUENCE parameter set to a value lower than the current update sequence value, then the server returns capabilities XML. [WCS1.0.0 Specification. section 7.2.2_XML_encoding]
    Note:
    Request:
    <GetCapabilities xmlns="http://www.opengis.net/wcs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wcs http://schemas.opengis.net/wcs/1.0.0/wcsCapabilities.xsd" version="1.0.0" service="WCS" updateSequence="[[VAR_LOW_UPDATESEQUENCE]]"></GetCapabilities>
    Results: XML where /WCS_Capabilities exists

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/post/xml/4
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with xml encoding.
    • The server advertises an UpdateSequence number
    Text: When a GetCapabilities request is made with an UPDATESEQUENCE parameter set to a value higher than the current update sequence value, then the server returns a service exception (code = InvalidUpdateSequence). [WCS1.0.0 Specification. section 7.2.2_XML_encoding]
    Note:
    Request:
    <GetCapabilities xmlns="http://www.opengis.net/wcs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wcs http://schemas.opengis.net/wcs/1.0.0/wcsCapabilities.xsd" version="1.0.0" service="WCS" updateSequence="[[VAR_HIGH_UPDATESEQUENCE]]"> </GetCapabilities>
    Results: Valid XML where /ServiceExceptionReport/ServiceException[@code = "InvalidUpdateSequence "] exists

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/post/xml/5
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with xml encoding.
    • The server advertises an UpdateSequence number
    Text: When a GetCapabilities request is made without an UPDATESEQUENCE parameter set, then the server returns most recent capabilities XML. [WCS1.0.0 Specification. section 7.2.2_XML_encoding]
    Note:
    Request:
    <GetCapabilities xmlns="http://www.opengis.net/wcs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wcs http://schemas.opengis.net/wcs/1.0.0/wcsCapabilities.xsd" version="1.0.0" service="WCS" > </GetCapabilities>
    Results: XML where /WCS_Capabilities exists

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/post/xml/6
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with xml encoding.
    Text: When a GetCapabilities request is made without a SECTION parameter, Capabilities returned includes the portion: Service, Capabilities, and ContentMetadata. [WCS1.0.0 Specification. section 7.2.2_XML_encoding]
    Note:
    Request:
    <GetCapabilities xmlns="http://www.opengis.net/wcs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wcs http://schemas.opengis.net/wcs/1.0.0/wcsCapabilities.xsd" version="1.0.0" service="WCS" </GetCapabilities>
    Results: XML where /WCS_Capabilities/Service, /WCS_Capabilities/Capability, and /WCS_Capabilities/ContentMetadata exist

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/post/xml/7
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with xml encoding.
    Text: When a GetCapabilities request is made with a SECTION parameter set to a value as "/", Capabilities returned includes the portion: Service, Capabilities, and ContentMetadata. [WCS1.0.0 Specification. section 7.2.2_XML_encoding]
    Note:
    Request:
    <GetCapabilities xmlns="http://www.opengis.net/wcs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wcs http://schemas.opengis.net/wcs/1.0.0/wcsCapabilities.xsd" version="1.0.0" service="WCS" sectioin = "/" </GetCapabilities>
    Results: XML where /WCS_Capabilities/Service, /WCS_Capabilities/Capability, and /WCS_Capabilities/ContentMetadata exist

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/post/xml/8
    Class: D
    Scopes:
    • The server advertises an post URL.
    • Make request with xml encoding.
    Text: When a GetCapabilities request is made with a SECTION parameter set to a value as "/WCS_Capabilities/Service", Capabilities returned includes the only portion: Service. [WCS1.0.0 Specification. section 7.2.2_XML_encoding]
    Note:
    ![CDATA[In the get capabilities sectioin, it describes, the partial WCS_Capabilities should be returned. In the GetCapabilities Response section, the response must be WCS_Capabilities. Do not test this feature given that this feature is both optional and amiguously defined.]]

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/post/xml/9
    Class: D
    Scopes:
    • The server advertises an post URL.
    • Make request with xml encoding.
    Text: When a GetCapabilities request is made with a SECTION parameter set to a value as "/WCS_Capabilities/Capability", Capabilities returned includes the only portion: Capability. [WCS1.0.0 Specification. section 7.2.2_XML_encoding]
    Note:
    ![CDATA[In the get capabilities sectioin, it describes, the partial WCS_Capabilities should be returned. In the GetCapabilities Response section, the response must be WCS_Capabilities. Do not test this feature given that this feature is both optional and amiguously defined.]]

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_request/post/xml/10
    Class: D
    Scopes:
    • The server advertises an post URL.
    • Make request with xml encoding.
    Text: When a GetCapabilities request is made with a SECTION parameter set to a value as "/WCS_Capabilities/ContentMetadata", Capabilities returned includes the only portion: Capability. [WCS1.0.0 Specification. section 7.2.2_XML_encoding]
    Note:
    ![CDATA[In the get capabilities sectioin, it describes, the partial WCS_Capabilities should be returned. In the GetCapabilities Response section, the response must be WCS_Capabilities. Do not test this feature given that this feature is both optional and amiguously defined.]]

    7.3 GetCapabilities Response

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_response/1
    Class: D
    Scope: null
    Text: The response to a GetCapabilities has an increased UpdateSequence value after the update service content. [WCS1.0.0 Specification. section 7.3_GetCapabilities_response]
    Note:
    Not testable because the type of updatesequence has no a certain definition.

    ID: wcs/1.0.0/getcapabilities_operations/getcapabilities_response/2
    Class: A
    Text: Each OnlineResource URL intended for HTTP Get requests in the capabilities document is a URL prefix. [WCS1.0.0 Specification. section 7.3_GetCapabilities_response]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = GetCapabilities
    Results: XML where each /WCS_Capabilities/Capability/Request/OnlineResource@xlink:href ends in a ? or both contains a ? and ends in an &.

    8 DescribeCoverage Operation

    8.2 DescribeCoverage Request

    - http get

    - kvp encoding
    ID: wcs/1.0.0/describecoverage_operations/describecoverage_request/get/kvp/1
    Class: A
    Text: When a DescribeCoverage request is made without version, the server returns service exception. [WCS1.0.0 Specification. section 8.2.2_Key-value_pair_encoding]
    Note:
    Request:
    SERVICE = WCS
    REQUEST = DescribeCoverage
    COVERAGE = [[VAR_WCS_COVERAGE_1]]
    Results: Valid XML where /ServiceExceptionReport/ServiceException exists.

    ID: wcs/1.0.0/describecoverage_operations/describecoverage_request/get/kvp/2
    Class: A
    Text: When a DescribeCoverage request is made with an invalid version, the server should return a service exception. [WCS1.0.0 Specification. section 8.2.2_Key-value_pair_encoding]
    Note:
    Request:
    VERSION = 0.0.0
    SERVICE = WCS
    REQUEST = DescribeCoverage
    COVERAGE = [[VAR_WCS_COVERAGE_1]]
    Results: Valid XML where /ServiceExceptionReport/ServiceException exists.

    ID: wcs/1.0.0/describecoverage_operations/describecoverage_request/get/kvp/3
    Class: D
    Scope: null
    Text: If the Coverage element in the DescribeCoverage request is absent The server returns full descriptions of every coverage offering available. [WCS1.0.0 Specification. section 8.2.2_Key-value_pair_encoding]
    Note:
    The definition related to this make the expected behaviour not unique.

    ID: wcs/1.0.0/describecoverage_operations/describecoverage_request/get/kvp/4
    Class: D
    Scope: null
    Text: If the Coverage element in the DescribeCoverage request is absent the server returns a service exception. [WCS1.0.0 Specification. section 8.2.2_Key-value_pair_encoding]
    Note:
    The definition related to this make the expected behaviour not unique.

    ID: wcs/1.0.0/describecoverage_operations/describecoverage_request/get/kvp/5
    Class: A
    Text: When a DescribeCoverage request is made with COVERAGE = name1, name2 (name1, name2 are in the Capabilities XML), the server returns CoverageDescription including the wanted coverage description. [WCS1.0.0 Specification. section 8.2.2_Key-value_pair_encoding]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = DescribeCoverage
    COVERAGE = [[VAR_WCS_COVERAGE_1]]
    COVERAGE = [[VAR_WCS_COVERAGE_2]]
    Results: Valid XML where /*[local-name() = "CoverageDescription"]/*[local-name() = "CoverageOffering"]/*[local-name() = "name"] is the requested.

    ID: wcs/1.0.0/describecoverage_operations/describecoverage_request/get/kvp/6
    Class: A
    Text: When a DescribeCoverage request is made with COVERAGE = name1 (name1 is not in the Capabilities XML), the server returns a service exception. [WCS1.0.0 Specification. section 8.2.2_Key-value_pair_encoding]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = DescribeCoverage
    COVERAGE = WCS_COVERAGE_NOT_DEFINED
    Results: Valid XML where /ServiceExceptionReport/ServiceException exists.

    ID: wcs/1.0.0/describecoverage_operations/describecoverage_request/get/kvp/7
    Class: A
    Text: When a DescribeCoverage request is made with COVERAGE = name1, name2 (name1 is in, and name2 is not in the Capabilities XML), the server returns a service exception. [WCS1.0.0 Specification. section 8.2.2_Key-value_pair_encoding]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = DescribeCoverage
    COVERAGE = [[VAR_WCS_COVERAGE_1]]
    COVERAGE = WCS_COVERAGE_NOT_DEFINED
    Results: Valid XML where /ServiceExceptionReport/ServiceException exists.

    - http post

    - kvp encoding
    ID: wcs/1.0.0/describecoverage_operations/describecoverage_request/post/kvp/1
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with kvp encoding.
    Text: When a DescribeCoverage request is made without version, the server returns service exception. [WCS1.0.0 Specification. section 8.2.2_Key-value_pair_encoding]
    Note:
    Request:
    SERVICE = WCS
    REQUEST = DescribeCoverage
    COVERAGE = [[VAR_WCS_COVERAGE_1]]
    Results: Valid XML where /ServiceExceptionReport/ServiceException exists.

    ID: wcs/1.0.0/describecoverage_operations/describecoverage_request/post/kvp/2
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with kvp encoding.
    Text: When a DescribeCoverage request is made with a invalid version, the server should return a service exception. [WCS1.0.0 Specification. section 8.2.2_Key-value_pair_encoding]
    Note:
    Request:
    VERSION = 0.0.0
    SERVICE = WCS
    REQUEST = DescribeCoverage
    COVERAGE = [[VAR_WCS_COVERAGE_1]]
    Results: Valid XML where /ServiceExceptionReport/ServiceException exists.

    ID: wcs/1.0.0/describecoverage_operations/describecoverage_request/post/kvp/3
    Class: D
    Scopes:
    • The server advertises an post URL.
    • Make request with kvp encoding.
    Text: If the Coverage element in the DescribeCoverage request is absent The server returns full descriptions of every coverage offering available. [WCS1.0.0 Specification. section 8.2.2_Key-value_pair_encoding]
    Note:
    The definition related to this make the expected behaviour not unique.

    ID: wcs/1.0.0/describecoverage_operations/describecoverage_request/post/kvp/4
    Class: D
    Scopes:
    • The server advertises an post URL.
    • Make request with kvp encoding.
    Text: If the Coverage element in the DescribeCoverage request is absent the server returns a service exception. [WCS1.0.0 Specification. section 8.2.2_Key-value_pair_encoding]
    Note:
    The definition related to this make the expected behaviour not unique.

    ID: wcs/1.0.0/describecoverage_operations/describecoverage_request/post/kvp/5
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with kvp encoding.
    Text: When a DescribeCoverage request is made with COVERAGE = name1, name2 (name1, name2 are in the Capabilities XML), the server returns CoverageDescription including the wanted coverage description. [WCS1.0.0 Specification. section 8.2.2_Key-value_pair_encoding]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = DescribeCoverage
    COVERAGE = [[VAR_WCS_COVERAGE_1]]
    COVERAGE = [[VAR_WCS_COVERAGE_2]]
    Results: Valid XML where /*[local-name() = "CoverageDescription"]/*[local-name() = "CoverageOffering"]/*[local-name() = "name"] is the requested.

    ID: wcs/1.0.0/describecoverage_operations/describecoverage_request/post/kvp/6
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with kvp encoding.
    Text: When a DescribeCoverage request is made with COVERAGE = name1 (name1 is not in the Capabilities XML), the server returns a service exception. [WCS1.0.0 Specification. section 8.2.2_Key-value_pair_encoding]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = DescribeCoverage
    COVERAGE = WCS_COVERAGE_NOT_DEFINED
    Results: Valid XML where /ServiceExceptionReport/ServiceException exists.

    ID: wcs/1.0.0/describecoverage_operations/describecoverage_request/post/kvp/7
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with kvp encoding.
    Text: When a DescribeCoverage request is made with COVERAGE = name1, name2 (name1 is in, and name2 is not in the Capabilities XML), the server returns a service exception. [WCS1.0.0 Specification. section 8.2.2_Key-value_pair_encoding]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = DescribeCoverage
    COVERAGE = [[VAR_WCS_COVERAGE_1]]
    COVERAGE = WCS_COVERAGE_NOT_DEFINED
    Results: Valid XML where /ServiceExceptionReport/ServiceException exists.
    - xml encoding
    ID: wcs/1.0.0/describecoverage_operations/describecoverage_request/post/xml/1
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with xml encoding.
    Text: When a DescribeCoverage request is made without version, the server returns service exception. [WCS1.0.0 Specification. section 8.2.3_XML_encoding]
    Note:
    Request:
    <DescribeCoverage xmlns="http://www.opengis.net/wcs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wcs http://schemas.opengis.net/wcs/1.0.0/describeCoverage.xsd" service="WCS" > <Coverage>[[VAR_WCS_COVERAGE_1]]</Coverage> </DescribeCoverage >
    Results: Valid XML where /ServiceExceptionReport/ServiceException exists.

    ID: wcs/1.0.0/describecoverage_operations/describecoverage_request/post/xml/2
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with xml encoding.
    Text: When a DescribeCoverage request is made with an invalid version, the server should return a service exception. [WCS1.0.0 Specification. section 8.2.3_XML_encoding]
    Note:
    Request:
    <DescribeCoverage xmlns="http://www.opengis.net/wcs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wcs http://schemas.opengis.net/wcs/1.0.0/describeCoverage.xsd" service="WCS" version="0.0.0"> <Coverage>[[VAR_WCS_COVERAGE_1]]</Coverage> </DescribeCoverage >
    Results: Valid XML where /ServiceExceptionReport/ServiceException exists.

    ID: wcs/1.0.0/describecoverage_operations/describecoverage_request/post/xml/3
    Class: D
    Scopes:
    • The server advertises an post URL.
    • Make request with xml encoding.
    Text: If the Coverage element in the DescribeCoverage request is absent The server returns full descriptions of every coverage offering available. [WCS1.0.0 Specification. section 8.2.3_XML_encoding]
    Note:
    The definition related to this make the expected behaviour not unique.

    ID: wcs/1.0.0/describecoverage_operations/describecoverage_request/post/xml/4
    Class: D
    Scopes:
    • The server advertises an post URL.
    • Make request with xml encoding.
    Text: If the Coverage element in the DescribeCoverage request is absent the server returns a service exception. [WCS1.0.0 Specification. section 8.2.3_XML_encoding]
    Note:
    The definition related to this make the expected behaviour not unique.

    ID: wcs/1.0.0/describecoverage_operations/describecoverage_request/post/xml/5
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with xml encoding.
    Text: When a DescribeCoverage request is made with COVERAGE = name1, name2 (name1, name2 are in the Capabilities XML), the server returns CoverageDescription including the wanted coverage description. [WCS1.0.0 Specification. section 8.2.3_XML_encoding]
    Note:
    Request:
    <DescribeCoverage xmlns="http://www.opengis.net/wcs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wcs http://schemas.opengis.net/wcs/1.0.0/describeCoverage.xsd" version="1.0.0" service="WCS"> <Coverage>[[VAR_WCS_COVERAGE_1]]</Coverage><Coverage>[[VAR_WCS_COVERAGE_2]]</Coverage> </DescribeCoverage >
    Results: Valid XML where /*[local-name() = "CoverageDescription"]/*[local-name() = "CoverageOffering"]/*[local-name() = "name"] is the requested.

    ID: wcs/1.0.0/describecoverage_operations/describecoverage_request/post/xml/6
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with xml encoding.
    Text: When a DescribeCoverage request is made with COVERAGE = name1 (name1 is not in the Capabilities XML), the server returns a service exception. [WCS1.0.0 Specification. section 8.2.3_XML_encoding]
    Note:
    Request:
    <DescribeCoverage xmlns="http://www.opengis.net/wcs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wcs http://schemas.opengis.net/wcs/1.0.0/describeCoverage.xsd" version="1.0.0" service="WCS"> <Coverage>WCS_COVERAGE_NOT_DEFINED</Coverage> </DescribeCoverage >
    Results: Valid XML where /ServiceExceptionReport/ServiceException exists.

    ID: wcs/1.0.0/describecoverage_operations/describecoverage_request/post/xml/7
    Class: C
    Scopes:
    • The server advertises an post URL.
    • Make request with xml encoding.
    Text: When a DescribeCoverage request is made with COVERAGE = name1, name2 (name1 is in, and name2 is not in the Capabilities XML), the server returns a service exception. [WCS1.0.0 Specification. section 8.2.3_XML_encoding]
    Note:
    Request:
    <DescribeCoverage xmlns="http://www.opengis.net/wcs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wcs http://schemas.opengis.net/wcs/1.0.0/describeCoverage.xsd" version="1.0.0" service="WCS"> <Coverage>[[VAR_WCS_COVERAGE_1]]</Coverage><Coverage>WCS_COVERAGE_NOT_DEFINED</Coverage> </DescribeCoverage >
    Results: Valid XML where /ServiceExceptionReport/ServiceException exists.

    8.3 DescribeCoverage Response

    ID: wcs/1.0.0/describecoverage_operations/describecoverage_response/1
    Class: A
    Text: When a DescribeCoverage request is made, supportedFormats in the response XML provides at least one of the following format: GeoTIFF, HDF-EOS,DTED,NITF, GML. [WCS1.0.0 Specification. section 8.3_DescribeCoverage_response]
    Note:
    Request:
    VERSION = [[VAR_WCS_VERSION]]
    SERVICE = WCS
    REQUEST = DescribeCoverage
    COVERAGE = [[VAR_WCS_COVERAGE_1]]
    Results: Valid XML where //formats contains one of GeoTIFF, HDF-EOS,DTED,NITF, GML.

    ID: wcs/1.0.0/describecoverage_operations/describecoverage_response/2
    Class: D
    Scope: null
    Text: When a DescribeCoverage request is made, supported interpolations in the response XML is a list of any of 6 interplation methods: nearest neighbor, bilinear, bicubic, lost area, barycentric. [WCS1.0.0 Specification. section 8.3_DescribeCoverage_response]
    Note:
    This is already tested in the previous testing when validate the XML.

    9 GetCoverage Operation

    9.2 GetCoverage Request

    9.2.2.2 Service Version

    - http get
    - kvp encoding
    ID: wcs/1.0.0/getcoverage_operations/getcoverage_request/service_version/get/kvp/1
    Class: A
    Text: When a GetCoverage request is made without version, the server returns service exception. [WCS1.