Test your infrastructure as code.
The infrastructure test is useful for:
- Sysadmin teachers who want to evaluate students remote machines.
- Students who want to evaluate their learning process.
- Professionals who want to monitor their remote machines.
Install Ruby and then:
gem install teutonCreate your test file:
# File: examples/102-target/start.rb
group "Practicing targets" do
target "Create user obiwan"
run "id obiwan"
expect ["uid=", "(obiwan)", "gid="]
target "Delete user vader", weight: 2
run "id vader"
expect_fail
end
play do
show
export
endUsage: Run test with teuton run TESTPATH.
$ teuton examples/102-target
☰ CASE RESULTS
┌──────┬───────────┬───────┬───────┐
│ CASE │ MEMBERS │ GRADE │ STATE │
│ 01 │ anonymous │ 67.0 │ │
└──────┴───────────┴───────┴───────┘Output: reports saved into var/102-target folder.
$ tree var
var
└── 102-target
├── case-01.txt
├── moodle.csv
└── resume.txt
Consult the generated output files
- Use simple DSL to define your tests:
target,run,expectand more. - Remote devices only require SSH or Telnet service installed.
- Output format: txt, html, json, yaml, markdown, etc.
- Multiplatform.
- Free Software License.
- Installation
- Teuton installation
- SSH/Telnet installation
- Modes of use: Classroom, contest, standalone.
- Teuton commands
- teuton config: suggest config file.
- teuton check: check test syntax.
- teuton doc: generate test documentation.
- teuton help: show command help.
- teuton new: create new test.
- teuton run: run test.
- Learning guide with examples.
- Basic
- Medium
- USE several files
- CHECK test syntax
- DEBUG results
- UNIQUE values
- INCLUDE more configuration files
- Zero weight target
- Negative weight target
- Output: reports, logs and docs.
- Execution: Runs, expects, etc
- Events
- Tutorials
- Experimental
- Configuration file: Reserved params, configure hosts, etc.
- Language reference. DSL used to define tests.
- expect: check run output with expectations.
- export: save evaluation reports.
- event: execute action when conditions are met.
- get: read config params.
- group: group targets.
- play: starts main execution.
- result: contains run output.
- run: execute command on local/remote host.
- send: send reports into remote machines.
- set: write new param.
- show: show progress on screen.
- target: define new target.
- More information
- Email:
teuton.software@protonmail.com
- Make sure you have Ruby installed
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request.
You can also create issues with your requests, incidences or suggestions.
