Comments (3)
It looks like your custom rule definition is specifying "schemas" for the set of elements to operate on, but the original rule definition specifies "parameters".
Just change the "given" field like this:
given: parameters,
and give that a try.
Edit 1: you'll also need to change the import line at the top.
This line:
const { schemas } = require('@ibm-cloud/openapi-ruleset-utilities/src/collections');
should be changed to:
const { parameters } = require('@ibm-cloud/openapi-ruleset-utilities/src/collections');
Edit 2:
After a closer look, I also realized your definition of "functionOptions" is incorrect for this rule. The configuration specified in the original rule definition is:
functionOptions: {
// Allow snake case for query parameter names,
// but also allow '.' within the name.
query: {
type: 'snake',
separator: {
char: '.',
},
},
// Allow snake case for path parameter names.
path: {
type: 'snake',
},
// Allow header parameter names to be in canonical header name form (e.g. X-My-Header).
header: {
type: 'pascal',
separator: {
char: '-',
},
},
},
So, you'll need to specify an object like this within your custom rule definition. If you want to enforce camel-case only for query params along with snake-case for path params and pascal case for header params, the configuration object would look like this:
functionOptions: {
// Allow camel case for query parameter names.
query: {
type: 'camel',
},
// Allow snake case for path parameter names.
path: {
type: 'snake',
},
// Allow header parameter names to be in canonical header name form (e.g. X-My-Header).
header: {
type: 'pascal',
separator: {
char: '-',
},
},
},
from openapi-validator.
Here is the reference documentation for this rule:
https://github.com/IBM/openapi-validator/blob/main/docs/ibm-cloud-rules.md#ibm-parameter-casing-convention
from openapi-validator.
Closing this out as the solution has been provided. Please re-open if you encounter other issues.
from openapi-validator.
Related Issues (20)
- Loadash warning HOT 4
- Text output version not printing error rule HOT 1
- collections missing from the openapi-ruleset in version 0.45.3 HOT 5
- Outdated info in ruleset doc HOT 5
- Support for authenticated additional Openapi definitions HOT 1
- missing-required-property rule failed at anyOf required options HOT 1
- v1.0 Community Feedback HOT 3
- Error when I use a customized rule HOT 7
- feature request: Find a way to extend the spectral default ruleset without installing it local HOT 1
- A dependency of this repository contains a critical VM escape vulnerability HOT 5
- Support Request: how can a rule ignore parameters with a specific name? HOT 3
- ibm-etag-header crashes linter on incorrect specification HOT 4
- Failed to resolve entry for package "ibm-openapi-validator HOT 2
- Rule "ibm-success-response-example" fails for some operations but not others HOT 3
- support for RPC style HTTP calls HOT 4
- Update documentation to reflect latest recommendations HOT 1
- ibm-parameter-description rule should skip responses.links.{name}.parameters HOT 3
- Runtime error for SCIM-compliant schema (object containing $ref attribute)
- Fix test failures with Node 20 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openapi-validator.