You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the following PR, rule GetCollectionResponseSchema raised an error that appears to be a false positive, caused by two paths that share the same "/providers..." suffix.
My first question is whether this scenario, where two paths in a spec only vary by a /subscriptions/{subscriptionId} prefix, but return different data types, should even be allowed?
If not, then the rule is technically correct to raise an error here, but the error message is misleading.
If so, then the rule will need to be updated to allow it. Inspecting the code, I believe the root cause is around here, since it only considers the path after the last index of "/providers". This code would need to be updated, to consider the prefix before this as well.
mikeharder
changed the title
[GetCollectionResponseSchema] Bugs detecting/reporting errors in APIs that vary only by subscription prefix
[GetCollectionResponseSchema] Does not disambiguate paths that share the same "/providers" suffix
Oct 17, 2024
Overview
In the following PR, rule
GetCollectionResponseSchema
raised an error that appears to be a false positive, caused by two paths that share the same "/providers..." suffix.Azure/azure-rest-api-specs#30656 (comment)
My first question is whether this scenario, where two paths in a spec only vary by a
/subscriptions/{subscriptionId}
prefix, but return different data types, should even be allowed?@bdefoy, @rkmanda: What do you think?
If not, then the rule is technically correct to raise an error here, but the error message is misleading.
If so, then the rule will need to be updated to allow it. Inspecting the code, I believe the root cause is around here, since it only considers the path after the last index of
"/providers"
. This code would need to be updated, to consider the prefix before this as well.azure-openapi-validator/packages/rulesets/src/native/utilities/arm-helper.ts
Lines 508 to 516 in edb6559
V1 APIs
/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/publishers/{publisher}/extensionTypes/{extensionType}/versions/{version}
operationId:
ExtensionMetadata_Get
Response:
#/definitions/ExtensionValue
/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/locations/{location}/publishers/{publisher}/extensionTypes/{extensionType}/versions
operationId:
ExtensionMetadata_List
Response:
#/definitions/ExtensionValueListResult
V2 APIs
/providers/Microsoft.HybridCompute/locations/{location}/publishers/{publisher}/extensionTypes/{extensionType}/versions/{version}
operationId:
ExtensionMetadataV2_Get
Response:
#/definitions/ExtensionValueV2
/providers/Microsoft.HybridCompute/locations/{location}/publishers/{publisher}/extensionTypes/{extensionType}/versions
operationId:
ExtensionMetadataV2_List
Response:
#/definitions/ExtensionValueListResultV2
The text was updated successfully, but these errors were encountered: