Skip to content

About

RESTest packaged as a tool for RESTgym: the Dockerfile, the loop, and the instructions

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

Repository files navigation

RESTest for RESTgym

RESTest is a black-box testing tool for REST APIs: given an OpenAPI document and the address of a running API, it generates requests, sends them for as long as it is given, judges every reply against what the document promised, and reports the failures it finds. This repository packages it as a tool for RESTgym, in the shape RESTgym's tool template asks for.

Which RESTest

Version 2.1.0 (tag v2.1.0)
Commit 45cd3dc89753e7e366f67f10b73006c22ed68d53
Source code isa-group/RESTest at 45cd3dc8
Documentation README and command line at that commit
Configuration the files in config/
Licence Apache-2.0, like RESTest
Packaged 2026-10-05

The image compiles RESTest from source at that commit; nothing here is a binary.

Install

The tool's directory under tools/ must be called restest2: RESTgym builds a tool's image with the whole RESTgym checkout as the build context, so the Dockerfile's COPY lines name that path. From the root of a RESTgym checkout, either

git submodule add https://github.com/isa-group/restest4restgym.git tools/restest2

or copy this repository's files into tools/restest2/. Then build and run as for any tool:

./restgym.sh build-images        # option 2, "Build images"
./restgym.sh launch-experiment
./restgym.sh verify-data

The build needs network access to GitHub, to fetch RESTest at the commit above, and to Maven Central, for its dependencies. It takes a few minutes the first time.

What the image does

It reads the variables RESTgym sets - API, HOST, PORT and TIME_BUDGET (minutes) - picks the API's document from /specifications (<API>.yaml, or <API>-openapi.json when there is no YAML one), and runs

restest run /specifications/<API>.yaml --url http://$HOST:$PORT --budget ${TIME_BUDGET}m \
    --out /tmp/restest-out/pass-<n>

plus whatever config/ holds. RESTest spends the whole budget; the entry point keeps the container alive in a loop, as RESTgym expects, should a run end early. It runs on Java 21 and needs no other configuration, credentials or network access beyond the API under test.

To use RESTest itself, without RESTgym, see its README.

About

RESTest packaged as a tool for RESTgym: the Dockerfile, the loop, and the instructions

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages