
Fuzzer automatizzato per API REST e strumento di test negativi per endpoint OpenAPI. Genera, esegue e riporta migliaia di test auto-riparanti senza sforzo di codifica, coprendo scenari di confine e di sicurezza.
La documentazione di CATS è disponibile su https://endava.github.io/cats/
Strumento di fuzzing e test negativi per API REST. Esegui migliaia di test API auto-rigeneranti in pochi minuti senza sforzo di codifica!
Hai poco tempo? Dai un'occhiata alla Guida rapida di 1 minuto!
Utilizzando una sintassi semplice e minima, con una curva di apprendimento piatta, CATS (Contract API Testing and Security) ti permette di generare migliaia di test API in pochi minuti senza sforzo di codifica. Tutti i test vengono generati, eseguiti e riportati automaticamente sulla base di un set predefinito di 100+ Fuzzer. I Fuzzer coprono un'ampia gamma di test di confine e scenari negativi, da valori Unicode grandi completamente casuali a valori ben congegnati e dipendenti dal contesto basati sui tipi di dati e sui vincoli della richiesta. Inoltre, puoi sfruttare il fatto che CATS genera dinamicamente i payload delle richieste e scrivere semplici test funzionali end-to-end.
Questa è una lista di articoli con guide passo-passo su come usare CATS:
> brew tap endava/tap
> brew install cats
CATS è disponibile sia come JAR eseguibile che come binario nativo. I binari nativi non necessitano di Java installato.
Dopo aver scaricato il binario nativo del tuo sistema operativo, puoi aggiungerlo al PATH per eseguirlo come qualsiasi altro strumento da riga di comando:
sudo cp cats /usr/local/bin/cats
Puoi anche ottenere l'autocompletamento scaricando lo script cats_autocomplete e facendo:
source cats_autocomplete
Per ottenere un autocompletamento persistente, aggiungi la riga sopra in .zshrc o .bashrc, ma assicurati di inserire il percorso completo per lo script cats_autocomplete.
Puoi anche controllare il sorgente di cats_autocomplete per una configurazione alternativa.
Non esiste un binario nativo per Windows, ma puoi usare la versione uberjar. Questo richiede Java 25+ installato.
Puoi eseguirlo come java -jar cats.jar.
Vai alla pagina delle release per scaricare l'ultima versione: https://github.com/Endava/cats/releases.
Puoi compilare CATS dai sorgenti sulla tua macchina locale. Hai bisogno di Java 25. Maven è già incluso.
Prima di eseguire la prima compilazione, assicurati di eseguire
./mvnw clean. CATS utilizza un fork di OKHttp che verrà installato localmente sotto la versione5.X.X-CATS, quindi non preoccuparti di sovrascrivere le versioni ufficiali.
Puoi usare il seguente comando Maven per compilare il progetto come uberjar:
./mvnw package -Dquarkus.package.type=uber-jar
Otterrai un cats-runner.jar nella cartella target. Puoi eseguirlo con java -jar cats-runner.jar ....
Puoi anche compilare immagini native usando una versione Java di GraalVM.
./mvnw package -Pnative
Potresti vedere alcuni messaggi di log di error durante l'esecuzione dei test unitari. Questo è un comportamento previsto per testare gli scenari negativi dei Fuzzer.
Fai riferimento a CONTRIBUTING.md.