Satori CI - Automated Software Testing Platform
Project description
1. Five Ws (and one H)
1.1 What is Satori CI?
Satori CI is an automated software testing as a service. It asserts what the outputs of the programs will be. Consider the following example "Hello World" program in Python:
print("Hello World")
If we execute this program, we will see the following:
$ ./hello_world.py
Hello World
We can assert that the return code will be 0 and the standard output of this program will be Hello World:
test:
assertReturnCode: 0
assertStdoutEqual: Hello World
python:
- [ ./hello_world.py ]
1.2 Why
This no code testing language will help you test your software throughout different stages of its development lifecycle. Playbooks can look both at source code and execution (more examples of this in the "CI: Import" section)
1.3 Who
Test engineers, software developers and security testers.
1.4 When
You can attach it to your CI process (Satori CI), you can launch them manually (Satori Run), and you can launch them periodically (Satori Monitor)
1.5 Where
Satori can be used on your continuous integration, deployment and delivery tests.
1.6 How to use it?
First, login at https://www.satori-ci.com using your Github account to be able to use our CI cappabilities. Github will ask for confirmation for us to access to your repositories of choice. After accepting the conditions, you can get a token fromus at https://www.satori-ci.com/user-settings/
You will use that token to setup your account with our CLI tool
git clone git@github.com:satorici/satori-cli.git
cd satori-cli/
apt install python3.10
pip3 install -f requirements.txt
# TBD: pip3 install satori-cli
satori-cli config default YOUR_TOKEN
2. Playbooks
Are used to assert software behaviors, wether they are source code files or live systems.
2.1 Playbooks: Hello World
TBC
2.2 Playbooks: Import
Playbooks can import other local or remote playbooks. We keep at TBC a list of playbooks that can be referenced with the
import:
- satori://code/trufflehog.yml
test:
assertStdoutEqual: "Hello World"
bash:
- [ echo "Hello World" ]
Is there a playbook that you would like us to incluide? Drop us a line at support@satori-ci.com
3. CI
Check how your repositories are connected to our CI with. This command will show you what is our visibility on your repositories. We will tell you which ones are connected, if they have a playbook associated and what is their status. Example output:
$ satori-cli ci
TBC
2.1 CI: Add a playbook file
Adding a file named .satori.yml in your root directory, we will be used by your Github pushes to test your code. Lets suppose for example that you created a Hello World application, and you want to know that that will be the output every time you push new code:
- .satori.yml:
test:
assertStdoutEqual: "Hello World"
bash:
- [ echo "Hello World" ]
Monitor
Check that your assets are correctly monitored. This command will check on the playbooks that are running with a crontab to monitor resources:
satori-cli monitor
Example output:
TBC
Monitor: add a playbook to be executed at a certain rate
Playbook that define a rate are automatically included within the monitor functionality:
- MonitorBlog.yml
settings:
- name: Monitor Blog
- rate: TBC
test:
assertStdout: "Hello World"
blog:
- [ curl -s https://www.satori-ci.com/hello-world/ ]
This will be checked every X minutes once you execute it. Example:
$ satori-cli run MonitorBlog.yml`
TBC
Monitor: stopping and running again a playbook
You will get a list with the satori-cli monitor
, from where you will take the UUID. You can use that UUID with the stop
and run
subcommands
$ satori-cli stop UUID
TBC
Scan
TBC
Scan all your commits
$ satori-cli scan GithubAccount/Repository -c 100
TBC
Playbooks:
You can see a list of public playbooks when at https://github.com/satorici/playbooks/
$ satori-cli playbooks
Private playbooks:
Public Playbooks:
Public playbooks:
They can be imported by playbooks that you have in your CI or on assets being Monitored.
$ satori-cli playbooks public
URI | Name
satori://code/trufflehog.yml | Trufflehog will search for secrets in your code
...
Private Playbooks:
We will store a copy of the playbooks that you have executed and show them to you whenever you execute the command:
$ satori-cli playbooks private
Type | URI | Name | Imports
CI | github://satorici/satori-cli/.satori.yml | |
Monitor | github://satorici/playbooks/test/satori/monitor.yml | Monitor Assets | monitorBlog.yml
Run | github://satorici/playbooks/test/satori/monitorBlog.yml | Monitor Blog |
...
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for satori_ci-1.1.16-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8dece051366261f88feee3621bceb0219d1ea84e05787c1170ee55db5d7501f |
|
MD5 | b30cdab66551f2c5f46a42341d1da20d |
|
BLAKE2b-256 | 2f0fe2a5fb16f26589ea0a0e03492575fea4af9a018f39aa2bf68b6d2a9b5093 |