opengeospatial / sensorthings

The official web site of the OGC SensorThings API standard specification.
132 stars 28 forks source link

Testing compliance with OGC API and OAS #166

Open rob-metalinkage opened 9 months ago

rob-metalinkage commented 9 months ago

In general a statement regarding compatibility or conformance with OAS or other OGC API components should be supported by an automated CI/CT process.

OGC COSI team is developing a framework for reusable OGC BuildingBlocks and will be testing in multiple scenarios over the coming year.

Another starting point will be a template for new building blocks - see https://github.com/opengeospatial/bblock-template/blob/master/USAGE.md

we will also be developing reports (and will integrate tooling) for compliance testing approaches for OAS.

hylkevds commented 9 months ago

What's OAS? Don't think I've seen that acronym before...

rob-metalinkage commented 9 months ago

OpenAPI Specification, the underlying technology of OGC APIS .. (maybe you know it as Swagger?)

OGC is currently using V3.0 https://swagger.io/specification/v3/

current version is here https://swagger.io/specification/

@cportele notes that v3 actually uses a "fork of an early draft of JSON schema" - this has a lot of implications for future-proofing work

We hope to be able to encapsulate all the pain of navigating compliance in the OGC Building Block CI/CT environment - leaning on the experiences of the other OGC API WG community and external experts.

cportele commented 9 months ago

@rob-metalinkage

You have referenced copies of the spec published by SmartBear. The official spec of OpenAPI v3.0 is at https://spec.openapis.org/oas/v3.0.3.

It is v3.0 that uses a fork of JSON Schema draft 5 with changes/extensions like nullable. v3.1 is a breaking change and uses the latest JSON Schema 2020-12.

hylkevds commented 9 months ago

I always found OpenAPI to be short enough to not need acronymisation. Kathi thought OAS was OGC Abstract Specification... OGC needs an official acronym list!

If someone wants to play around with an OpenAPI specification for STA, FROST can generate one. For example: https://airquality-frost.k8s.ilt-dmz.iosb.fraunhofer.de/v1.1/api You can also get the POST/PUT/PATCH bits with: https://airquality-frost.k8s.ilt-dmz.iosb.fraunhofer.de/v1.1/api?editing=true