Project

teuton

0.01
A long-lived project that still receives updates
Intrastructure test, useful for: (1) Sysadmin teachers to evaluate students remote machines. (2) Sysadmin apprentices to evaluate their learning process as a game. (3) Professional sysadmin to monitor remote machines. Allow us: (a) Write test units for real or virtual machines using simple DSL. (b) Check compliance with requirements on remote machines.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

~> 2.8
~> 4.0
~> 7.3
~> 1.3
~> 3.1
 Project Readme

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.