UNPKG

openapi-modifier

Version:

This package allows you to automate the process of modifying OpenAPI specifications by applying a set of predefined rules

131 lines (130 loc) 5.04 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const index_1 = __importDefault(require("./index")); describe('remove-parameter rule', () => { test('regular', () => { const fakeLogger = global.createFakeLogger(); const fakeOpenAPIFile = global.createFakeOpenAPIFile({ paths: { '/pets': { get: { summary: 'List all pets', parameters: [ { in: 'query', name: 'filter', schema: { format: 'int64', type: 'integer', }, }, ], responses: {}, }, }, }, }); expect(index_1.default.processDocument(fakeOpenAPIFile, { endpointDescriptor: { path: '/pets', method: 'GET', }, parameterDescriptor: { name: 'filter', in: 'query', }, }, fakeLogger, { ruleName: '' })).toEqual(Object.assign(Object.assign({}, fakeOpenAPIFile), { document: Object.assign(Object.assign({}, fakeOpenAPIFile.document), { paths: { '/pets': { get: { summary: 'List all pets', parameters: [], responses: {}, }, }, } }) })); expect(fakeLogger.warning).toBeCalledTimes(0); }); test('regular, simple descriptor', () => { const fakeLogger = global.createFakeLogger(); const fakeOpenAPIFile = global.createFakeOpenAPIFile({ paths: { '/pets': { get: { summary: 'List all pets', parameters: [ { in: 'query', name: 'filter', schema: { format: 'int64', type: 'integer', }, }, ], responses: {}, }, }, }, }); expect(index_1.default.processDocument(fakeOpenAPIFile, { endpointDescriptor: 'GET /pets', parameterDescriptor: { name: 'filter', in: 'query', }, }, fakeLogger, { ruleName: '' })).toEqual(Object.assign(Object.assign({}, fakeOpenAPIFile), { document: Object.assign(Object.assign({}, fakeOpenAPIFile.document), { paths: { '/pets': { get: { summary: 'List all pets', parameters: [], responses: {}, }, }, } }) })); expect(fakeLogger.warning).toBeCalledTimes(0); }); test('regular, components.parameters', () => { const fakeLogger = global.createFakeLogger(); const fakeOpenAPIFile = global.createFakeOpenAPIFile({ components: { parameters: { TestParameter: { name: 'filter', in: 'query', schema: { format: 'int64', type: 'integer', }, }, TestPageParameter: { name: 'page', in: 'query', schema: { type: 'integer', }, }, }, }, }); expect(index_1.default.processDocument(fakeOpenAPIFile, { parameterDescriptor: { name: 'filter', in: 'query', }, }, fakeLogger, { ruleName: '' })).toEqual(Object.assign(Object.assign({}, fakeOpenAPIFile), { document: Object.assign(Object.assign({}, fakeOpenAPIFile.document), { components: { parameters: { TestPageParameter: { name: 'page', in: 'query', schema: { type: 'integer', }, }, }, } }) })); expect(fakeLogger.warning).toBeCalledTimes(0); }); });