teuton 2.4.0 → 2.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +6 -5
- data/docs/changelog/todo.md +9 -1
- data/docs/changelog/v2.4.md +1 -1
- data/docs/dsl/execution/export.md +3 -2
- data/docs/install/README.md +26 -42
- data/docs/install/s-node.md +35 -0
- data/docs/install/t-node.md +76 -0
- data/docs/learn/01-target.md +22 -25
- data/docs/learn/02-config.md +15 -19
- data/docs/learn/09-preserve.md +1 -1
- data/docs/learn/17-hide-feedback.md +52 -0
- data/docs/learn/README.md +5 -12
- data/lib/teuton/case_manager/case/case.rb +1 -0
- data/lib/teuton/case_manager/case/dsl/send.rb +2 -2
- data/lib/teuton/case_manager/case_manager.rb +10 -8
- data/lib/teuton/report/formatter/base_formatter.rb +2 -0
- data/lib/teuton/report/formatter/formatter.rb +1 -0
- data/lib/teuton/version.rb +1 -1
- data/lib/teuton.rb +2 -1
- metadata +8 -4
- data/docs/install/scripts.md +0 -96
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4abcfe5aee651ce09c17012de250c39c6286b3d11ba00462f6ab285224d65d49
|
4
|
+
data.tar.gz: 1158d3a447ad5c0a9c8b2cc7e524fa8c235d00492243f6959be890c379c9ea12
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3006a5ecbb9b8ee634b62704d80911175c9a02e3e0e2d7388e191071bd27a8accbd89871139252f0e587ead1be3feac6bee7f0e04ba40cb734660173215aa4d9
|
7
|
+
data.tar.gz: 4c47dbe5964231ca099dd530beac2ba4266b085fe8f0c8a93473f4f8089bdede91cbdcf94b6bb463b9f6686b38930de250cba7f478530dd4d47ceee9c5d32c9a
|
data/README.md
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
[![Gem Version](https://badge.fury.io/rb/teuton.svg)](https://badge.fury.io/rb/teuton)
|
5
5
|
![GitHub](https://img.shields.io/github/license/dvarrui/teuton)
|
6
|
-
![Gem](https://img.shields.io/gem/dv/teuton/2.
|
6
|
+
![Gem](https://img.shields.io/gem/dv/teuton/2.4.0)
|
7
7
|
|
8
8
|
_Create Unit Test for your machines. Test your infraestructure as code._
|
9
9
|
|
@@ -22,7 +22,7 @@ Teuton allow us:
|
|
22
22
|
|
23
23
|
Install Ruby and then:
|
24
24
|
|
25
|
-
```
|
25
|
+
```console
|
26
26
|
gem install teuton
|
27
27
|
```
|
28
28
|
|
@@ -32,7 +32,7 @@ gem install teuton
|
|
32
32
|
|
33
33
|
Executing `teuton` command to run example test:
|
34
34
|
|
35
|
-
```
|
35
|
+
```console
|
36
36
|
❯ teuton run examples/01-target
|
37
37
|
|
38
38
|
CASE RESULTS
|
@@ -51,12 +51,13 @@ CASE RESULTS
|
|
51
51
|
|
52
52
|
# Documentation
|
53
53
|
|
54
|
-
* [
|
55
|
-
* [Learning](docs/learn/README.md)
|
54
|
+
* [Learn](docs/learn/README.md)
|
56
55
|
* [Commands](docs/commands/README.md)
|
57
56
|
* [Language reference](docs/dsl/README.md)
|
58
57
|
* [Installation](docs/install/README.md)
|
59
58
|
|
59
|
+
> [Blogs and videos](docs/videos.md)
|
60
|
+
|
60
61
|
# Contact
|
61
62
|
|
62
63
|
* **Email**: `teuton.software@protonmail.com`
|
data/docs/changelog/todo.md
CHANGED
@@ -7,7 +7,7 @@ New features:
|
|
7
7
|
|
8
8
|
Revise:
|
9
9
|
* verify get(:key) and get('key') works fine!
|
10
|
-
* Formatter: xml,
|
10
|
+
* Formatter: xml,
|
11
11
|
|
12
12
|
Revise documentation:
|
13
13
|
* Doc learn 10,11, 12,13 y 14
|
@@ -16,3 +16,11 @@ Revise documentation:
|
|
16
16
|
* 13 include
|
17
17
|
* 14 macro
|
18
18
|
* Doc tt_include
|
19
|
+
|
20
|
+
Internal changes:
|
21
|
+
* Application to Settings
|
22
|
+
* Laboratory to Checker
|
23
|
+
* Colorize to Rainbow
|
24
|
+
* Unify messages ERROR, INFO, WARN. etc
|
25
|
+
* Create SendManager as ExportManager?
|
26
|
+
* Add tt_label as alias of tt_members
|
data/docs/changelog/v2.4.md
CHANGED
@@ -6,7 +6,7 @@ New features:
|
|
6
6
|
- Add new DSL keyword: expect_last, expect_fisrt
|
7
7
|
- Remove os gem.
|
8
8
|
- Change test output colors to green as use others test tools.
|
9
|
-
- Change show DSL params. Accepts one param "
|
9
|
+
- Change show DSL params. Accepts one param "verbose: NUMBER" to adjust verbosity output level on screen.
|
10
10
|
|
11
11
|
New doc and example:
|
12
12
|
- 14-alias
|
@@ -29,8 +29,9 @@ end
|
|
29
29
|
|
30
30
|
## Options
|
31
31
|
|
32
|
-
1. **format**: txt, html, yaml, json, colored_text (txt with colors).
|
33
|
-
2. **preserve**:
|
32
|
+
1. **format**: txt (default), html, yaml, json, colored_text (txt with colors).
|
33
|
+
2. **preserve**: false (default), true.
|
34
|
+
3. **feedback**: true (default), false
|
34
35
|
|
35
36
|
## Usage
|
36
37
|
|
data/docs/install/README.md
CHANGED
@@ -1,44 +1,28 @@
|
|
1
1
|
[<< back](../../README.md)
|
2
2
|
|
3
|
-
# Installation
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
## S-NODE installation
|
30
|
-
|
31
|
-
* **Install** SSH server on every machine with S-NODE role.
|
32
|
-
|
33
|
-
---
|
34
|
-
# Other installation ways
|
35
|
-
|
36
|
-
**Scripts**: [Installation using scripts](scripts.md)
|
37
|
-
* These scripts run automatical installation for your OS.
|
38
|
-
* Choose this way if you don't know how to install Ruby on your system.
|
39
|
-
|
40
|
-
**Vagrant or Docker**: [Installation using Vagrant or Docker](vagrant_docker.md)
|
41
|
-
* Choose this way if you plan to install Teuton into virtual machines or containers, and you are familiar with Vagrant and Docker technologies.
|
42
|
-
|
43
|
-
**Manual**: [Manual installation](manual.md)
|
44
|
-
* If you want to install Teuton by your own, or there are not installation scripts for your OS, and you don't want to use Vagrant then... here you have information how to install all the required packages for Teuton.
|
3
|
+
# Installation process
|
4
|
+
|
5
|
+
There are 2 types of nodes/hosts:
|
6
|
+
|
7
|
+
| ID | Software | Description |
|
8
|
+
| -- | -------- | ----------- |
|
9
|
+
| **T-node** | [Teuton installation](t-node.md) | T-NODE host monitors one or severals S-NODE hosts |
|
10
|
+
| **S-node** | [SSH server installation](s-node.md) | S-NODE hosts are monitorized by T-NODE host |
|
11
|
+
|
12
|
+
Read [modes of use](modes_of_use.md) to know more about differents T-NODE/S-NODE schemes.
|
13
|
+
|
14
|
+
## Tested OS list
|
15
|
+
|
16
|
+
| Type | O.S. | Version | Arch | T-node | S-node |
|
17
|
+
| --------- | --------- | -------------- | ------ | ------ | ------ |
|
18
|
+
| GNU/Linux | CentOS | 7 | x86-64 | | |
|
19
|
+
| | Debian | 9.7.0 | x86-64 | Ok | |
|
20
|
+
| | Fedora | Workstation 29 | x84-64 | Ok | |
|
21
|
+
| | LinuxMint | 18.3 | x86-64 | Ok | |
|
22
|
+
| | openSUSE | Leap 15 | x86-64 | Ok | Ok |
|
23
|
+
| | Ubuntu | 18.04 | x86-64 | Ok | Ok |
|
24
|
+
| Microsoft | Windows | 7 Enterprise | x86 | Ok | |
|
25
|
+
| | Windows | 10 Pro | x86-64 | Ok | Ok |
|
26
|
+
| | Windows | Server 2012 R2 | x86-64 | | |
|
27
|
+
| Apple | Mac OS X | Capitán (10.11.6) | x86-64 | Ok | Ok |
|
28
|
+
| | Mac OS X | Sierra (10.12) | x86-64 | Ok | |
|
@@ -0,0 +1,35 @@
|
|
1
|
+
[<< back](README.md)
|
2
|
+
|
3
|
+
# S-NODE installation
|
4
|
+
|
5
|
+
Install SSH server on every machine with S-NODE role.
|
6
|
+
|
7
|
+
**S-node**: Host where SSH server is installed. This hosts are monitorized by T-NODE host.
|
8
|
+
|
9
|
+
**S-node GNU/Linux installation**
|
10
|
+
|
11
|
+
Run this command as `root` user:
|
12
|
+
|
13
|
+
```bash
|
14
|
+
wget -qO- https://raw.githubusercontent.com/teuton-software/teuton/master/install/linux/linux_s-node_install.sh | bash
|
15
|
+
```
|
16
|
+
|
17
|
+
**S-node Windows installation**
|
18
|
+
|
19
|
+
Requirements:
|
20
|
+
* Windows 7+ / Windows Server 2003+
|
21
|
+
* PowerShell v2+
|
22
|
+
|
23
|
+
Run this command on **PowerShell (PS)** as `Administrator` user:
|
24
|
+
|
25
|
+
```powershell
|
26
|
+
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/teuton-software/teuton/master/install/windows/windows_s-node_install.ps1'))
|
27
|
+
```
|
28
|
+
|
29
|
+
**S-node Mac OS X installation**
|
30
|
+
|
31
|
+
Run this command as `root` user:
|
32
|
+
|
33
|
+
```bash
|
34
|
+
curl -sL https://raw.githubusercontent.com/teuton-software/teuton/master/install/mac/macosx_s-node_install.sh | bash
|
35
|
+
```
|
@@ -0,0 +1,76 @@
|
|
1
|
+
[<< back](README.md)
|
2
|
+
|
3
|
+
# T-NODE installation
|
4
|
+
|
5
|
+
# 1. Recommended
|
6
|
+
|
7
|
+
**Installation**
|
8
|
+
|
9
|
+
1. Install Ruby on your system.
|
10
|
+
2. `gem install teuton`
|
11
|
+
|
12
|
+
Run `teuton version` to check the installed version.
|
13
|
+
|
14
|
+
**Update**
|
15
|
+
|
16
|
+
`gem teuton update`.
|
17
|
+
|
18
|
+
**Uninstall**
|
19
|
+
|
20
|
+
`gem uninstall teuton`.
|
21
|
+
|
22
|
+
# 2. Problems
|
23
|
+
|
24
|
+
Don't find `teuton` command (OpenSUSE distro, for example), try this:
|
25
|
+
|
26
|
+
Option A:
|
27
|
+
* `ruby -v`, display your current ruby version. Suppose it is "2.5".
|
28
|
+
* Run `teuton.ruby2.5`, instead of `teuton`.
|
29
|
+
|
30
|
+
Option B:
|
31
|
+
* `find /usr/lib64/ruby -name teuton`, to find absolute path to teuton command.
|
32
|
+
* `sudo ln -s /PATH/TO/bin/teuton /usr/local/bin/teuton`, to create symbolic link to teuton command.
|
33
|
+
|
34
|
+
# 3. Installation scripts
|
35
|
+
|
36
|
+
If you don't know how to install Ruby on your system, execute this script to run automatical installation for your OS.
|
37
|
+
|
38
|
+
**T-node GNU/Linux installation**
|
39
|
+
|
40
|
+
Run this command as `root` user:
|
41
|
+
|
42
|
+
```bash
|
43
|
+
wget -qO- https://raw.githubusercontent.com/teuton-software/teuton/master/install/linux/linux_t-node_install.sh | bash
|
44
|
+
```
|
45
|
+
|
46
|
+
**T-node Windows installation**
|
47
|
+
|
48
|
+
Requirements:
|
49
|
+
* Windows 7+ / Windows Server 2003+
|
50
|
+
* PowerShell v2+
|
51
|
+
|
52
|
+
Run this command on **PowerShell (PS)** as `Administrator` user:
|
53
|
+
|
54
|
+
```powershell
|
55
|
+
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/teuton-software/teuton/master/install/windows/windows_t-node_install.ps1'))
|
56
|
+
```
|
57
|
+
|
58
|
+
**T-node Mac OS X installation**
|
59
|
+
|
60
|
+
Run this command as admin user (member of `admin` group):
|
61
|
+
|
62
|
+
```bash
|
63
|
+
curl -sL https://raw.githubusercontent.com/teuton-software/teuton/master/install/mac/macosx_t-node_install.sh | bash
|
64
|
+
```
|
65
|
+
|
66
|
+
# 4. Vagrant/Docker
|
67
|
+
|
68
|
+
Choose this way if you plan to install Teuton into virtual machines or containers, and you are familiar with Vagrant and Docker technologies.
|
69
|
+
|
70
|
+
[Installation using Vagrant or Docker](vagrant_docker.md)
|
71
|
+
|
72
|
+
# 5. Source code
|
73
|
+
|
74
|
+
If you want to install Teuton by your own, or there are not installation scripts for your OS, and you don't want to use Vagrant then... here you have information how to install all the required packages for Teuton.
|
75
|
+
|
76
|
+
[Manual installation](manual.md)
|
data/docs/learn/01-target.md
CHANGED
@@ -1,18 +1,17 @@
|
|
1
1
|
[<< back](README.md)
|
2
2
|
|
3
|
-
# Example:
|
3
|
+
# Example: target
|
4
4
|
|
5
|
-
|
6
|
-
A target is a feature you want to measure or check.
|
7
|
-
|
8
|
-
1. [Definition section](#definition-section)
|
9
|
-
2. [Execution section](#execution-section)
|
10
|
-
3. [Run test](#run-test)
|
11
|
-
4. [Output reports](#output-reports)
|
5
|
+
A target is a feature you want to check.
|
12
6
|
|
13
7
|
## Definition section
|
14
8
|
|
15
|
-
Test definition section (
|
9
|
+
Test definition section (`group`):
|
10
|
+
|
11
|
+
* **target**: Description of the element to be tested.
|
12
|
+
* **run**: Execute a command `id david` on localhost.
|
13
|
+
* **expect**: Ensure the result contains expected value.
|
14
|
+
|
16
15
|
```ruby
|
17
16
|
group "Learn about targets" do
|
18
17
|
|
@@ -23,16 +22,14 @@ group "Learn about targets" do
|
|
23
22
|
end
|
24
23
|
```
|
25
24
|
|
26
|
-
Define targets using these lines:
|
27
|
-
* **target**: Description of the element to be tested.
|
28
|
-
* **run**: Execute a command `id david` on localhost.
|
29
|
-
* **expect**: Ensure the result contains expected value.
|
30
|
-
|
31
25
|
> In this example, localhost's OS must be GNU/Linux (any other compatible OS) because the command used is `id david`.
|
32
26
|
|
33
27
|
## Execution section
|
34
28
|
|
35
|
-
Test execution section (
|
29
|
+
Test execution section (`play`):
|
30
|
+
|
31
|
+
* **show**: display process information on screen.
|
32
|
+
* **export**: build output reports.
|
36
33
|
|
37
34
|
```ruby
|
38
35
|
play do
|
@@ -41,15 +38,13 @@ play do
|
|
41
38
|
end
|
42
39
|
```
|
43
40
|
|
44
|
-
|
45
|
-
* **show**: display process information on screen.
|
46
|
-
* **export**: build output reports.
|
41
|
+
## Running the test
|
47
42
|
|
48
|
-
|
43
|
+
Execute this command to run the test:
|
49
44
|
|
50
|
-
|
45
|
+
```console
|
46
|
+
> teuton run examples/01-target
|
51
47
|
|
52
|
-
```bash
|
53
48
|
CASE RESULTS
|
54
49
|
+------+-----------+-------+-------+
|
55
50
|
| CASE | MEMBERS | GRADE | STATE |
|
@@ -59,9 +54,9 @@ CASE RESULTS
|
|
59
54
|
|
60
55
|
## Output reports
|
61
56
|
|
62
|
-
|
57
|
+
Report files created into `var/01-target/`:
|
63
58
|
|
64
|
-
```
|
59
|
+
```console
|
65
60
|
var
|
66
61
|
└── 01-target
|
67
62
|
├── case-01.txt
|
@@ -69,9 +64,11 @@ var
|
|
69
64
|
└── resume.txt
|
70
65
|
```
|
71
66
|
|
72
|
-
|
67
|
+
Let's see one report:
|
68
|
+
|
69
|
+
```
|
70
|
+
> more var/01-target/case-01.txt
|
73
71
|
|
74
|
-
```bash
|
75
72
|
CONFIGURATION
|
76
73
|
+-------------+-----------+
|
77
74
|
| tt_members | anonymous |
|
data/docs/learn/02-config.md
CHANGED
@@ -1,19 +1,16 @@
|
|
1
1
|
[<< back](README.md)
|
2
2
|
|
3
|
-
# Example:
|
3
|
+
# Example: config
|
4
4
|
|
5
|
-
|
6
|
-
* Use params defined into config files.
|
7
|
-
* It's good idea save variable data separated into external config file.
|
5
|
+
_It's good idea save variables into config file._
|
8
6
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
4. [Results](#results).
|
7
|
+
Learn:
|
8
|
+
* How to use config file.
|
9
|
+
* How to use params defined into config files.
|
13
10
|
|
14
11
|
## Config file
|
15
12
|
|
16
|
-
By default, `config.yaml` is our config file.
|
13
|
+
By default, `config.yaml` is our default config file. Example:
|
17
14
|
|
18
15
|
```yaml
|
19
16
|
---
|
@@ -22,12 +19,14 @@ cases:
|
|
22
19
|
- tt_members: Student-name-1
|
23
20
|
username: root
|
24
21
|
- tt_members: Student-name-2
|
25
|
-
username:
|
22
|
+
username: david
|
26
23
|
```
|
27
24
|
|
25
|
+
> **How to choose another config file?** Read this [document](../commands/example_run.md#3-choosing-config-file).
|
26
|
+
|
28
27
|
## Definition section
|
29
28
|
|
30
|
-
By default, `start.rb` it's our main execution file.
|
29
|
+
By default, `start.rb` it's our main execution file. Example:
|
31
30
|
|
32
31
|
```ruby
|
33
32
|
group "Reading params from config file" do
|
@@ -39,15 +38,14 @@ group "Reading params from config file" do
|
|
39
38
|
end
|
40
39
|
```
|
41
40
|
|
42
|
-
In this section we define targets using
|
43
|
-
|
44
|
-
* **get** keyword is used to read params from configuracion file. It's posible personalize tests with diferent values for every case.
|
41
|
+
In this section, we define targets using `target`, `run`, `expect` and `get` keywords.
|
45
42
|
|
46
|
-
|
43
|
+
* **get** keyword read params from configuration file. It's posible personalize tests with diferent values for every case.
|
47
44
|
|
48
45
|
## Execution section
|
49
46
|
|
50
47
|
Main execution block:
|
48
|
+
|
51
49
|
```ruby
|
52
50
|
play do
|
53
51
|
show
|
@@ -55,9 +53,9 @@ play do
|
|
55
53
|
end
|
56
54
|
```
|
57
55
|
|
58
|
-
|
56
|
+
This example run test and show (`show` keyword) output on screen:
|
59
57
|
|
60
|
-
```
|
58
|
+
```console
|
61
59
|
> teuton run examples/02-config
|
62
60
|
|
63
61
|
CASE RESULTS
|
@@ -117,5 +115,3 @@ RESULTS
|
|
117
115
|
| grade | 100 |
|
118
116
|
+--------------+---------------------------+
|
119
117
|
```
|
120
|
-
|
121
|
-
> **How to choose another config file?** Read this [document](../commands/example_run.md#3-choosing-config-file).
|
data/docs/learn/09-preserve.md
CHANGED
@@ -0,0 +1,52 @@
|
|
1
|
+
[<< back](README.md)
|
2
|
+
|
3
|
+
# Example: 17-hide-feedback
|
4
|
+
|
5
|
+
When exporting with `feedback: false` option we hide some items from exported reports. Hiden items: command, alterations, expected and result.
|
6
|
+
|
7
|
+
> More information about [export](../dsl/execution/export.md) keyword.
|
8
|
+
|
9
|
+
## Explanation
|
10
|
+
|
11
|
+
Every time teuton is run, all cases are evaluated and when exporting the results, by default, all the information collected during the evaluation process is logged.
|
12
|
+
|
13
|
+
Each "target" contains the following fields:
|
14
|
+
|
15
|
+
* Identification: id, description
|
16
|
+
* Evaluation result: check(true/false)
|
17
|
+
* Punctuation: score, weight
|
18
|
+
* Check process: conn_type, command, duration, alterations, expected, result
|
19
|
+
|
20
|
+
Some of these fields should always be visible, such as: id, description, check, score, and weight. And others, more related to the process that perform teuton for verification can be hidden using the "feedback: false" parameter.
|
21
|
+
|
22
|
+
With "feedback: false" the fields are hidden: command, alterations, expected and result.
|
23
|
+
Más información sobre este texto de origen
|
24
|
+
Para obtener más información sobre la traducción, se necesita el texto de origen
|
25
|
+
Enviar comentarios
|
26
|
+
Paneles laterales
|
27
|
+
|
28
|
+
## Execution section
|
29
|
+
|
30
|
+
Take a look at our test execution section (Play):
|
31
|
+
```ruby
|
32
|
+
play do
|
33
|
+
show
|
34
|
+
export feedback: false
|
35
|
+
end
|
36
|
+
```
|
37
|
+
|
38
|
+
## Result
|
39
|
+
|
40
|
+
Executing `teuton run example/17-hide-feedback`:
|
41
|
+
|
42
|
+
```
|
43
|
+
GROUPS
|
44
|
+
- Hide feedback from reports
|
45
|
+
01 (1.0/1.0)
|
46
|
+
Description : Exits user root
|
47
|
+
Command : *******
|
48
|
+
Duration : 0.002 (local)
|
49
|
+
Alterations : ******************
|
50
|
+
Expected : ************** (String)
|
51
|
+
Result : * (Integer)
|
52
|
+
```
|
data/docs/learn/README.md
CHANGED
@@ -1,13 +1,10 @@
|
|
1
1
|
|
2
2
|
[<< back](../../README.md)
|
3
3
|
|
4
|
-
|
5
|
-
* [Examples](#examples)
|
6
|
-
* [Videos](#videos)
|
4
|
+
# Learn
|
7
5
|
|
8
|
-
|
6
|
+
Learn how write your own Teuton tests:
|
9
7
|
|
10
|
-
Learn how to use Teuton language to write your own tests:
|
11
8
|
- [01 - Target](01-target.md)
|
12
9
|
- [02 - Config file](02-config.md)
|
13
10
|
- [03 - Remote hosts](03-remote_hosts.md)
|
@@ -24,14 +21,9 @@ Learn how to use Teuton language to write your own tests:
|
|
24
21
|
- [14 - Alias](14-alias.md)
|
25
22
|
- 15 - Macros
|
26
23
|
- [16 - Exit codes](16-exit_codes.md)
|
27
|
-
- [
|
24
|
+
- [17 - Hide feedback](17-hide-feedback.md)
|
28
25
|
|
29
|
-
|
30
|
-
|
31
|
-
More examples
|
32
|
-
* Let's see examples at [teuton-tests](https://github.com/dvarrui/teuton-tests) GitHub repository.
|
33
|
-
* Ask us by email at `teuton.software@protonmail.com`.
|
34
|
-
* [ES - CHAPI19: Teuton demo](https://github.com/dvarrui/proyectos-de-ejemplo/tree/master/charlas/teuton)
|
26
|
+
Mores examples at [teuton-tests](https://github.com/dvarrui/teuton-tests) GitHub repository.
|
35
27
|
|
36
28
|
# Videos
|
37
29
|
|
@@ -40,6 +32,7 @@ But if you want to see Spanish videos, here you are:
|
|
40
32
|
|
41
33
|
Teuton (v2.0):
|
42
34
|
* [ES - CHAPI19: Charla Teuton](https://youtu.be/KFWQDfNAFxI?t=12221)
|
35
|
+
* [ES - CHAPI19: Teuton demo](https://github.com/dvarrui/proyectos-de-ejemplo/tree/master/charlas/teuton)
|
43
36
|
|
44
37
|
Sysadmingame (Teuton v1.0)
|
45
38
|
* [Sysadmingame (1 de 3): Instalación del programa](https://youtu.be/dnyMq9_KDco)
|
@@ -37,10 +37,10 @@ module DSL
|
|
37
37
|
Net::SFTP.start(ip, username, password: password, port: port) do |sftp|
|
38
38
|
sftp.upload!(localfilepath, remotefilepath)
|
39
39
|
end
|
40
|
-
msg = Rainbow("
|
40
|
+
msg = Rainbow("==> File '#{remotefilepath}' of '#{get(:tt_members)}' has been copied").green
|
41
41
|
verboseln(msg)
|
42
42
|
rescue
|
43
|
-
msg = Rainbow("[
|
43
|
+
msg = Rainbow("==> [FAIL] #{get(:tt_members)}: 'scp #{localfilepath}' to #{remotefilepath}").red
|
44
44
|
verboseln(msg)
|
45
45
|
end
|
46
46
|
end
|
@@ -47,10 +47,12 @@ class CaseManager
|
|
47
47
|
# @param args (Hash) Export options
|
48
48
|
def export(args = {})
|
49
49
|
if args.class != Hash
|
50
|
-
puts "[ERROR]
|
51
|
-
puts "
|
52
|
-
puts "
|
53
|
-
|
50
|
+
puts Rainbow("[ERROR] Argument error with 'export'!").red
|
51
|
+
puts Rainbow(" Code : CaseManager#export").red
|
52
|
+
puts Rainbow(" Line : export #{args}").red
|
53
|
+
puts Rainbow(" Use : export format: 'txt'").red
|
54
|
+
puts ""
|
55
|
+
exit 1
|
54
56
|
end
|
55
57
|
ExportManager.run(@report, @cases, args)
|
56
58
|
end
|
@@ -61,12 +63,12 @@ class CaseManager
|
|
61
63
|
def send(args = {})
|
62
64
|
threads = []
|
63
65
|
puts ""
|
64
|
-
|
65
|
-
puts Rainbow("
|
66
|
+
puts Rainbow("-" * 50).green
|
67
|
+
puts Rainbow("Sending files...#{args}").color(:green)
|
66
68
|
@cases.each { |c| threads << Thread.new { c.send(args) } }
|
67
69
|
threads.each(&:join)
|
68
|
-
puts Rainbow("
|
69
|
-
|
70
|
+
puts Rainbow("Sending finished!").color(:green)
|
71
|
+
puts Rainbow("-" * 50).green
|
70
72
|
end
|
71
73
|
|
72
74
|
def show(options = {verbose: 1})
|
data/lib/teuton/version.rb
CHANGED
data/lib/teuton.rb
CHANGED
@@ -38,7 +38,8 @@ module Teuton
|
|
38
38
|
require_relative app.script_path
|
39
39
|
rescue SyntaxError => e
|
40
40
|
puts e.to_s
|
41
|
-
puts Rainbow.new("
|
41
|
+
puts Rainbow.new("[FAIL ] Reading file #{app.script_path}").red
|
42
|
+
puts Rainbow.new("[ERROR] Syntax Error!").red
|
42
43
|
end
|
43
44
|
end
|
44
45
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: teuton
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.4.
|
4
|
+
version: 2.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Vargas Ruiz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-01-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|
@@ -171,7 +171,8 @@ extra_rdoc_files:
|
|
171
171
|
- docs/install/README.md
|
172
172
|
- docs/install/manual.md
|
173
173
|
- docs/install/modes_of_use.md
|
174
|
-
- docs/install/
|
174
|
+
- docs/install/s-node.md
|
175
|
+
- docs/install/t-node.md
|
175
176
|
- docs/install/vagrant_docker.md
|
176
177
|
- docs/learn/01-target.md
|
177
178
|
- docs/learn/02-config.md
|
@@ -188,6 +189,7 @@ extra_rdoc_files:
|
|
188
189
|
- docs/learn/13-include.md
|
189
190
|
- docs/learn/14-alias.md
|
190
191
|
- docs/learn/16-exit_codes.md
|
192
|
+
- docs/learn/17-hide-feedback.md
|
191
193
|
- docs/learn/README.md
|
192
194
|
- docs/learn/videos.md
|
193
195
|
- docs/videos.md
|
@@ -228,7 +230,8 @@ files:
|
|
228
230
|
- docs/install/README.md
|
229
231
|
- docs/install/manual.md
|
230
232
|
- docs/install/modes_of_use.md
|
231
|
-
- docs/install/
|
233
|
+
- docs/install/s-node.md
|
234
|
+
- docs/install/t-node.md
|
232
235
|
- docs/install/vagrant_docker.md
|
233
236
|
- docs/learn/01-target.md
|
234
237
|
- docs/learn/02-config.md
|
@@ -245,6 +248,7 @@ files:
|
|
245
248
|
- docs/learn/13-include.md
|
246
249
|
- docs/learn/14-alias.md
|
247
250
|
- docs/learn/16-exit_codes.md
|
251
|
+
- docs/learn/17-hide-feedback.md
|
248
252
|
- docs/learn/README.md
|
249
253
|
- docs/learn/videos.md
|
250
254
|
- docs/videos.md
|
data/docs/install/scripts.md
DELETED
@@ -1,96 +0,0 @@
|
|
1
|
-
[<< back](README.md)
|
2
|
-
|
3
|
-
# Using scripts to install Teuton
|
4
|
-
|
5
|
-
1. T-Node installation
|
6
|
-
* GNU/Linux
|
7
|
-
* MACOSX
|
8
|
-
* Windows
|
9
|
-
2. S-Node installation
|
10
|
-
* GNU/Linux
|
11
|
-
* MACOSX
|
12
|
-
* Windows
|
13
|
-
3. Tested OS list
|
14
|
-
|
15
|
-
---
|
16
|
-
# 1. T-NODE installation
|
17
|
-
|
18
|
-
* **T-node**: Host where Teuton software is installed. Monitor S-NODE hosts.
|
19
|
-
|
20
|
-
## 1.1 T-NODE: GNU/Linux installation
|
21
|
-
|
22
|
-
Run this command as `root` user:
|
23
|
-
|
24
|
-
```bash
|
25
|
-
wget -qO- https://raw.githubusercontent.com/teuton-software/teuton/devel/install/linux/linux_t-node_install.sh | bash
|
26
|
-
```
|
27
|
-
|
28
|
-
## 1.2 T-NODE: Windows installation
|
29
|
-
|
30
|
-
Requirements:
|
31
|
-
* Windows 7+ / Windows Server 2003+
|
32
|
-
* PowerShell v2+
|
33
|
-
|
34
|
-
Run this command on **PowerShell (PS)** as `Administrator` user:
|
35
|
-
|
36
|
-
```powershell
|
37
|
-
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/teuton-software/teuton/devel/install/windows/windows_t-node_install.ps1'))
|
38
|
-
```
|
39
|
-
|
40
|
-
## 1.3 T-NODE: Mac OS X installation
|
41
|
-
|
42
|
-
Run this command as admin user (member of `admin` group):
|
43
|
-
|
44
|
-
```bash
|
45
|
-
curl -sL https://raw.githubusercontent.com/teuton-software/teuton/devel/install/mac/macosx_t-node_install.sh | bash
|
46
|
-
```
|
47
|
-
|
48
|
-
---
|
49
|
-
# 2. S-NODE installation
|
50
|
-
|
51
|
-
* **S-node**: Host where SSH server is installed. This hosts are monitotized by T-NODE host.
|
52
|
-
|
53
|
-
## 2.1 S-NODE: GNU/Linux installation
|
54
|
-
|
55
|
-
Run this command as `root` user:
|
56
|
-
|
57
|
-
```bash
|
58
|
-
wget -qO- https://raw.githubusercontent.com/teuton-software/teuton/devel/install/linux/linux_s-node_install.sh | bash
|
59
|
-
```
|
60
|
-
|
61
|
-
## 2.2 S-NODE: Windows installation
|
62
|
-
|
63
|
-
Requirements:
|
64
|
-
* Windows 7+ / Windows Server 2003+
|
65
|
-
* PowerShell v2+
|
66
|
-
|
67
|
-
Run this command on **PowerShell (PS)** as `Administrator` user:
|
68
|
-
|
69
|
-
```powershell
|
70
|
-
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/teuton-software/teuton/devel/install/windows/windows_s-node_install.ps1'))
|
71
|
-
```
|
72
|
-
|
73
|
-
## 2.3 S-NODE: Mac OS X installation
|
74
|
-
|
75
|
-
Run this command as `root` user:
|
76
|
-
|
77
|
-
```bash
|
78
|
-
curl -sL https://raw.githubusercontent.com/teuton-software/teuton/devel/install/mac/macosx_s-node_install.sh | bash
|
79
|
-
```
|
80
|
-
|
81
|
-
---
|
82
|
-
# 3. Tested OS list
|
83
|
-
|
84
|
-
| Type | O.S. | Version | Arch | T-node | S-node |
|
85
|
-
| --------- | --------- | -------------- | ------ | ------ | ------ |
|
86
|
-
| GNU/Linux | CentOS | 7 | x86-64 | | |
|
87
|
-
| | Debian | 9.7.0 | x86-64 | Ok | |
|
88
|
-
| | Fedora | Workstation 29 | x84-64 | Ok | |
|
89
|
-
| | LinuxMint | 18.3 | x86-64 | Ok | |
|
90
|
-
| | openSUSE | Leap 15 | x86-64 | Ok | Ok |
|
91
|
-
| | Ubuntu | 18.04 | x86-64 | Ok | Ok |
|
92
|
-
| Microsoft | Windows | 7 Enterprise | x86 | Ok | |
|
93
|
-
| | Windows | 10 Pro | x86-64 | Ok | Ok |
|
94
|
-
| | Windows | Server 2012 R2 | x86-64 | | |
|
95
|
-
| Apple | Mac OS X | Capitán (10.11.6) | x86-64 | Ok | Ok |
|
96
|
-
| | Mac OS X | Sierra (10.12) | x86-64 | Ok | |
|