Azure / Azure/openapi-diff

False positivizes and undetailed errors for RequiredStatusChange

Ouverte
#288 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
C#
Étoiles
290
Forks
50
Merge moyen
5 j 13 h
PR mergées (30 j)
5

Description

I'm working on https://github.com/Azure/azure-rest-api-specs-pr/pull/15631 and there are some `required` differences reported between the old API version and the generated from TypeSpec version regarding `properties`. The errors are not very accurate. They should say what required values changes. Many look to be false positives.

``` nushell
~/ms/azure-rest-api-specs-pr> open breaking-changes.json | where code == RequiredStatusChange | select message old.path | to md
```

|message|old_path||
|-|-|-|
|The 'required' status changed from the old version('False') to the new version('True').|definitions.PrivateCloudList.properties|New list has `"required": ["value"]`|
|The 'required' status changed from the old version('True') to the new version('False').|definitions.PrivateCloud.properties|Neither has required.|
|The 'required' status changed from the old version('True') to the new version('False').|definitions.ManagementCluster.properties|Neither has required.|
|The 'required' status changed from the old version('False') to the new version('True').|definitions.PrivateCloudIdentity.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.ClusterList.properties||
|The 'required' status changed from the old version('True') to the new version('False').|definitions.Cluster.properties|Neither has required.|
|The 'required' status changed from the old version('False') to the new version('True').|definitions.DatastoreList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.HcxEnterpriseSiteList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.ExpressRouteAuthorizationList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.GlobalReachConnectionList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkSegmentsList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkDhcpList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkGatewayList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkPortMirroringList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkVMGroupsList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkVirtualMachinesList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkDnsServicesList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkDnsZonesList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkPublicIPsList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.CloudLinkList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.AddonList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.VirtualMachinesList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.PlacementPoliciesList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.ScriptPackagesList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.ScriptCmdletsList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.ScriptExecutionsList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.TrackedResource.properties||

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Start by reproducing the RequiredStatusChange entries shown in breaking-changes.json through the openapi-diff command-line tool, then trace the comparison logic that produces those messages. Done means the reported required-value changes are accurate and the listed false positives no longer appear.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
csharp, openapi
Domaine
cli, tooling
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
30/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.