Skip to content

Commit

Permalink
exclude enum types from being flagged
Browse files Browse the repository at this point in the history
  • Loading branch information
akhilailla committed Sep 4, 2024
1 parent 3f5b0c2 commit 7bd8df4
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ export const resourceNameRestriction = (paths: any, _opts: any, ctx: any) => {
// Get the preceding path segment
if (param?.match(/^\w+Name+$/) && !EXCEPTION_LIST.includes(param)) {
const paramDefinition = getPathParameter(paths[pathKey], param)
if (paramDefinition && !paramDefinition.pattern) {
// resource name param with enum doesnt need to explicitly have pattern specified
if (paramDefinition && !paramDefinition.enum && !paramDefinition.pattern) {
errors.push({
message: `The resource name parameter '${param}' should be defined with a 'pattern' restriction.`,
path: [...path, pathKey],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,3 +144,39 @@ test("ResourceNameRestriction should find no errors for system-defined variables
expect(results.length).toBe(0)
})
})

test("ResourceNameRestriction should find no errors for type enums", () => {
const oasDoc = {
swagger: "2.0",
paths: {
"/subscriptions/{subscriptionId}/providers/Microsoft.AzurePlaywrightService/locations/{location}/quotas/{quotaName}": {
get: {
operationId: "Quotas_Get",
tags: ["Quotas"],
description: "Get quota by name.",
parameters: [
{
name: "location",
in: "path",
description: "The location of quota in ARM Normalized format like eastus, southeastasia etc.",
required: true,
type: "string",
},
{
name: "quotaName",
in: "path",
description: "The quota name.",
required: true,
type: "string",
enum: ["ScalableExecution", "Reporting"],
},
],
responses: {},
},
},
},
}
return linter.run(oasDoc).then((results) => {
expect(results.length).toBe(0)
})
})

0 comments on commit 7bd8df4

Please sign in to comment.