Limitations
Native Binaries
When using the native binaries (not affecting the uberjar) there might be issues when using dynamic values in the configuration files. This is due to the fact that GraalVM only bundles whatever can discover at compile time. The following classes are currently supported:
java.util.Base64.Encoder.class, java.util.Base64.Decoder.class, java.util.Base64.class,
org.apache.commons.lang3.RandomUtils.class, org.apache.commons.lang3.RandomStringUtils.class,
org.apache.commons.lang3.DateFormatUtils.class, org.apache.commons.lang3.DateUtils.class,
org.apache.commons.lang3.DurationUtils.class, java.time.LocalDate.class,
java.time.LocalDateTime.class,java.time.OffsetDateTime.class
API specs
At this moment, CATS only works with OpenAPI specs and has limited functionality using template payloads through the cats fuzz ...
subcommand.
Media types and HTTP methods
The Fuzzers have the following support for media types and HTTP methods:
application/json
andapplication/x-www-form-urlencoded
media types only- HTTP methods:
POST
,PUT
,PATCH
,GET
andDELETE
Additional Parameters
If a response contains a free Map specified using the additionalParameters
tag CATS will issue a warn
log message as it won't be able to validate that the response matches the schema.
Regexes within 'pattern'
CATS uses a mix of regex and data/format driven generators in order to generate Strings based on regexes. This has certain limitations mostly with complex patterns.