
Outil automatisé de fuzzing et de tests négatifs d'API REST pour les endpoints OpenAPI. Génère, exécute et rapporte des milliers de tests auto-réparateurs sans effort de codage, couvrant les scénarios de limites et de sécurité.
La documentation de CATS est disponible sur https://endava.github.io/cats/
Outil de fuzzage et de test négatif d'API REST. Exécutez des milliers de tests d'API auto-réparateurs en quelques minutes sans aucun effort de codage !
Vous manquez de temps ? Consultez le guide de démarrage rapide en 1 minute !
En utilisant une syntaxe simple et minimale, avec une courbe d'apprentissage plate, CATS (Contract API Testing and Security) vous permet de générer des milliers de tests d'API en quelques minutes sans aucun effort de codage. Tous les tests sont générés, exécutés et rapportés automatiquement à partir d'un ensemble prédéfini de 100+ Fuzzers. Les Fuzzers couvrent un large éventail de scénarios de tests aux limites et négatifs, allant de valeurs Unicode aléatoires volumineuses à des valeurs bien conçues et dépendantes du contexte, basées sur les types de données et les contraintes de la requête. De plus, vous pouvez tirer parti du fait que CATS génère dynamiquement les corps de requête et écrire des tests fonctionnels de bout en bout simples.
Voici une liste d'articles avec des guides pas à pas sur l'utilisation de CATS :
> brew tap endava/tap
> brew install cats
CATS est fourni à la fois sous forme de JAR exécutable ou de binaire natif. Les binaires natifs ne nécessitent pas Java installé.
Après avoir téléchargé le binaire natif de votre système d'exploitation, vous pouvez l'ajouter à PATH pour l'exécuter comme n'importe quel autre outil en ligne de commande :
sudo cp cats /usr/local/bin/cats
Vous pouvez également obtenir l'autocomplétion en téléchargeant le script cats_autocomplete et en faisant :
source cats_autocomplete
Pour une autocomplétion persistante, ajoutez la ligne ci-dessus dans .zshrc ou .bashrc, mais assurez-vous d'utiliser le chemin complet du script cats_autocomplete.
Vous pouvez également consulter la source de cats_autocomplete pour une configuration alternative.
Il n'y a pas de binaire natif pour Windows, mais vous pouvez utiliser la version uberjar. Cela nécessite Java 25+ d'être installé.
Vous pouvez l'exécuter avec java -jar cats.jar.
Rendez-vous sur la page des versions pour télécharger la dernière version : https://github.com/Endava/cats/releases.
Vous pouvez compiler CATS à partir des sources sur votre machine locale. Vous avez besoin de Java 25. Maven est déjà inclus.
Avant d'exécuter la première compilation, assurez-vous d'exécuter un
./mvnw clean. CATS utilise un fork de OKHttp qui s'installera localement sous la version5.X.X-CATS, donc ne vous inquiétez pas d'écraser les versions officielles.
Vous pouvez utiliser la commande Maven suivante pour compiler le projet en uberjar :
./mvnw package -Dquarkus.package.type=uber-jar
Vous obtiendrez un fichier cats-runner.jar dans le dossier target. Vous pouvez l'exécuter avec java -jar cats-runner.jar ....
Vous pouvez également construire des images natives en utilisant une version Java GraalVM.
./mvnw package -Pnative
Vous pouvez voir certains messages de log error pendant l'exécution des tests unitaires. Ce comportement est attendu pour tester les scénarios négatifs des Fuzzers.
Veuillez vous référer à CONTRIBUTING.md.