OAI / OAI/OpenAPI-Specification

Proposal: Create new repo for openapi tests, similar to json schema test suite

Offen
#3,486 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Housekeeping
Vorherrschende Sprache
Markdown
Sterne
31.2k
Forks
9.2k
Ø Merge
6 Std. 37 Min.
Gemergte PRs (30 T.)
27

Beschreibung

This issue is a proposal that a new repo be created that stores tests of openapi payloads, request, responses, and documents. These tests will help implementation verify that they have built features correctly.

There is existing prior work here that applies to json schema only in the json schema test suite: https://github.com/json-schema-org/JSON-Schema-Test-Suite

Need for this solution:

  • there are few tests here: https://github.com/OAI/OpenAPI-Specification/tree/main/tests/v3.1 and they do not provide full coverage for openapi features, they do not describe what is acceptable and unacceptable for openapi-only schema formats, they may not be well known in the community, they do not have coverage tests for different versions of the openapi spec
  • what is allowed for int32/int64/float/double is not explicitly defined in the spec or the format registry (for example is X.0 allowed in for int32?). Implementers need this info when building.
  • I attempted to add int64 tests into the json schema test suite and was told that that repo is not the right place for that test, because the format is openapi-specific and is not listed in the json schema spec.

Benefits:

  • tooling providers could have a verifiable way of proving that their implementation is conforming to the requirements
  • long term this should reduce the number of what is the correct way to implement x feature questions on this repo because you can point them to the existing test
  • including these tests in a separate repo will allow implmenters to include that repo as a subpackage and easily test against it. (I currently do this with the json schema test suite here)
  • General json schema 2020-12 tests should not be included here because they already exist in the json schema test suite. Refer users to that suite also. This reduces the maintenance workload.

Proposal Short Term:

I would be happy to add additional test for int32/float/double/int formats
@karenetheridge mentioned that she could contribute tests from https://github.com/karenetheridge/OpenAPI-Modern/tree/master/t

Open Questions:

  • How thorough should these tests be?
    • My proposal is to incrementally add coverage bit by bit starting with easiest tests, which may be component schema formats.
  • Are you okay using the json schema test suite format for the schema test files?
  • What openapi versions will have tests?
  • Do these tests mean that the tooling MUST/MAY/verb implement these features? (How does json schema handle this Julian Berman?)

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Durchsicht der bestehenden Tests in OAI/OpenAPI-Specification/tests/v3.1 und der JSON Schema Test Suite, einschließlich der referenzierten int64-Arbeiten. Definiere vor der Implementierung die Repository-Struktur, die unterstützten OpenAPI-Versionen, das Testformat und die Konformitätserwartungen. Die Aufgabe ist erledigt, wenn die offenen Fragen des Vorschlags geklärt sind und ein abgegrenzter Plan für das neue Test-Repository vorliegt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Bereich
api, testing
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.