Class 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
  • 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