Package org.opengis.cite.ogcapifeatures10.conformance.crs.query.crs.feature

# Class FeatureCrsParameterTransform

java.lang.Object
org.opengis.cite.ogcapifeatures10.conformance.CommonFixture
org.opengis.cite.ogcapifeatures10.conformance.crs.query.crs.feature.AbstractFeatureCrs
org.opengis.cite.ogcapifeatures10.conformance.crs.query.crs.feature.FeatureCrsParameterTransform

public class FeatureCrsParameterTransform extends AbstractFeatureCrs
Verifies header in the paths /collection/{collectionId}/items/{featureId}

     Abstract Test 7: /conf/crs/crs-parameter-transform
     Test Purpose: Verify that the geometries are transformed
     Requirement: /req/crs/crs-action

     Test Method
     For every CRS identifier advertized by the Web API that is known to the test engine and for which the test engine can
     convert geometries between the CRS and the default CRS of the Web API ("known CRS") execute the following test.
     Skip the test for unknown CRSs.
      1. For each spatial feature collection collectionId, send a request with the parameter crs
         to /collections/{collectionId}/items and /collections/{collectionId}/items/{featureId}
         (with a valid featureId for the collection) for every known CRS listed. In addition, send the same request,
         but without the crs parameter.
      2. Convert the response for the known CRS to the default CRS and verify that the responses match. Due to the use of
         different coordinate conversions in the test engine and by the API, there will not be an exact match and the test
         engine will have to allow for reasonable differences when assessing whether the geometries match.

Author:
  Lyn Goltz

- ## Field Summary

  ### Fields inherited from class org.opengis.cite.ogcapifeatures10.conformance.crs.query.crs.feature.AbstractFeatureCrs

  `collectionIdToCrs, collectionIdToDefaultCrs, collectionIdToFeatureId, collectionsResponses`

  ### Fields inherited from class org.opengis.cite.ogcapifeatures10.conformance.CommonFixture

  `requestLoggingFilter, responseLoggingFilter, rootUri`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `FeatureCrsParameterTransform()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Iterator<Object[]>`
  `collectionFeatureIdCrsAndDefaultCrs(org.testng.ITestContext testContext)`
  collectionFeatureIdCrsAndDefaultCrs.
  `void`
  `verifyFeatureCrsParameterTransformWithCrsParameter(String collectionId, io.restassured.path.json.JsonPath collection, String featureId)`
  Test: invalid CRS requesting /collections/{collectionId}/items
  `void`
  `verifyFeatureCrsParameterTransformWithoutCrsParameter(String collectionId, io.restassured.path.json.JsonPath collection, String featureId, CoordinateSystem crs, CoordinateSystem defaultCRS)`
  Test: Content-Crs header in the path /collections/{collectionId}/items/{featureId}

  ### Methods inherited from class org.opengis.cite.ogcapifeatures10.conformance.crs.query.crs.feature.AbstractFeatureCrs

  `collectionFeatureId, retrieveRequiredInformationFromTestContext`

  ### Methods inherited from class org.opengis.cite.ogcapifeatures10.conformance.CommonFixture

  `clearMessages, getRequest, getResponse, init, initCommonFixture`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### FeatureCrsParameterTransform

    public FeatureCrsParameterTransform()

- ## Method Details

  - ### collectionFeatureIdCrsAndDefaultCrs

    @DataProvider(name="collectionFeatureIdCrsAndDefaultCrs") public Iterator<Object[]> collectionFeatureIdCrsAndDefaultCrs(org.testng.ITestContext testContext)

    collectionFeatureIdCrsAndDefaultCrs.

    Parameters:
      `testContext` - a `ITestContext` object
    Returns:
      a `Iterator` object

  - ### verifyFeatureCrsParameterTransformWithCrsParameter

    public void verifyFeatureCrsParameterTransformWithCrsParameter(String collectionId, io.restassured.path.json.JsonPath collection, String featureId) throws org.locationtech.jts.io.ParseException
    Test: invalid CRS requesting /collections/{collectionId}/items
    Parameters:
      `collectionId` - id id of the collection, never `null`
      `collection` - the /collection object, never `null`
      `featureId` - id id of the feature, never `null`
    Throws:
      `org.locationtech.jts.io.ParseException` - if the geometry could not be parsed

  - ### verifyFeatureCrsParameterTransformWithoutCrsParameter

    public void verifyFeatureCrsParameterTransformWithoutCrsParameter(String collectionId, io.restassured.path.json.JsonPath collection, String featureId, CoordinateSystem crs, CoordinateSystem defaultCRS) throws org.locationtech.jts.io.ParseException
    Test: Content-Crs header in the path /collections/{collectionId}/items/{featureId}
    Parameters:
      `collectionId` - id id of the collection, never `null`
      `collection` - the /collection object, never `null`
      `featureId` - id id of the feature, never `null`
      `crs` - the crs to test, never `null`
      `defaultCRS` - the defaultCRS of the collection, never `null`
    Throws:
      `org.locationtech.jts.io.ParseException` - if the geometry could not be parsed