Direct Known Subclasses:
Features, FeaturesBBox, FeaturesErrorConditions, FeaturesLimit, FeaturesTime

public class AbstractFeatures extends CommonDataFixture

AbstractFeatures class.

Author:
Lyn Goltz
  • Field Details

  • Constructor Details

    • AbstractFeatures

      public AbstractFeatures()
  • Method Details

    • collectionPaths

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

      collectionPaths.

      Parameters:
      testContext - a ITestContext object
      Returns:
      a Iterator object
    • retrieveRequiredInformationFromTestContext

      @BeforeClass public void retrieveRequiredInformationFromTestContext(org.testng.ITestContext testContext)

      retrieveRequiredInformationFromTestContext.

      Parameters:
      testContext - a ITestContext object
    • validateTypeProperty

      public void validateTypeProperty(AbstractFeatures.CollectionResponseKey collection)
      Abstract Test 22, Test Method 1
       Abstract Test 22: /ats/core/fc-response
       Test Purpose: Validate that the Feature Collections complies with the require structure and contents.
       Requirement: /req/core/fc-response
      
       Test Method
         1. Validate that the type property is present and has a value of FeatureCollection
       
      Parameters:
      collection - the collection under test, never null
    • validateFeaturesProperty

      void validateFeaturesProperty(AbstractFeatures.CollectionResponseKey collection)
      Abstract Test 22, Test Method 2
       Abstract Test 22: /ats/core/fc-response
       Test Purpose: Validate that the Feature Collections complies with the require structure and contents.
       Requirement: /req/core/fc-response
      
       Test Method
         2. Validate the features property is present and that it is populated with an array of feature items.
       
      Parameters:
      collection - the collection under test, never null
    • validateLinks

      void validateLinks(AbstractFeatures.CollectionResponseKey collection)
      Abstract Test 22, Test Method 4 (Abstract Test 23)
       Abstract Test 22: /ats/core/fc-response
       Test Purpose: Validate that the Feature Collections complies with the require structure and contents.
       Requirement: /req/core/fc-response
      
       Test Method
         4. If the links property is present, validate that all entries comply with /ats/core/fc-links
       
       Abstract Test 23: /ats/core/fc-links
       Test Purpose: Validate that the required links are included in the Collections document.
       Requirement: /req/core/fc-links, /req/core/fc-rel-type
      
       Test Method:
       Verify that the response document includes:
         1. a link to this response document (relation: self),
         2. a link to the response document in every other media type supported by the server (relation: alternate).
      
       Verify that all links include the rel and type link parameters.
       
      Parameters:
      collection - the collection under test, never null
    • validateTimeStamp

      public void validateTimeStamp(AbstractFeatures.CollectionResponseKey collection)
      Abstract Test 22, Test Method 5 (Abstract Test 24)
       Abstract Test 22: /ats/core/fc-response
       Test Purpose: Validate that the Feature Collections complies with the require structure and contents.
       Requirement: /req/core/fc-response
      
       Test Method
         5. If the timeStamp property is present, validate that it complies with /ats/core/fc-timeStamp
       
       Abstract Test 24: /ats/core/fc-timeStamp
       Test Purpose: Validate the timeStamp parameter returned with a Features response
       Requirement: /req/core/fc-timeStamp
      
       Test Method: Validate that the timeStamp value is set to the time when the response was generated.
       
      Parameters:
      collection - the collection under test, never null
    • validateNumberMatched

      void validateNumberMatched(AbstractFeatures.CollectionResponseKey collection) throws URISyntaxException
      Abstract Test 22, Test Method 6 (Abstract Test 25)
       Abstract Test 22: /ats/core/fc-response
       Test Purpose: Validate that the Feature Collections complies with the require structure and contents.
       Requirement: /req/core/fc-response
      
       Test Method
         6. If the numberMatched property is present, validate that it complies with /ats/core/fc-numberMatched
       
       Abstract Test 25: /ats/core/fc-numberMatched
       Test Purpose: Validate the numberMatched parameter returned with a Features response
       Requirement: /req/core/fc-numberMatched
      
       Test Method: Validate that the value of the numberMatched parameter is identical to the number of features in the feature collections that match the selection parameters like bbox, datetime or additional filter parameters.
       
      Parameters:
      collection - the collection under test, never null
      Throws:
      URISyntaxException - if the creation of a uri fails
    • validateNumberReturned

      void validateNumberReturned(AbstractFeatures.CollectionResponseKey collection)
      Abstract Test 22, Test Method 7 (Abstract Test 26)
       Abstract Test 22: /ats/core/fc-response
       Test Purpose: Validate that the Feature Collections complies with the require structure and contents.
       Requirement: /req/core/fc-response
      
       Test Method
         7. If the numberReturned property is present, validate that it complies with /ats/core/fc-numberReturned
       
       Abstract Test 26: /ats/core/fc-numberReturned
       Test Purpose: Validate the numberReturned parameter returned with a Features response
       Requirement: /req/core/fc-numberReturned
      
       Test Method: Validate that the numberReturned value is identical to the number of features in the response.
       
      Parameters:
      collection - the collection under test, never null
    • validateGeometriesInCrs84

      void validateGeometriesInCrs84(AbstractFeatures.CollectionResponseKey collection) throws org.locationtech.jts.io.ParseException
      Abstract Test 2, Test Method 1
       Abstract Test 2: /ats/core/crs84
       Test Purpose: Validate that all spatial geometries provided through the API are in the CRS84 spatial reference system unless otherwise requested by the client.
       Requirement: /req/core/crs84
      
       Test Method
        1. Do not specify a coordinate reference system in any request. All spatial data should be in the CRS84 reference system.
        2. Validate retrieved spatial data using the CRS84 reference system.
       
      Parameters:
      collection - the collection under test, never null
      Throws:
      org.locationtech.jts.io.ParseException - if the geometry could not be parsed
    • validateGeometriesInBBox

      void validateGeometriesInBBox(AbstractFeatures.CollectionResponseKey collection, BBox bbox) throws org.locationtech.jts.io.ParseException
      Throws:
      org.locationtech.jts.io.ParseException
    • isRequired

      protected boolean isRequired(com.reprezen.kaizen.oasparser.model3.Parameter param)

      isRequired.

      Parameters:
      param - a Parameter object
      Returns:
      a boolean
    • isExplode

      protected Boolean isExplode(com.reprezen.kaizen.oasparser.model3.Parameter param)

      isExplode.

      Parameters:
      param - a Parameter object
      Returns:
      a Boolean object