Skip to content

teuton-software/teuton

Repository files navigation

TEUTON

Gem Version GitHub

Test your infrastructure as code.

logo

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.

Installation

Install Ruby and then:

gem install teuton

Quickstart

Create your test file:

# File: examples/02-target/start.rb 
group "Learn about targets" do
  target "Create user obiwan", weight: 2
  run "id obiwan"
  expect ["uid=", "(obiwan)", "gid="]

  target "Delete user vader"
  run "id vader"
  expect_fail
end

start do
  show
  export
end

Usage: Run test with teuton run TESTPATH.

$ teuton run examples/02-target
------------------------------------
Started at 2025-12-01 18:14:44 +0000
F.
Finished in 0.005 seconds
------------------------------------
 
CASE RESULTS
+------+-----------+-------+-------+
| CASE | MEMBERS   | GRADE | STATE |
| 01   | anonymous | 33.0  | ?     |
+------+-----------+-------+-------+

Output: reports saved into var/TESTNAME folder.

$ tree var 
var
└── 02-target
    ├── case-01.txt
    ├── moodle.csv
    └── resume.txt

Consult the generated output files

Features

  • Use simple DSL to define your tests: target, run,expect and more.
  • Remote devices only require SSH or Telnet service installed.
  • Output format: txt, html, json, yaml, markdown, etc.
  • Multiplatform.
  • Free Software License.

Documentation

Contact

  • Email: teuton.software@protonmail.com

Contributing

  1. Make sure you have Ruby installed
  2. Fork it
  3. Create your feature branch (git checkout -b my-new-feature)
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to the branch (git push origin my-new-feature)
  6. Create new Pull Request.

You can also create issues with your requests, incidences or suggestions.