New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(rulesets): add oas3_1-servers-in-webhook and oas3_1-callbacks-in… #2581
Changes from 3 commits
97ef9f5
b89dd2d
3c61d56
0f2b9a4
ce17749
6920e76
e968318
55507cb
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
import { DiagnosticSeverity } from '@stoplight/types'; | ||
import testRule from '../../__tests__/__helpers__/tester'; | ||
|
||
testRule('oas3_1-callbacks-in-webhook', [ | ||
{ | ||
name: 'callbacks defined in webhook', | ||
document: { | ||
openapi: '3.1.0', | ||
webhooks: { | ||
newPet: { | ||
post: { | ||
callbacks: {}, | ||
}, | ||
}, | ||
}, | ||
}, | ||
errors: [ | ||
{ | ||
message: 'Callbacks should not be defined in a webhook.', | ||
path: ['webhooks', 'newPet', 'post', 'callbacks'], | ||
severity: DiagnosticSeverity.Warning, | ||
}, | ||
], | ||
}, | ||
]); |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
import { DiagnosticSeverity } from '@stoplight/types'; | ||
import testRule from '../../__tests__/__helpers__/tester'; | ||
|
||
testRule('oas3_1-servers-in-webhook', [ | ||
{ | ||
name: 'servers defined in webhook', | ||
document: { | ||
openapi: '3.1.0', | ||
webhooks: { | ||
servers: [], | ||
}, | ||
}, | ||
errors: [ | ||
{ | ||
message: 'Servers should not be defined in a webhook.', | ||
path: ['webhooks', 'servers'], | ||
severity: DiagnosticSeverity.Warning, | ||
}, | ||
], | ||
}, | ||
]); |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -707,5 +707,23 @@ const ruleset = { | |
}, | ||
}, | ||
}, | ||
'oas3_1-servers-in-webhook': { | ||
message: 'Servers should not be defined in a webhook.', | ||
formats: [oas3_1], | ||
recommended: true, | ||
given: ['$.webhooks.servers'], | ||
then: { | ||
function: undefined, | ||
}, | ||
}, | ||
'oas3_1-callbacks-in-webhook': { | ||
message: 'Callbacks should not be defined in a webhook.', | ||
formats: [oas3_1], | ||
recommended: true, | ||
given: ['$.webhooks[*][*].callbacks'], | ||
then: { | ||
function: undefined, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. are these required? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Are you referring to the |
||
}, | ||
}, | ||
}, | ||
}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i think we want this inside of the webhook operation, not at the webhooks object
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ohhh okay servers can be defined on both. Should the warning only be at the webhook operation level?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm reading through the oas docs and it seems like we should be showing a warning at both levels (the servers array at the path item object level would apply to all operations and servers at the operation level is for that operation only)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok added that here fb14f54