Skip to content
This repository was archived by the owner on Nov 8, 2024. It is now read-only.

Commit 6d25cd5

Browse files
Marco Frisokylef
authored andcommitted
fix(oas3): add parent name to 'servers' warning
1 parent 1084167 commit 6d25cd5

File tree

3 files changed

+12
-11
lines changed

3 files changed

+12
-11
lines changed

packages/fury-adapter-oas3-parser/lib/parser/oas/parseOpenAPIObject.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ function parseOASObject(context, object) {
110110

111111
const parseMember = R.cond([
112112
[hasKey('openapi'), parseOpenAPI(context)],
113-
[hasKey('servers'), R.compose(parseServersArray(context), getValue)],
113+
[hasKey('servers'), R.compose(parseServersArray(context, name), getValue)],
114114
[hasKey('info'), R.compose(parseInfoObject(context), getValue)],
115115
[hasKey('components'), R.compose(parseComponentsObject(context), getValue)],
116116
[hasKey('paths'), R.compose(asArray, parsePathsObject(context), getValue)],

packages/fury-adapter-oas3-parser/lib/parser/oas/parseServersArray.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ const pipeParseResult = require('../../pipeParseResult');
33
const parseArray = require('../parseArray');
44
const parseServerObject = require('./parseServerObject');
55

6-
const name = 'Servers Array';
7-
86
/**
97
* Parse Servers Array
108
*
@@ -14,11 +12,11 @@ const name = 'Servers Array';
1412
*
1513
* @private
1614
*/
17-
function parseServersArray(context, element) {
15+
function parseServersArray(context, name, element) {
1816
const { namespace } = context;
1917

2018
const parseServers = pipeParseResult(namespace,
21-
parseArray(context, name, R.curry(parseServerObject)(context)),
19+
parseArray(context, `${name}' 'servers`, R.curry(parseServerObject)(context)),
2220
array => new namespace.elements.Category(
2321
array.content, { classes: ['hosts'] }
2422
));

packages/fury-adapter-oas3-parser/test/unit/parser/oas/parseServersArray-test.js

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,23 @@ describe('#parseServersArray', () => {
1515
it('warns when it is not an array', () => {
1616
const servers = new namespace.elements.Object();
1717

18-
const parseResult = parse(context, servers);
18+
const name = 'parent-name';
19+
const parseResult = parse(context, name, servers);
1920

2021
expect(parseResult.length).to.equal(1);
21-
expect(parseResult).to.contain.warning("'Servers Array' is not an array");
22+
expect(parseResult).to.contain.warning("'parent-name' 'servers' is not an array");
2223
});
2324

2425
it('parses correctly when there is a single server', () => {
25-
const server = new namespace.elements.Array([
26+
const servers = new namespace.elements.Array([
2627
{
2728
url: 'https://user.server.com/1.0',
2829
description: 'The production API server',
2930
},
3031
]);
3132

32-
const parseResult = parse(context, server);
33+
const name = 'parent-name';
34+
const parseResult = parse(context, name, servers);
3335

3436
expect(parseResult.length).to.equal(1);
3537

@@ -45,7 +47,7 @@ describe('#parseServersArray', () => {
4547
});
4648

4749
it('parses correctly when there are multiple servers', () => {
48-
const server = new namespace.elements.Array([
50+
const servers = new namespace.elements.Array([
4951
{
5052
url: 'https://user.server.com/1.0',
5153
},
@@ -55,7 +57,8 @@ describe('#parseServersArray', () => {
5557
},
5658
]);
5759

58-
const parseResult = parse(context, server);
60+
const name = 'parent-name';
61+
const parseResult = parse(context, name, servers);
5962

6063
expect(parseResult.length).to.equal(1);
6164

0 commit comments

Comments
 (0)