Add a command to write the OpenAPI spec without a server
CI / test (push) Successful in 28s
CI / integration (push) Successful in 39s
CI / publish (push) Skipped
CI / docker (push) Successful in 51s

`just openapi [dir]` (go run ./cmd/openapi) writes openapi.json (3.1) and openapi-3.0.json without a database or configuration. A test checks it matches the spec the server serves.
This commit is contained in:
Sansan committed 2026-10-06 17:01:12 +02:00
1 parent 973ebf224b
commit 6da96f79e7
6 files changed
+108 -1

No files matched your search

+7
View File
@@ -46,6 +46,13 @@ func TestOpenAPISpecIsValid(t *testing.T) {
assert.Len(t, spec31.Paths, spec.Paths.Len())
}
func TestOpenAPISpecWithoutServerMatchesServedSpec(t *testing.T) {
served := newTestEnv(t).do(http.MethodGet, "/openapi.json").Body.Bytes()
offline, err := OpenAPISpec().MarshalJSON()
require.NoError(t, err)
assert.JSONEq(t, string(served), string(offline))
}
func TestOpenAPIDocumentsTheV1API(t *testing.T) {
spec := loadSpec(t, newTestEnv(t))