Skip to content

Commit 807e522

Browse files
authored
fix(ibm-schema-keywords): allow examples keyword (#769)
Signed-off-by: Lídia Tarcza <100163235+diatrcz@users.noreply.github.com>
1 parent 0da4bd5 commit 807e522

3 files changed

Lines changed: 5 additions & 18 deletions

File tree

docs/ibm-cloud-rules.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6376,6 +6376,7 @@ or schema property.
63766376
'discriminator',
63776377
'enum',
63786378
'example',
6379+
'examples',
63796380
'exclusiveMaximum',
63806381
'exclusiveMinimum',
63816382
'format',
@@ -6423,6 +6424,7 @@ configuration field, like this:
64236424
'discriminator',
64246425
'enum',
64256426
'example',
6427+
'examples',
64266428
'exclusiveMaximum',
64276429
'exclusiveMinimum',
64286430
'format',

packages/ruleset/src/rules/schema-keywords.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Copyright 2023 IBM Corporation.
2+
* Copyright 2025 IBM Corporation.
33
* SPDX-License-Identifier: Apache2.0
44
*/
55

@@ -30,6 +30,7 @@ module.exports = {
3030
'discriminator',
3131
'enum',
3232
'example',
33+
'examples',
3334
'exclusiveMaximum',
3435
'exclusiveMinimum',
3536
'format',

packages/ruleset/test/rules/schema-keywords.test.js

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ describe(`Spectral rule: ${ruleId}`, () => {
5252
title: 'options_package',
5353
uniqueItems: 33,
5454
unevaluatedProperties: false,
55+
examples: ['example1', 'example2'],
5556
};
5657

5758
const results = await testRule(ruleId, rule, testDocument);
@@ -112,23 +113,6 @@ describe(`Spectral rule: ${ruleId}`, () => {
112113
expect(results[i].path.join('.')).toBe(expectedPaths[i]);
113114
}
114115
});
115-
it('allOf element schema contains "examples"', async () => {
116-
const testDocument = makeCopy(rootDocument);
117-
118-
testDocument.components.schemas.DrinkCollection.allOf[1].examples = {};
119-
120-
const results = await testRule(ruleId, rule, testDocument);
121-
expect(results).toHaveLength(1);
122-
const expectedPaths = [
123-
'paths./v1/drinks.get.responses.200.content.application/json.schema.allOf.1.examples',
124-
];
125-
for (let i = 0; i < results.length; i++) {
126-
expect(results[i].code).toBe(ruleId);
127-
expect(results[i].message).toBe(`${expectedMsgPrefix} examples`);
128-
expect(results[i].severity).toBe(expectedSeverity);
129-
expect(results[i].path.join('.')).toBe(expectedPaths[i]);
130-
}
131-
});
132116
it('"not" schema contains "additionalItems"', async () => {
133117
const testDocument = makeCopy(rootDocument);
134118

0 commit comments

Comments
 (0)