Aller au contenu

La commande

phil/route-access-check-bundle
bin/console phil:route-access:check [--format=text|json|github|junit] [--baseline=FILE] [--generate-baseline[=FILE]] [--only-problems] [--strict]
OptionSens
--format, -fLe format du rapport sur la sortie standard : text (par défaut), json, github, junit, ou un format de l'application.
--baseline, -bLe fichier de ligne de base dont les échecs sont tolérés ; par défaut, celui qui est configuré.
--generate-baselineÉcrit les échecs actuels dans ce fichier, ou dans la ligne de base configurée, ou dans route-access-baseline.json, puis se termine avec 0.
--only-problemsOmet les routes qui passent.
--strictÉchoue aussi sur les avertissements : entrées access_control qui n'atteignent aucune route, entrées périmées de la ligne de base, chemins d'exemple inexacts.

Le rapport va sur la sortie standard, brut, pour que --format=json > report.json écrive un document valide. Les messages sur la commande elle-même — un format inconnu, une ligne de base illisible, la ligne de base écrite — vont sur la sortie d'erreur.

Codes de sortie

CodeQuand
0Chaque route passe, ou la ligne de base tolère son échec ; avec --strict, aucun avertissement non plus.
1Une route n'est pas couverte ou est en conflit, et la ligne de base ne la tolère pas ; ou, avec --strict, un avertissement reste.
2Le format est inconnu, ou la ligne de base est illisible : absente, plus grosse que 5 Mo, ou pas un document de ligne de base.

En intégration continue

# .github/workflows/ci.yaml
- name: Route access
  run: bin/console phil:route-access:check --env=test --format=github --only-problems

Le format GitHub annote chaque route en échec sur le fichier et la ligne de son contrôleur. Pour un serveur d'intégration continue qui lit JUnit :

bin/console phil:route-access:check --env=test --format=junit > var/route-access.xml

Adopter la vérification

Sur une application qui a beaucoup de routes, générez la ligne de base une fois, faites-en un commit, et laissez la vérification échouer seulement sur les nouveaux échecs :

bin/console phil:route-access:check --env=test --generate-baseline

Corrigez les routes tolérées une à une ; --strict signale alors chaque entrée de la ligne de base déjà corrigée, pour qu'on la retire et que la ligne de base ne fasse que rétrécir.