teuton 2.4.0 → 2.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +9 -6
- data/docs/changelog/todo.md +10 -1
- data/docs/changelog/v2.4.md +5 -1
- data/docs/commands/README.md +8 -17
- data/docs/commands/example_check.md +4 -4
- data/docs/commands/example_run.md +10 -32
- data/docs/dsl/README.md +27 -39
- data/docs/dsl/{definition/expect.md → expect.md} +2 -18
- data/docs/dsl/{execution/export.md → export.md} +4 -8
- data/docs/dsl/{setting/get.md → get.md} +4 -10
- data/docs/dsl/{definition/group.md → group.md} +2 -7
- data/docs/dsl/{execution/play.md → play.md} +1 -6
- data/docs/dsl/{definition/result.md → result.md} +1 -6
- data/docs/dsl/{definition/run_remote.md → run.md} +57 -23
- data/docs/dsl/{execution/send.md → send.md} +1 -8
- data/docs/dsl/{setting/set.md → set.md} +1 -7
- data/docs/dsl/{execution/show.md → show.md} +7 -16
- data/docs/dsl/target.md +33 -0
- data/docs/ideas/todo.md +35 -115
- 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-cmd_new.md +28 -0
- data/docs/learn/{01-target.md → 02-target.md} +21 -28
- data/docs/learn/03-remote_hosts.md +59 -87
- data/docs/learn/04-config.md +147 -0
- data/docs/learn/05-use.md +25 -45
- data/docs/learn/06-cmd_check.md +50 -0
- data/docs/learn/07-target_weight.md +44 -0
- data/docs/learn/08-unique_values.md +70 -0
- data/docs/learn/09-send.md +20 -0
- data/docs/learn/10-debug.md +45 -0
- data/docs/learn/11-export.md +35 -0
- data/docs/learn/{09-preserve.md → 12-preserve.md} +1 -1
- data/docs/learn/13-feedback.md +49 -0
- data/docs/learn/14-moodle_id.md +24 -0
- data/docs/learn/{08-readme.md → 15-readme.md} +5 -9
- data/docs/learn/{13-include.md → 16-include.md} +1 -3
- data/docs/learn/{14-alias.md → 17-alias.md} +0 -0
- data/docs/learn/{07-log.md → 18-log.md} +19 -23
- data/docs/learn/{12-get_vars.md → 19-read_vars.md} +3 -3
- data/docs/learn/20-macros.md +49 -0
- data/docs/learn/{16-exit_codes.md → 21-exit_codes.md} +0 -0
- data/docs/learn/{10-result.md → 22-result.md} +3 -3
- data/docs/learn/23-test-code.md +54 -0
- data/docs/learn/24-test-sql.md +69 -0
- data/docs/learn/README.md +31 -32
- data/lib/teuton/application.rb +2 -5
- data/lib/teuton/case_manager/case/case.rb +2 -1
- data/lib/teuton/case_manager/case/dsl/expect.rb +3 -1
- data/lib/teuton/case_manager/case/dsl/goto.rb +1 -1
- data/lib/teuton/case_manager/case/dsl/log.rb +5 -3
- data/lib/teuton/case_manager/case/dsl/send.rb +2 -2
- data/lib/teuton/case_manager/case/dsl/target.rb +1 -1
- data/lib/teuton/case_manager/case/result/ext_compare.rb +20 -21
- data/lib/teuton/case_manager/case/result/ext_filter.rb +15 -8
- data/lib/teuton/case_manager/case_manager.rb +10 -8
- data/lib/teuton/check/show.rb +1 -1
- data/lib/teuton/files/config.yaml +1 -2
- data/lib/teuton/files/start.rb +4 -4
- data/lib/teuton/readme/dsl.rb +9 -1
- data/lib/teuton/readme/readme.rb +8 -1
- data/lib/teuton/report/formatter/base_formatter.rb +2 -0
- data/lib/teuton/report/formatter/formatter.rb +1 -0
- data/lib/teuton/report/show.rb +8 -0
- data/lib/teuton/version.rb +1 -1
- data/lib/teuton.rb +2 -1
- metadata +72 -54
- data/docs/dsl/definition/run_local.md +0 -33
- data/docs/dsl/definition/target.md +0 -40
- data/docs/install/scripts.md +0 -96
- data/docs/learn/02-config.md +0 -121
- data/docs/learn/04-new_test.md +0 -87
- data/docs/learn/06-debug.md +0 -110
- data/docs/learn/11-moodle_id.md +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6bb235310c658ecda29f97a42e1997bd733cfea07a3a66f247bbfe12700e43d9
|
4
|
+
data.tar.gz: 52c90371c74d8de5f087d3ad5478e26cac633e9188351424f6a3b85d1b0d3664
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ca3e5e24efd6d4891404b875d76abae86f6ab522205e8f16a0b20945aaf859434057fefcfce06100514987f5e876b09eada2999943cb99fc77f8c46783c8ff8
|
7
|
+
data.tar.gz: ab1398e8666934eda13ced4349354a840b4b5e97e7874bff4a704a713281cf7efe36ea8ee393bc2bebab2345488f454af97f676c28e8d792cab20416d32ce60e
|
data/README.md
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
[](https://badge.fury.io/rb/teuton)
|
5
5
|

|
6
|
-

|
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)
|
56
|
-
* [Commands](docs/commands/README.md)
|
54
|
+
* [Learn](docs/learn/README.md)
|
57
55
|
* [Language reference](docs/dsl/README.md)
|
56
|
+
* [Commands](docs/commands/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`
|
@@ -69,3 +70,5 @@ CASE RESULTS
|
|
69
70
|
1. Commit your changes (`git commit -am 'Add some feature'`)
|
70
71
|
1. Push to the branch (`git push origin my-new-feature`)
|
71
72
|
1. Create new Pull Request.
|
73
|
+
|
74
|
+
You can also [create issues](https://github.com/teuton-software/teuton/issues) with your requests/incidences/suggestions.
|
data/docs/changelog/todo.md
CHANGED
@@ -2,12 +2,13 @@
|
|
2
2
|
## TO-DO
|
3
3
|
|
4
4
|
New features:
|
5
|
+
- Parse new input format, and detect parse errors
|
5
6
|
- Teuton readme --lang=es
|
6
7
|
- Export files with other langs
|
7
8
|
|
8
9
|
Revise:
|
9
10
|
* verify get(:key) and get('key') works fine!
|
10
|
-
* Formatter: xml,
|
11
|
+
* Formatter: xml,
|
11
12
|
|
12
13
|
Revise documentation:
|
13
14
|
* Doc learn 10,11, 12,13 y 14
|
@@ -16,3 +17,11 @@ Revise documentation:
|
|
16
17
|
* 13 include
|
17
18
|
* 14 macro
|
18
19
|
* Doc tt_include
|
20
|
+
|
21
|
+
Internal changes:
|
22
|
+
* Application to Settings
|
23
|
+
* Laboratory to Checker
|
24
|
+
* Colorize to Rainbow
|
25
|
+
* Unify messages ERROR, INFO, WARN. etc
|
26
|
+
* Create SendManager as ExportManager?
|
27
|
+
* Add tt_label as alias of tt_members
|
data/docs/changelog/v2.4.md
CHANGED
@@ -1,4 +1,8 @@
|
|
1
1
|
|
2
|
+
## [2.4.2]
|
3
|
+
|
4
|
+
- Fix bug with result.grep_v(Array)
|
5
|
+
|
2
6
|
## [2.4.0]
|
3
7
|
|
4
8
|
New features:
|
@@ -6,7 +10,7 @@ New features:
|
|
6
10
|
- Add new DSL keyword: expect_last, expect_fisrt
|
7
11
|
- Remove os gem.
|
8
12
|
- Change test output colors to green as use others test tools.
|
9
|
-
- Change show DSL params. Accepts one param "
|
13
|
+
- Change show DSL params. Accepts one param "verbose: NUMBER" to adjust verbosity output level on screen.
|
10
14
|
|
11
15
|
New doc and example:
|
12
16
|
- 14-alias
|
data/docs/commands/README.md
CHANGED
@@ -11,8 +11,6 @@ Available command functions:
|
|
11
11
|
|
12
12
|
# 1. Show help
|
13
13
|
|
14
|
-
Usage:
|
15
|
-
|
16
14
|
```bash
|
17
15
|
teuton
|
18
16
|
```
|
@@ -32,14 +30,13 @@ Commands:
|
|
32
30
|
```
|
33
31
|
|
34
32
|
Alias:
|
33
|
+
|
35
34
|
* `teuton h`
|
36
35
|
* `teuton -h`
|
37
36
|
* `teuton --help`
|
38
37
|
|
39
38
|
# 2. Show version
|
40
39
|
|
41
|
-
Usage:
|
42
|
-
|
43
40
|
```bash
|
44
41
|
teuton version
|
45
42
|
```
|
@@ -52,23 +49,22 @@ teuton (version 2.2.0)
|
|
52
49
|
```
|
53
50
|
|
54
51
|
Alias:
|
52
|
+
|
55
53
|
* `teuton v`
|
56
54
|
* `teuton -v`
|
57
55
|
* `teuton --version`
|
58
56
|
|
59
57
|
# 3. Create new test
|
60
58
|
|
61
|
-
|
59
|
+
Create teuton test skeleton.
|
62
60
|
|
63
61
|
```bash
|
64
62
|
teuton new foo
|
65
63
|
```
|
66
64
|
|
67
|
-
Description: Create teuton test skeleton.
|
68
|
-
|
69
65
|
Example:
|
70
66
|
|
71
|
-
```
|
67
|
+
```console
|
72
68
|
> teuton new foo
|
73
69
|
|
74
70
|
[INFO] Creating foo project skeleton
|
@@ -86,15 +82,14 @@ This command will create the next structure:
|
|
86
82
|
| foo/config.yaml | YAML configuration file |
|
87
83
|
|
88
84
|
Alias:
|
85
|
+
|
89
86
|
* `teuton n foo`
|
90
87
|
* `teuton -n foo`
|
91
88
|
* `teuton --new foo`
|
92
89
|
|
93
90
|
# 4. Check teuton test
|
94
91
|
|
95
|
-
|
96
|
-
|
97
|
-
```bash
|
92
|
+
```console
|
98
93
|
teuton check DIRPATH
|
99
94
|
```
|
100
95
|
|
@@ -110,14 +105,13 @@ Description: this command check teuton test and config files located into DIRPAT
|
|
110
105
|
| teuton check path/to/file/foo.rb --cname=demo | Test content of foo.rb and demo.yaml files.|
|
111
106
|
|
112
107
|
Alias:
|
108
|
+
|
113
109
|
* `teuton c foo`
|
114
110
|
* `teuton -c foo`
|
115
111
|
* `teuton --check foo`
|
116
112
|
|
117
113
|
# 5. Run teuton test
|
118
114
|
|
119
|
-
Usage:
|
120
|
-
|
121
115
|
```bash
|
122
116
|
teuton run DIRPATH
|
123
117
|
```
|
@@ -127,18 +121,15 @@ Description: this command run teuton test located into DIRPATH folder.
|
|
127
121
|
[Example](example_run.md)
|
128
122
|
|
129
123
|
Alias:
|
124
|
+
|
130
125
|
* `teuton foo`
|
131
126
|
|
132
127
|
# 6. Show README
|
133
128
|
|
134
|
-
Usage:
|
135
|
-
|
136
129
|
```bash
|
137
130
|
teuton readme DIRPATH
|
138
131
|
```
|
139
132
|
|
140
|
-
Description:
|
141
|
-
|
142
133
|
Read test and config files content, and display information about
|
143
134
|
what kind of problem/exercise it is going to be evaluated. The students need this
|
144
135
|
information to resolv the problem/exercise into their machines.
|
@@ -2,18 +2,18 @@
|
|
2
2
|
|
3
3
|
# Check Teuton Test
|
4
4
|
|
5
|
-
Objective: Revise Teuton test located into `example\
|
5
|
+
Objective: Revise Teuton test located into `example\01-target`.
|
6
6
|
|
7
7
|
Usage:
|
8
8
|
|
9
9
|
```
|
10
|
-
teuton check examples/
|
10
|
+
teuton check examples/01-target
|
11
11
|
```
|
12
12
|
|
13
13
|
Example:
|
14
14
|
|
15
15
|
```bash
|
16
|
-
|
16
|
+
❯ teuton check examples/01-target
|
17
17
|
|
18
18
|
+----------------------------+
|
19
19
|
| GROUP: Learn about targets |
|
@@ -39,7 +39,7 @@ Example:
|
|
39
39
|
+----------------------+
|
40
40
|
| Revising CONFIG file |
|
41
41
|
+----------------------+
|
42
|
-
[WARN] File
|
42
|
+
[WARN] File .../examples/01-target/config.yaml not found!
|
43
43
|
[INFO] Recomended content:
|
44
44
|
---
|
45
45
|
:global:
|
@@ -7,55 +7,33 @@
|
|
7
7
|
|
8
8
|
# 1. Run test
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
Usage:
|
10
|
+
Running Teuton test located into `example/01-target` folder.
|
13
11
|
|
14
12
|
```bash
|
15
|
-
teuton run example/
|
13
|
+
teuton run example/01-target
|
16
14
|
```
|
17
15
|
|
18
16
|
Example:
|
19
17
|
|
20
18
|
```bash
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
.
|
27
|
-
[INFO] Duration = 0.004 (2020-04-19 14:09:41 +0100)
|
28
|
-
==================================
|
29
|
-
|
30
|
-
INITIAL CONFIGURATIONS
|
31
|
-
+---------------+-------------------------------------------+
|
32
|
-
| tt_title | Executing [teuton] (version 2.1.9) |
|
33
|
-
| tt_scriptname | examples/learn-01-target/start.rb |
|
34
|
-
| tt_configfile | examples/learn-01-target/config.yaml |
|
35
|
-
| tt_pwd | /mnt/home/leap/proy/repos/teuton.d/teuton |
|
36
|
-
| tt_testname | learn-01-target |
|
37
|
-
| tt_sequence | false |
|
38
|
-
+---------------+-------------------------------------------+
|
19
|
+
------------------------------------
|
20
|
+
Started at 2023-01-21 13:32:24 +0000
|
21
|
+
F
|
22
|
+
Finished in 0.004 seconds
|
23
|
+
------------------------------------
|
39
24
|
|
40
25
|
CASE RESULTS
|
41
26
|
+------+-----------+-------+-------+
|
42
27
|
| CASE | MEMBERS | GRADE | STATE |
|
43
|
-
| 01 | anonymous |
|
28
|
+
| 01 | anonymous | 0.0 | ? |
|
44
29
|
+------+-----------+-------+-------+
|
45
|
-
|
46
|
-
FINAL VALUES
|
47
|
-
+-------------+---------------------------+
|
48
|
-
| start_time | 2020-04-19 14:09:41 +0100 |
|
49
|
-
| finish_time | 2020-04-19 14:09:41 +0100 |
|
50
|
-
| duration | 0.004231917 |
|
51
|
-
+-------------+---------------------------+
|
52
30
|
```
|
53
31
|
|
54
32
|
# 2. Command options
|
55
33
|
|
56
|
-
Usage: `teuton help run`
|
57
|
-
|
58
34
|
```
|
35
|
+
> teuton help run
|
36
|
+
|
59
37
|
Usage:
|
60
38
|
teuton [run] [OPTIONS] DIRECTORY
|
61
39
|
|
data/docs/dsl/README.md
CHANGED
@@ -1,55 +1,43 @@
|
|
1
1
|
[<< back](../../README.md)
|
2
2
|
|
3
|
-
#
|
3
|
+
# Language keywords
|
4
4
|
|
5
|
-
To define and run our
|
6
|
-
1. [Definition instructions](#definition-instructions)
|
7
|
-
2. [Execution instructions](#execution-instructions)
|
8
|
-
3. [Setting instructions](#setting-instructions)
|
9
|
-
4. [Ruby language](#ruby-language)
|
5
|
+
To define our targets, and to run our tests, we use the next DSL keywords:
|
10
6
|
|
11
|
-
|
7
|
+
Types:
|
12
8
|
|
13
|
-
|
9
|
+
* **Definition DSL**: keywords to define targets/items to be checked/evaluated.
|
10
|
+
* **Execution DSL**: keywords used to specify accions related with reports and showing information.
|
11
|
+
* **Settings DSL**: keyword to read and write config file.
|
14
12
|
|
15
|
-
|
16
|
-
| :----------------------------- | :---------- |
|
17
|
-
| [group](definition/group.md) | Define a group of items to check. |
|
18
|
-
| [target](definition/target.md) | Define a target. This is the item to be checked. |
|
19
|
-
| Remote [run](definition/run_remote.md)| Execute command into remote host. |
|
20
|
-
| Local [run](definition/run_local.md) | Execute command into local host. |
|
21
|
-
| [result](definition/result.md) | Contain the output of previous `run` order. |
|
22
|
-
| [expect](definition/expect.md) | Check the obtained result with the expected value. |
|
13
|
+
## Keyword table
|
23
14
|
|
24
|
-
|
15
|
+
| DSL | Type | Descripción |
|
16
|
+
| :------------------ | :--------: | :-------------------------------- |
|
17
|
+
| [expect](expect.md) | Definition | Check the obtained result with the expected value. |
|
18
|
+
| [export](export.md) | Execution | Make reports with the results of every evaluation. |
|
19
|
+
| [get](get.md) | Settings | Read param value from configuration file. |
|
20
|
+
| [group](group.md) | Definition | Define a group of items to check. |
|
21
|
+
| [play](play.md) | Execution | Run the challenge. |
|
22
|
+
| [result](result.md) | Definition | Contain the output of previous `run` order. |
|
23
|
+
| [run](run.md)| Definition | Execute command into remote host or localhost. |
|
24
|
+
| [target](target.md) | Definition | Define a target. This is the item to be checked. |
|
25
|
+
| [send](send.md) | Execution | Send copy of report file to remote host. |
|
26
|
+
| [set](set.md) | Settings | Set new param value for running configuration. |
|
27
|
+
| [show](show.md) | Execution | Show the results on screen. |
|
25
28
|
|
26
|
-
|
29
|
+
### Programming language
|
27
30
|
|
28
|
-
|
29
|
-
| :---------------------------- | :--------------------------------------- |
|
30
|
-
| [play](execution/play.md) | Run the challenge. |
|
31
|
-
| [show](execution/show.md) | Show the results on screen. |
|
32
|
-
| [export](execution/export.md) | Make reports with the results of every evaluation. |
|
33
|
-
| [send](execution/send.md) | Send copy of report file to remote host. |
|
31
|
+
It is possible to use Ruby language programming into Teuton tests. For example, in the definition of our test (iterators, arrays, etc.). Useful when we have repetitive lines, etc.
|
34
32
|
|
35
|
-
|
33
|
+
Example, how to create 4 target evaluation using a List/Array:
|
36
34
|
|
37
|
-
| DSL | Descripción |
|
38
|
-
| :-------------------- | :--------------------------------------------- |
|
39
|
-
| [get](setting/get.md) | Read param value from configuration file. |
|
40
|
-
| [set](setting/set.md) | Set new param value for running configuration. |
|
41
|
-
|
42
|
-
## Ruby language
|
43
|
-
|
44
|
-
It is possible to use ruby language programming structures, in the definition of our test (iterators, arrays, etc.). Useful when we have repetitive lines, etc.
|
45
|
-
|
46
|
-
Example, how to create 4 target evaluation using an Array:
|
47
35
|
```ruby
|
48
36
|
users = ['Obiwan', 'Yoda', 'Maul', 'Vader']
|
49
37
|
|
50
|
-
users
|
51
|
-
target "Exist user #{
|
52
|
-
run "id #{
|
53
|
-
expect_one
|
38
|
+
for name in users do
|
39
|
+
target "Exist user #{name}"
|
40
|
+
run "id #{name}", on: :host1
|
41
|
+
expect_one name
|
54
42
|
end
|
55
43
|
```
|
@@ -1,25 +1,9 @@
|
|
1
1
|
[<< back](../README.md)
|
2
2
|
|
3
|
-
|
4
|
-
2. [Usage](#usage)
|
5
|
-
3. [Example](#example)
|
6
|
-
4. [Basic](#basic)
|
7
|
-
5. [Advanced](#advanced)
|
8
|
-
|
9
|
-
## Description
|
3
|
+
# expect
|
10
4
|
|
11
5
|
Compare the obtained result with the expected one. This comparation process is registered into final report.
|
12
6
|
|
13
|
-
## Usage
|
14
|
-
|
15
|
-
```ruby
|
16
|
-
target 'Exist user obiwan'
|
17
|
-
run 'cat /etc/passwd'
|
18
|
-
expect 'root'
|
19
|
-
```
|
20
|
-
|
21
|
-
Use `expect` keyword to check output (from previous execution).
|
22
|
-
|
23
7
|
## Example
|
24
8
|
|
25
9
|
Let's see some examples:
|
@@ -27,7 +11,7 @@ Let's see some examples:
|
|
27
11
|
```ruby
|
28
12
|
target 'Exist user obiwan'
|
29
13
|
run 'id obiwan'
|
30
|
-
expect 'obiwan' # Expect previous command output contains obiwan text
|
14
|
+
expect 'obiwan' # Expect previous run command output contains obiwan text
|
31
15
|
```
|
32
16
|
|
33
17
|
## Basic
|
@@ -1,11 +1,6 @@
|
|
1
1
|
[<< back](../../README.md)
|
2
2
|
|
3
|
-
|
4
|
-
2. [Example](#example)
|
5
|
-
3. [Options](#options)
|
6
|
-
4. [Usage](#usage)
|
7
|
-
|
8
|
-
## Description
|
3
|
+
# export
|
9
4
|
|
10
5
|
Create reports and save then into `var/TEST-NAME` folder.
|
11
6
|
|
@@ -29,8 +24,9 @@ end
|
|
29
24
|
|
30
25
|
## Options
|
31
26
|
|
32
|
-
1. **format**: txt, html, yaml, json, colored_text (txt with colors).
|
33
|
-
2. **preserve**:
|
27
|
+
1. **format**: txt (default), html, yaml, json, colored_text (txt with colors).
|
28
|
+
2. **preserve**: false (default), true.
|
29
|
+
3. **feedback**: true (default), false
|
34
30
|
|
35
31
|
## Usage
|
36
32
|
|
@@ -1,22 +1,16 @@
|
|
1
1
|
[<< back](../README.md)
|
2
2
|
|
3
|
-
|
4
|
-
2. [Usage](#usage)
|
5
|
-
3. [Examples](#examples)
|
3
|
+
# get
|
6
4
|
|
7
|
-
|
8
|
-
|
9
|
-
`get` read param value from configuration file.
|
10
|
-
|
11
|
-
## Usage
|
5
|
+
`get` reads param value from configuration file.
|
12
6
|
|
13
7
|
```ruby
|
14
8
|
get(PARAM)
|
15
9
|
```
|
16
10
|
|
17
|
-
##
|
11
|
+
## Example
|
18
12
|
|
19
|
-
**Reading
|
13
|
+
**Reading Example**. Suppose we have this `config.yaml` content:
|
20
14
|
|
21
15
|
```yaml
|
22
16
|
---
|
@@ -1,14 +1,9 @@
|
|
1
1
|
[<< back](../../README.md)
|
2
2
|
|
3
|
-
|
4
|
-
2. [Usage](#usage)
|
5
|
-
|
6
|
-
## Description
|
3
|
+
# play
|
7
4
|
|
8
5
|
DSL keyword that starts the execution of all targets/goals (defined into groups). We put this instruction at the end of every script, so it begin running the tests over the machines.
|
9
6
|
|
10
|
-
## Usage
|
11
|
-
|
12
7
|
```ruby
|
13
8
|
play do
|
14
9
|
...
|
@@ -1,11 +1,6 @@
|
|
1
1
|
[<< back](../README.md)
|
2
2
|
|
3
|
-
|
4
|
-
2. [Example 1](#example-1)
|
5
|
-
3. [Example 2](#example-2)
|
6
|
-
4. [Functions](#functions)
|
7
|
-
|
8
|
-
## Description
|
3
|
+
# result
|
9
4
|
|
10
5
|
**result** object saves the output from previous execution.
|
11
6
|
It is usefull to build advanced `expect result...` sentences.
|
@@ -1,32 +1,78 @@
|
|
1
1
|
[<< back](../README.md)
|
2
2
|
|
3
|
-
|
4
|
-
2. [Usage](#usage)
|
5
|
-
3. [Examples](#examples)
|
6
|
-
4. [Protocol](#protocol)
|
3
|
+
# Run
|
7
4
|
|
8
|
-
|
5
|
+
* [Local execution](#local-run)
|
6
|
+
* [Remote execution](#remote-run)
|
9
7
|
|
10
|
-
|
8
|
+
# Local run
|
9
|
+
|
10
|
+
Execute command on localhost and save output into result object.
|
11
|
+
|
12
|
+
```ruby
|
13
|
+
run "id COMMAND"
|
14
|
+
```
|
15
|
+
|
16
|
+
## Alias
|
11
17
|
|
12
|
-
|
18
|
+
In fact it's the same as doing next:
|
19
|
+
|
20
|
+
```ruby
|
21
|
+
run "COMMAND", on: :localhost
|
22
|
+
```
|
23
|
+
|
24
|
+
```ruby
|
25
|
+
run "COMMAND", on: 127.0.0.1
|
26
|
+
```
|
27
|
+
|
28
|
+
```ruby
|
29
|
+
run "COMMAND", on: 'localhost'
|
30
|
+
```
|
31
|
+
|
32
|
+
## Example
|
33
|
+
|
34
|
+
```ruby
|
35
|
+
run "id david"
|
36
|
+
```
|
37
|
+
|
38
|
+
* This instruction execute "id david" command on local machine, and save results into **result** object.
|
39
|
+
* Local machine is where the `Teuton` program is running.
|
40
|
+
|
41
|
+
---
|
42
|
+
# Remote run
|
43
|
+
|
44
|
+
Connect to remote host and executes command. The command output is saved into **result** object.
|
13
45
|
|
14
46
|
```ruby
|
15
47
|
run "COMMAND", on: :hostID
|
16
|
-
on :hostID, run: "COMMAND"
|
17
|
-
goto :hostID, :exec => "COMMAND"
|
18
48
|
```
|
19
|
-
> ADVISE: I know that programers dislike `goto` sentence, but this is diferent. Think of it as english speaker, not as developer.
|
20
49
|
|
21
50
|
* This example connect to remote host identified by `hostID`. Then we execute the command into it and save the output commadn into result object.
|
22
51
|
* Label `hostID` identifies specific machine. Host information (ip, username, password, protocol) cames from config file.
|
23
52
|
|
53
|
+
## Alias
|
54
|
+
|
55
|
+
I know that programers dislike `goto` sentence, but this is diferent. Think of it as english speaker, not as developer.
|
56
|
+
|
57
|
+
```ruby
|
58
|
+
on :hostID, run: "COMMAND"
|
59
|
+
```
|
60
|
+
|
61
|
+
```ruby
|
62
|
+
goto :hostID, :exec => "COMMAND"
|
63
|
+
```
|
64
|
+
|
24
65
|
## Examples
|
25
66
|
|
26
67
|
Execute `id obiwan` comand into remote host `:linux1`.
|
27
68
|
|
28
|
-
```
|
69
|
+
```ruby
|
29
70
|
run "id obiwan", on: :linux1
|
71
|
+
```
|
72
|
+
|
73
|
+
## Deprecated
|
74
|
+
|
75
|
+
```ruby
|
30
76
|
run "id obiwan", :on => :linux1
|
31
77
|
on :linux1, run: "id obiwan"
|
32
78
|
on :linux1, :run => "id obiwan"
|
@@ -34,18 +80,6 @@ goto :linux1, exec: "id obiwan"
|
|
34
80
|
goto :linux1, :exec => "id obiwan"
|
35
81
|
```
|
36
82
|
|
37
|
-
Execute `id yoda` command into `localhost`.
|
38
|
-
|
39
|
-
```Ruby
|
40
|
-
run "id yoda"
|
41
|
-
run "id yoda", on: :localhost
|
42
|
-
run "id yoda", :on => :localhost
|
43
|
-
on :localhost, run: "id yoda"
|
44
|
-
on :localhost, :run => "id yoda"
|
45
|
-
goto :localhost, :exec => "id yoda"
|
46
|
-
goto :localhost, :execute => "id yoda"
|
47
|
-
```
|
48
|
-
|
49
83
|
## Protocol
|
50
84
|
|
51
85
|
**SSH connection**
|
@@ -1,16 +1,9 @@
|
|
1
1
|
[<< back](../../README.md)
|
2
2
|
|
3
|
-
|
4
|
-
2. [Usage](#usage)
|
5
|
-
3. [Parameters](#parameters)
|
6
|
-
4. [Send several reports](#send-several-reports)
|
7
|
-
|
8
|
-
## Description
|
3
|
+
# send
|
9
4
|
|
10
5
|
`send` is used to copy Teuton reports into remote machines.
|
11
6
|
|
12
|
-
## Usage
|
13
|
-
|
14
7
|
```ruby
|
15
8
|
start do
|
16
9
|
export
|
@@ -1,15 +1,9 @@
|
|
1
1
|
[<< back](../README.md)
|
2
2
|
|
3
|
-
|
4
|
-
2. [Usage](#usage)
|
5
|
-
3. [Example](#example)
|
6
|
-
|
7
|
-
## Description
|
3
|
+
# set
|
8
4
|
|
9
5
|
`set` create new temporaly param value for running configuration.
|
10
6
|
|
11
|
-
## Usage
|
12
|
-
|
13
7
|
```ruby
|
14
8
|
set(:param1, 'value')
|
15
9
|
```
|