From 55416ccde256647708ec803a906ed7319510c77f Mon Sep 17 00:00:00 2001 From: JonathanMontane Date: Wed, 26 Apr 2017 15:59:10 +0200 Subject: [PATCH] fix empty paths bug --- src/parsers/swagger/v2.0/Parser.js | 8 ++++++-- src/parsers/swagger/v2.0/__tests__/Parser.spec.js | 4 ++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/parsers/swagger/v2.0/Parser.js b/src/parsers/swagger/v2.0/Parser.js index 28c9557..99a4923 100644 --- a/src/parsers/swagger/v2.0/Parser.js +++ b/src/parsers/swagger/v2.0/Parser.js @@ -89,7 +89,7 @@ methods.handleUnkownFormat = () => { * @returns {void} */ methods.handleInvalidSwagger = () => { - const message = 'Invalid Swagger File (invalid schema / version < 2.0)' + const message = 'Invalid Swagger File (invalid schema / version < 2.0)\n' + tv4.error const error = new __errors__.NotASwaggerV2(message) throw error } @@ -893,7 +893,11 @@ methods.getRequestsForResource = (store, security, resourceObject) => { * @param {Entry} entry: a operation object, as an entry * @returns {URL} the updated path endpoint */ -methods.updatePathWithParametersFromOperations = (store, path, { key, value }) => { +methods.updatePathWithParametersFromOperations = (store, path, { key, value } = {}) => { + if (!key && !value) { + return path + } + const container = methods.getParameterContainerForOperation(store, value, key) const pathParams = container.get('path') diff --git a/src/parsers/swagger/v2.0/__tests__/Parser.spec.js b/src/parsers/swagger/v2.0/__tests__/Parser.spec.js index 5c88d19..cd2469d 100644 --- a/src/parsers/swagger/v2.0/__tests__/Parser.spec.js +++ b/src/parsers/swagger/v2.0/__tests__/Parser.spec.js @@ -2189,7 +2189,9 @@ describe('parsers/swagger/v2.0/Parser.js', () => { }) : new ParameterContainer() }) + /* eslint-disable no-undefined */ const inputs = [ + [ new Store(), new URL(), undefined ], [ new Store(), new URL(), {} ], [ new Store(), new URL(), { key: 'abc', value: 123 } ], [ @@ -2214,8 +2216,10 @@ describe('parsers/swagger/v2.0/Parser.js', () => { { key: 'userId', value: 123 } ] ] + /* eslint-enable no-undefined */ const expected = [ + new URL(), new URL(), new URL(), new URL({ url: 'https://echo.paw.cloud/user/123' }),