Make it easy to create OpenAPI specification documents in your tests using the builder pattern.
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.
npm install --save-dev @loopback/openapi-spec-builder
This package is typically used in tests, save it to devDependencies
via
--save-dev
.
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',
},
},
},
},
},
},
},
},
};
See https://www.openapis.org/ and version 3.0.0 of OpenAPI Specification.
Run npm test
from the root folder.
See all contributors.
MIT