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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b683fafbf0ece0ad550d4ace207434c8ef27b4b2f37396ff6845c68b37a90694
4
- data.tar.gz: 5dcb72959f019fdbb9c8a6afc4e87aa23fb8c7a4370e76516db3c0c82f4ce8e3
3
+ metadata.gz: 4abcfe5aee651ce09c17012de250c39c6286b3d11ba00462f6ab285224d65d49
4
+ data.tar.gz: 1158d3a447ad5c0a9c8b2cc7e524fa8c235d00492243f6959be890c379c9ea12
5
5
  SHA512:
6
- metadata.gz: 38123e21191880cb1aef35a1a203c2c9af4125b2a7a0e04edb8bbae6d9ed723c1a0bb73a0783a0d951a833b29cf7ab924a42e44bf2a017bcabf38c44724e3ce4
7
- data.tar.gz: 51a27604a6efef11534f1afe56c995757b6cf167e14eaff34c3245561c5c1ca290491f1897bc231c05e7bd2774cd5186f775e394f563e29d640f04d44574b0dc
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.3.11)
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
- * [Blogs and videos](docs/videos.md)
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`
@@ -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
@@ -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 "level" that indicates verbosity output level on screen.
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**: true, false.
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
 
@@ -1,44 +1,28 @@
1
1
  [<< back](../../README.md)
2
2
 
3
- # Installation
4
-
5
- > Definitions:
6
- > * **T-node**: Host where Teuton software is installed. A T-NODE monitors several S-NODE hosts.
7
- > * **S-node**: Host where SSH server is installed. This hosts are monitotized by T-NODE host.
8
- >
9
- > Read [Modes of use](modes_of_use.md) to know about different Teuton ways of using it.
10
-
11
- ## T-NODE installation
12
-
13
- * **Install** Teuton (T-NODE role host):
14
- 1. Install Ruby on your system.
15
- 2. `gem install teuton`
16
- * Run `teuton version` to check the installed version.
17
-
18
- > **PROBLEMS**: If you don't find `teuton` command (OpenSUSE distro, for example), try this:
19
- > * Option A:
20
- > * `ruby -v`, display your current ruby version. Suppose it is "2.5".
21
- > * Run `teuton.ruby2.5`, instead of `teuton`.
22
- > * Option B:
23
- > * `find /usr/lib64/ruby -name teuton`, to find absolute path to teuton command.
24
- > * `sudo ln -s /PATH/TO/bin/teuton /usr/local/bin/teuton`, to create symbolic link to teuton command.
25
-
26
- * **Update** Teuton with `gem teuton update`.
27
- * **Uninstall** Teuton with `gem uninstall teuton`.
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)
@@ -1,18 +1,17 @@
1
1
  [<< back](README.md)
2
2
 
3
- # Example: 01-target
3
+ # Example: target
4
4
 
5
- Let's learn how to create our first target.
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 (Group):
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 (Play):
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
- DSL keywords:
45
- * **show**: display process information on screen.
46
- * **export**: build output reports.
41
+ ## Running the test
47
42
 
48
- ## Run test
43
+ Execute this command to run the test:
49
44
 
50
- **Let's see example**: Executing ` teuton run examples/01-target` command.
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
- **Output directory**: reports created into `var/01-target/` output directory.
57
+ Report files created into `var/01-target/`:
63
58
 
64
- ```bash
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
- **Let's see example**: Executing `more var/01-target/case-01.txt` command.
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 |
@@ -1,19 +1,16 @@
1
1
  [<< back](README.md)
2
2
 
3
- # Example: 02-config
3
+ # Example: config
4
4
 
5
- * Learn how to use config file.
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
- 1. [Config file](#config-file).
10
- 2. [Definition section](#definition-section).
11
- 3. [Execution section](#execution-section).
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. Let's an example:
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: vargas
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 keywords: target, run, expect and get.
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
- > NOTE: In this example, we assume GNU/Linux as localhost's OS.
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
- Runing this example and see `show` keyword output:
56
+ This example run test and show (`show` keyword) output on screen:
59
57
 
60
- ```bash
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).
@@ -23,7 +23,7 @@ end
23
23
 
24
24
  ## Result
25
25
 
26
- Example, executing `teuton run example/learn-09-preserve` twice:
26
+ Example, executing `teuton run example/09-preserve` twice:
27
27
 
28
28
  ```
29
29
  var
@@ -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
- * [Learning](#learning)
5
- * [Examples](#examples)
6
- * [Videos](#videos)
4
+ # Learn
7
5
 
8
- # Learning
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
- - [Videos](videos.md)
24
+ - [17 - Hide feedback](17-hide-feedback.md)
28
25
 
29
- # Examples
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)
@@ -42,6 +42,7 @@ class Case
42
42
 
43
43
  # Define Case Report
44
44
  @report = Report.new(@id)
45
+ # TODO: Move folder creation from case to parent classes?
45
46
  @report.output_dir = File.join("var", @config.global[:tt_testname])
46
47
  ensure_dir @report.output_dir
47
48
 
@@ -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("[ OK ] #{(get(:tt_members)[0, 15]).ljust(16)} : #{remotefilepath}").green
40
+ msg = Rainbow("==> File '#{remotefilepath}' of '#{get(:tt_members)}' has been copied").green
41
41
  verboseln(msg)
42
42
  rescue
43
- msg = Rainbow("[ERROR] #{(get(:tt_members)[0, 15]).ljust(16)} : scp #{localfilepath} => #{remotefilepath}").red
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] CaseManager#export: Argument error!"
51
- puts " Source : export #{args} <#{args.class}>"
52
- puts " Usage : export format: 'txt'"
53
- raise "[ERROR] CaseManager#export: Argument error!"
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
- # puts Rainbow("-" * 50).green
65
- puts Rainbow("[INFO] Sending files...#{args}").color(:green)
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("[INFO] Finished").color(:green)
69
- # puts Rainbow("-" * 50).green
70
+ puts Rainbow("Sending finished!").color(:green)
71
+ puts Rainbow("-" * 50).green
70
72
  end
71
73
 
72
74
  def show(options = {verbose: 1})
@@ -1,4 +1,6 @@
1
1
  class BaseFormatter
2
+ attr_reader :ext
3
+
2
4
  def initialize(report)
3
5
  @head = report.head.clone
4
6
  @lines = report.lines.clone
@@ -22,6 +22,7 @@ module Formatter
22
22
  end
23
23
  formatter = klass.new(report)
24
24
  formatter.init(filename)
25
+ report.format = formatter.ext
25
26
  formatter.process(options)
26
27
  end
27
28
 
@@ -1,5 +1,5 @@
1
1
  module Teuton
2
- VERSION = "2.4.0"
2
+ VERSION = "2.4.1"
3
3
  APPNAME = "teuton"
4
4
  GEMNAME = "teuton"
5
5
  DOCKERNAME = "dvarrui/#{GEMNAME}"
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("==> [FAIL] SyntaxError into file #{app.script_path}").red
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.0
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: 2022-12-27 00:00:00.000000000 Z
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/scripts.md
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/scripts.md
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
@@ -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 | |