Janch is a utility that can be customized for checking anything. It reads what it needs to check from a YAML file.
I just started the tool so the features are limited.
- Run a linux command and inspect its output
- Run a grep command and inspect its output
- Gather content of a web address (http/https) and inspect the response
Install from PyPi
pip install janch
Run Help
janch --help
Run a sample file
janch run tests/samples/0.sample.yml
- Create a YAML such as the following
touch sample.yml
vim sample.yml
command-example:
gather:
type: command
command_str: python --version
inspect:
result: ^Python 3\.(.*)$
grep-example:
gather:
type: grep
filepath: test.env
search: '='
inspect:
result: (.*)=(.*)
line_count: 1
webservice-example:
gather:
type: http
url: http://www.example.com
inspect:
status: 200
- Create a sample file for checking
touch test.env
vim test.env
# File Content Hello=world
- Run Janch
janch run sample.yml
- You should get an output that looks as follows
item type field expected actual match error
grep-example grep result (.*)=(.*) Hello=world True False
grep-example grep line_count 1 1 True False
grep-example grep error NOERROR NOERROR True False
command-example command result ^Python 3\.(.*)$ Python 3.8.2 True False
command-example command error NOERROR NOERROR True False
webservice-example http status 200 200 True False
webservice-example http error NOERROR NOERROR True False
- The match column shows which of the items from the yaml behaved as expected