2021-07-19 10:47:12 -04:00
|
|
|
# RESO Commander and Docker
|
|
|
|
Both the command-line and automated testing tools can be run in a Docker container.
|
|
|
|
|
|
|
|
A [Dockerfile](./Dockerfile) has been provided to dockerize the application.
|
|
|
|
This can be used for CI/CD environments such as Jenkins or TravisCI. The following command will build an image for you:
|
|
|
|
|
|
|
|
|
|
|
|
### Commander Features Other Than Automated Web API Testing
|
|
|
|
```
|
|
|
|
$ docker build -t web-api-commander .
|
|
|
|
```
|
|
|
|
|
|
|
|
The usage for the docker container is the same for `web-api-commander.jar` presented above.
|
|
|
|
|
|
|
|
```
|
|
|
|
$ docker run -it web-api-commander --help
|
|
|
|
```
|
|
|
|
|
|
|
|
If you have input files you may need to mount your filesystem into the docker container
|
|
|
|
|
|
|
|
```
|
|
|
|
$ docker run -it -v $PWD:/app web-api-commander --validateMetadata --inputFile <pathInContainer>
|
|
|
|
```
|
|
|
|
|
|
|
|
### Automated Web API Testing
|
|
|
|
|
|
|
|
You may also run the tests in a Docker container locally by issuing one of the following commands.
|
|
|
|
Docker must be running on your local machine.
|
|
|
|
|
|
|
|
#### MacOS or Linux All-In-One Commands
|
|
|
|
```
|
|
|
|
cd ~; \
|
|
|
|
rm -rf commander-tmp/; \
|
|
|
|
mkdir commander-tmp; \
|
|
|
|
cd commander-tmp; \
|
|
|
|
git clone https://github.com/RESOStandards/web-api-commander.git; \
|
|
|
|
cd web-api-commander; \
|
2021-12-13 00:22:42 -05:00
|
|
|
docker run --rm -u gradle -v "$PWD":/home/gradle/project -v /path/to/your/resoscripts:/home/gradle/project/resoscripts -w /home/gradle/project gradle gradle testWebAPIServer_2_0_0_Core -DpathToRESOScript=/home/gradle/project/resoscripts/your.web-api-server.core.2.0.0.resoscript -DshowResponses=true
|
2021-07-19 10:47:12 -04:00
|
|
|
```
|
|
|
|
|
|
|
|
Note that this will create a directory in your home directory for the project, and build artifacts and the log will be placed in that directory,
|
|
|
|
which is also where you will end up after runtime.
|
|
|
|
|
|
|
|
|
|
|
|
#### Windows All-In-One WIP
|
|
|
|
```
|
2021-12-13 00:22:42 -05:00
|
|
|
cd C:\;mkdir commander-tmp;cd commander-tmp;git clone https://github.com/RESOStandards/web-api-commander.git;cd web-api-commander; docker run --rm -u gradle -v C:\current\path\web-api-commander:/home/gradle/project -v C:\path\to\your\resoscripts:/home/gradle/project/resoscripts -w /home/gradle/project gradle gradle testWebAPIServer_2_0_0_Core -DpathToRESOScript=/home/gradle/project/resoscripts/your.web-api-server.core.2.0.0.resoscript -DshowResponses=true
|
2021-07-19 10:47:12 -04:00
|
|
|
```
|