From 07922d0b8f70d2426e694f3b0da420924f1aa494 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=ADdia=20Tarcza?= <100163235+diatrcz@users.noreply.github.com> Date: Fri, 7 Nov 2025 12:29:07 +0100 Subject: [PATCH 1/2] fix(ibm-schema-keywords): allow examples keyword MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Lídia Tarcza <100163235+diatrcz@users.noreply.github.com> --- packages/ruleset/src/rules/schema-keywords.js | 3 ++- .../ruleset/test/rules/schema-keywords.test.js | 18 +----------------- 2 files changed, 3 insertions(+), 18 deletions(-) diff --git a/packages/ruleset/src/rules/schema-keywords.js b/packages/ruleset/src/rules/schema-keywords.js index 6f8ac0069..a49ea3791 100644 --- a/packages/ruleset/src/rules/schema-keywords.js +++ b/packages/ruleset/src/rules/schema-keywords.js @@ -1,5 +1,5 @@ /** - * Copyright 2023 IBM Corporation. + * Copyright 2025 IBM Corporation. * SPDX-License-Identifier: Apache2.0 */ @@ -30,6 +30,7 @@ module.exports = { 'discriminator', 'enum', 'example', + 'examples', 'exclusiveMaximum', 'exclusiveMinimum', 'format', diff --git a/packages/ruleset/test/rules/schema-keywords.test.js b/packages/ruleset/test/rules/schema-keywords.test.js index f96738c22..adc070e06 100644 --- a/packages/ruleset/test/rules/schema-keywords.test.js +++ b/packages/ruleset/test/rules/schema-keywords.test.js @@ -52,6 +52,7 @@ describe(`Spectral rule: ${ruleId}`, () => { title: 'options_package', uniqueItems: 33, unevaluatedProperties: false, + examples: ['example1', 'example2'], }; const results = await testRule(ruleId, rule, testDocument); @@ -112,23 +113,6 @@ describe(`Spectral rule: ${ruleId}`, () => { expect(results[i].path.join('.')).toBe(expectedPaths[i]); } }); - it('allOf element schema contains "examples"', async () => { - const testDocument = makeCopy(rootDocument); - - testDocument.components.schemas.DrinkCollection.allOf[1].examples = {}; - - const results = await testRule(ruleId, rule, testDocument); - expect(results).toHaveLength(1); - const expectedPaths = [ - 'paths./v1/drinks.get.responses.200.content.application/json.schema.allOf.1.examples', - ]; - for (let i = 0; i < results.length; i++) { - expect(results[i].code).toBe(ruleId); - expect(results[i].message).toBe(`${expectedMsgPrefix} examples`); - expect(results[i].severity).toBe(expectedSeverity); - expect(results[i].path.join('.')).toBe(expectedPaths[i]); - } - }); it('"not" schema contains "additionalItems"', async () => { const testDocument = makeCopy(rootDocument); From 04f97d85da8ad05ad7652d7154a32417b1586ec2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=ADdia=20Tarcza?= <100163235+diatrcz@users.noreply.github.com> Date: Fri, 7 Nov 2025 12:33:27 +0100 Subject: [PATCH 2/2] fix(ibm-schema-keywords): update documents MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Lídia Tarcza <100163235+diatrcz@users.noreply.github.com> --- docs/ibm-cloud-rules.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/ibm-cloud-rules.md b/docs/ibm-cloud-rules.md index 7c5557d65..049baf85c 100644 --- a/docs/ibm-cloud-rules.md +++ b/docs/ibm-cloud-rules.md @@ -6376,6 +6376,7 @@ or schema property. 'discriminator', 'enum', 'example', + 'examples', 'exclusiveMaximum', 'exclusiveMinimum', 'format', @@ -6423,6 +6424,7 @@ configuration field, like this: 'discriminator', 'enum', 'example', + 'examples', 'exclusiveMaximum', 'exclusiveMinimum', 'format',