diff --git a/packages/rulesets/src/oas/__tests__/duplicated-entry-in-enum.test.ts b/packages/rulesets/src/oas/__tests__/duplicated-entry-in-enum.test.ts index b6cc674b4..c104f14c5 100644 --- a/packages/rulesets/src/oas/__tests__/duplicated-entry-in-enum.test.ts +++ b/packages/rulesets/src/oas/__tests__/duplicated-entry-in-enum.test.ts @@ -158,4 +158,23 @@ testRule('duplicated-entry-in-enum', [ }, errors: [], }, + + { + name: 'oas3: null nodes in example values do not crash (regression #2959)', + document: { + openapi: '3.0.2', + info: { title: 'Test', version: '1.0' }, + paths: {}, + components: { + examples: { + test: { + value: { + foo: null, + }, + }, + }, + }, + }, + errors: [], + }, ]); diff --git a/packages/rulesets/src/oas/index.ts b/packages/rulesets/src/oas/index.ts index 9505dc9c7..9ad40310f 100644 --- a/packages/rulesets/src/oas/index.ts +++ b/packages/rulesets/src/oas/index.ts @@ -159,7 +159,7 @@ const ruleset = { severity: 'warn', recommended: true, message: '{{error}}', - given: ["$..[?(@property !== 'properties' && @.enum && @.enum.constructor.name === 'Array')]"], + given: ["$..[?(@property !== 'properties' && @ != null && @.enum && @.enum.constructor.name === 'Array')]"], then: { field: 'enum', function: oasSchema,