Page Contents
@loopback/openapi-spec-builder
Make it easy to create OpenAPI specification documents in your tests using the builder pattern.
Overview
Creating a full OpenAPI spec document in automated tests is rather cumbersome, long JSON-like objects pollute the test test code and make it difficult for readers to distinguish between what’s important in the test and what’s just shared OpenAPI boilerplate.
OpenApiSpecBuilder utilizes Test Data Builder pattern to provide a TypeScript/JavaScript API allowing users to create full OpenAPI Spec documents in few lines of code.
Installation
npm install --save-dev @loopback/openapi-spec-builder
This package is typically used in tests, save it to devDependencies
via
--save-dev
.
Basic use
import {
anOpenApiSpec,
OpenApiSpecBuilder,
} from '@loopback/openapi-spec-builder';
const spec = anOpenApiSpec()
.withOperationReturningString('get', '/hello', 'greet')
.build();
// which is equivalent to the following longer form
const spec = new OpenApiSpecBuilder()
.withOperation('get', '/hello', {
'x-operation-name': 'greet',
responses: {
'200': {
description: 'The string result.',
content: {
'text/plain': {
schema: {
type: 'string',
},
},
},
},
},
})
.build();
// the spec
const spec = {
openapi: '3.0.0',
info: {title: 'LoopBack Application', version: '1.0.0'},
servers: [
{
url: '/',
},
],
paths: {
'/hello': {
get: {
'x-operation-name': 'greet',
responses: {
'200': {
description: 'The string result.',
content: {
'text/plain': {
schema: {
type: 'string',
},
},
},
},
},
},
},
},
};
Related resources
See https://www.openapis.org/ and version 3.0.0 of OpenAPI Specification.
Contributions
Tests
Run npm test
from the root folder.
Contributors
See all contributors.
License
MIT