teuton 2.1.1 → 2.1.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.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +12 -21
  3. data/docs/Challenge-Server-Project.md +50 -0
  4. data/docs/changelog/servidor-de-retos.md +53 -0
  5. data/docs/changelog/todo.md +46 -0
  6. data/docs/changelog/v2.0.md +17 -0
  7. data/docs/changelog/v2.1.md +139 -0
  8. data/docs/commands/commands.md +10 -0
  9. data/docs/commands/create_skeleton.md +31 -0
  10. data/docs/commands/help.md +13 -0
  11. data/docs/commands/revise_test.md +46 -0
  12. data/docs/commands/run_test_unit.md +78 -0
  13. data/docs/commands/show_version.md +9 -0
  14. data/docs/developers/01-telnet.md +121 -0
  15. data/docs/developers/02-ssh.md +93 -0
  16. data/docs/developers/03-encoding.md +153 -0
  17. data/docs/developers/comparative.md +17 -0
  18. data/docs/dsl/_Sidebar.md +30 -0
  19. data/docs/dsl/definition/expect.md +56 -0
  20. data/docs/dsl/definition/goto.md +112 -0
  21. data/docs/dsl/definition/group.md +16 -0
  22. data/docs/dsl/definition/result.md +76 -0
  23. data/docs/dsl/definition/run.md +23 -0
  24. data/docs/dsl/definition/target.md +35 -0
  25. data/docs/dsl/execution/export.md +39 -0
  26. data/docs/dsl/execution/play.md +16 -0
  27. data/docs/dsl/execution/send.md +54 -0
  28. data/docs/dsl/execution/show.md +21 -0
  29. data/docs/dsl/keywords.md +53 -0
  30. data/docs/dsl/setting/get.md +36 -0
  31. data/docs/dsl/setting/set.md +18 -0
  32. data/docs/install/install.md +32 -0
  33. data/docs/install/manual_install.md +25 -0
  34. data/docs/install/modes_of_use.md +38 -0
  35. data/docs/install/scripts_install.md +76 -0
  36. data/docs/install/tested_od.md +25 -0
  37. data/docs/install/vagrant_install.md +15 -0
  38. data/docs/learn/example-01-target.md +117 -0
  39. data/docs/learn/example-02-configfile.md +168 -0
  40. data/docs/learn/example-03-remote-hosts.md +90 -0
  41. data/docs/learn/example-04-use.md +74 -0
  42. data/docs/learn/example-05-debug.md +104 -0
  43. data/docs/learn/example-11-first-test.md +96 -0
  44. data/docs/learn/learning.md +34 -0
  45. data/docs/learn/quick-demo.md +168 -0
  46. data/docs/learn/videos.md +13 -0
  47. data/lib/teuton/application.rb +1 -1
  48. data/lib/teuton/command/readme.rb +3 -0
  49. data/lib/teuton/command/test.rb +3 -0
  50. data/lib/teuton/command.rb +2 -2
  51. metadata +91 -5
  52. data/docs/logo.png +0 -0
@@ -0,0 +1,168 @@
1
+
2
+ # Quick demo
3
+
4
+ Every TEUTON challenge (Test Unit) consists of 2 files.
5
+ Let's look at demo `examples/learn-03-remote-hosts`:
6
+
7
+ | File | Description |
8
+ | ----------- | ----------------------------- |
9
+ | start.rb | Defines TEUTON activity (DSL) |
10
+ | config.yaml | Configuration file with every student machine |
11
+
12
+ ## Running
13
+
14
+ * Run this demo with `teuton` command: `teuton examples/learn-03-remote-hosts`.
15
+ * During execution, progress is showed on screen.
16
+
17
+ ```
18
+ $ teuton examples/learn-03-remote-hosts
19
+
20
+ [INFO] ScriptPath => examples/learn-03-remote-hosts/start.rb
21
+ [INFO] ConfigPath => examples/learn-03-remote-hosts/config.yaml
22
+ [INFO] TestName => learn-03-remote-hosts
23
+
24
+ ==================================
25
+ Executing [teuton] (version 2.1.0)
26
+ [INFO] Running in parallel (2019-11-06 17:35:46 +0000)
27
+ Skipping case <Darth Maul>
28
+ ?FFF?FFF
29
+ [INFO] Duration = 10.184 (2019-11-06 17:35:57 +0000)
30
+ ==================================
31
+
32
+ CASE RESULTS
33
+ +---------+---------------+-------+-------+
34
+ | CASE ID | MEMBERS | GRADE | STATE |
35
+ | - | - | 0.0 | |
36
+ | case_02 | R2D2 | 0.0 | ? |
37
+ | case_03 | Obiwan Kenobi | 0.0 | ? |
38
+ +---------+---------------+-------+-------+
39
+
40
+ CONN ERRORS
41
+ +---------+---------------+-------+------------------+
42
+ | CASE ID | MEMBERS | HOST | ERROR |
43
+ | case_02 | R2D2 | host1 | host_unreachable |
44
+ | case_03 | Obiwan Kenobi | host1 | host_unreachable |
45
+ +---------+---------------+-------+------------------+
46
+ ```
47
+
48
+ * Case is every remote host (or group of hosts) been tested.
49
+ * "case-01" has been configured "skip=true", so it hasn't been tested.
50
+
51
+ ## Reports
52
+
53
+ * Detail reports are saved into `var/learn-03-remote-hosts/` output directory.
54
+ * Take a look at directory tree:
55
+
56
+ ```bash
57
+ var
58
+ └── learn-03-remote-hosts
59
+ ├── case-02.txt
60
+ ├── case-03.txt
61
+ └── resume.txt
62
+ ```
63
+
64
+ * Only "case-02" and "case-03" has been tested.
65
+ * There are TXT output reports for every tested case.
66
+ * "resume" report is a resumed list with final results.
67
+ * Let's see our example:
68
+
69
+ ```
70
+ $ more var/learn-03-remote-hosts/resume.txt
71
+
72
+ CONFIGURATION
73
+ +----------------+------------------------------------------------+
74
+ | tt_title | Executing [teuton] (version 2.1.0) |
75
+ | tt_scriptname | examples/learn-03-remote-hosts/start.rb |
76
+ | tt_configfile | examples/learn-03-remote-hosts/config.yaml |
77
+ | host1_username | root |
78
+ | host1_password | profesor |
79
+ | tt_testname | learn-03-remote-hosts |
80
+ | tt_sequence | false |
81
+ +----------------+------------------------------------------------+
82
+
83
+ CASES
84
+ +---------+---------------+-------+-------+
85
+ | CASE ID | MEMBERS | GRADE | STATE |
86
+ | - | - | 0 | |
87
+ | case_02 | R2D2 | 0 | ? |
88
+ | case_03 | Obiwan Kenobi | 0 | ? |
89
+ +---------+---------------+-------+-------+
90
+
91
+ CONN ERRORS
92
+ +---------+---------------+-------+------------------+
93
+ | CASE ID | MEMBERS | HOST | ERROR |
94
+ | case_02 | R2D2 | host1 | host_unreachable |
95
+ | case_03 | Obiwan Kenobi | host1 | host_unreachable |
96
+ +---------+---------------+-------+------------------+
97
+
98
+ RESULTS
99
+ +-------------+---------------------------+
100
+ | start_time | 2019-11-06 17:35:46 +0000 |
101
+ | finish_time | 2019-11-06 17:35:57 +0000 |
102
+ | duration | 10.183650893 |
103
+ +-------------+---------------------------+
104
+ ```
105
+
106
+ * Our hosts are down, so it's not posible stablish connection.
107
+ * Let's see case-02 report to read details about test process:
108
+
109
+ ```
110
+ $ more var/learn-03-remote-hosts/case-02.txt
111
+
112
+ CONFIGURATION
113
+ +----------------+-----------------------+
114
+ | host1_hostname | robots |
115
+ | host1_ip | 192.168.1.202 |
116
+ | host1_password | profesor |
117
+ | host1_username | root |
118
+ | tt_members | R2D2 |
119
+ | tt_moodle_id | r2d2@robot.sw |
120
+ | tt_sequence | false |
121
+ | tt_skip | false |
122
+ | tt_testname | learn-03-remote-hosts |
123
+ | username | r2d2 |
124
+ +----------------+-----------------------+
125
+
126
+ LOGS
127
+ [17:35:50] ERROR: Host 192.168.1.202 unreachable!
128
+
129
+ GROUPS
130
+ - learn 03 remote hosts
131
+ 01 (0.0/1.0)
132
+ Description : Update hostname with robots (host1_hostname)
133
+ Command : hostname
134
+ Duration : 3.078 (ssh)
135
+ Alterations : find(robots) & count
136
+ Expected : 1 (String)
137
+ Result : 0 (Integer)
138
+ 02 (0.0/1.0)
139
+ Description : Ensure network DNS configuration is working
140
+ Command : nslookup www.google.es
141
+ Duration : 0.0 (ssh)
142
+ Alterations : find(Nombre:) & count
143
+ Expected : Greater than 0 (String)
144
+ Result : 0 (Integer)
145
+ 03 (0.0/1.0)
146
+ Description : Create user r2d2 (username)
147
+ Command : net user
148
+ Duration : 0.0 (ssh)
149
+ Alterations : find(r2d2) & count
150
+ Expected : Greater than 0 (String)
151
+ Result : 0 (Integer)
152
+
153
+ RESULTS
154
+ +--------------+---------------------------+
155
+ | case_id | 2 |
156
+ | start_time_ | 2019-11-06 17:35:46 +0000 |
157
+ | finish_time | 2019-11-06 17:35:50 +0000 |
158
+ | duration | 3.078811848 |
159
+ | unique_fault | 0 |
160
+ | max_weight | 3.0 |
161
+ | good_weight | 0.0 |
162
+ | fail_weight | 3.0 |
163
+ | fail_counter | 3 |
164
+ | grade | 0 |
165
+ +--------------+---------------------------+
166
+ ```
167
+
168
+ * Final grade is 0, because tests hasn't been verified.
@@ -0,0 +1,13 @@
1
+
2
+ By now there are no English videos. We are sorry!
3
+ But if you want to see Spanish videos, here you are:
4
+
5
+ Teuton (v2.0):
6
+ * [CHAPI19 - Charla Teuton](https://youtu.be/KFWQDfNAFxI?t=12221)
7
+
8
+ Sysadmingame (Teuton v1.0)
9
+ * [Sysadmingame (1 de 3): Instalación del programa](https://youtu.be/dnyMq9_KDco)
10
+ * [Sysadmingame (2 de 3): Crear un caso simple](https://youtu.be/0e2g5Izvc6c)
11
+ * [Sysadmingame (3 de 3): Crear un caso complejo](https://youtu.be/ebEK6OXH8kQ)
12
+ * [CHAPI16 - Charla sysadmingame](https://youtu.be/cNJaB5xzHHQ)
13
+
@@ -4,7 +4,7 @@ require 'singleton'
4
4
  class Application
5
5
  include Singleton
6
6
 
7
- VERSION = '2.1.1' # Application version
7
+ VERSION = '2.1.2' # Application version
8
8
  NAME = 'teuton' # Application name
9
9
 
10
10
  attr_reader :letter
@@ -17,6 +17,9 @@ class TeutonCommand < Thor
17
17
  By default lang=es, but It's available lang=en too.
18
18
 
19
19
  LONGDESC
20
+ ##
21
+ # Create README from teuton test
22
+ # @param path_to_rb_file [String] Route to main rb Teuton file
20
23
  def readme(path_to_rb_file)
21
24
  Project.readme(path_to_rb_file, options)
22
25
  end
@@ -29,6 +29,9 @@ class TeutonCommand < Thor
29
29
  , Test content of foo.rb and demo.yaml files.
30
30
 
31
31
  LONGDESC
32
+ ##
33
+ # Verify or test Teuton test units syntax
34
+ # @param path_to_rb_file [String] Route to main rb Teuton file
32
35
  def test(path_to_rb_file)
33
36
  Project.test(path_to_rb_file, options)
34
37
  end
@@ -20,11 +20,11 @@ class TeutonCommand < Thor
20
20
  map ['c', '-c', '--create'] => 'create'
21
21
  desc 'create DIRECTORY', 'Create skeleton for a new project'
22
22
  long_desc <<-LONGDESC
23
- Create files for a new project: foo.rb, foo.yaml and .gitignore
23
+ Create files for a new project.
24
24
 
25
25
  Example:
26
26
 
27
- #{$PROGRAM_NAME} create foo/demo
27
+ #{$PROGRAM_NAME} create dir/foo
28
28
  LONGDESC
29
29
  ##
30
30
  # Command create new Teuton project
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.1.1
4
+ version: 2.1.2
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: 2019-11-23 00:00:00.000000000 Z
11
+ date: 2020-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json_pure
@@ -151,11 +151,97 @@ executables:
151
151
  extensions: []
152
152
  extra_rdoc_files:
153
153
  - README.md
154
- - docs/logo.png
154
+ - docs/learn/example-03-remote-hosts.md
155
+ - docs/learn/example-05-debug.md
156
+ - docs/learn/example-11-first-test.md
157
+ - docs/learn/videos.md
158
+ - docs/learn/learning.md
159
+ - docs/learn/example-02-configfile.md
160
+ - docs/learn/example-04-use.md
161
+ - docs/learn/quick-demo.md
162
+ - docs/learn/example-01-target.md
163
+ - docs/changelog/v2.1.md
164
+ - docs/changelog/todo.md
165
+ - docs/changelog/servidor-de-retos.md
166
+ - docs/changelog/v2.0.md
167
+ - docs/commands/show_version.md
168
+ - docs/commands/help.md
169
+ - docs/commands/revise_test.md
170
+ - docs/commands/create_skeleton.md
171
+ - docs/commands/commands.md
172
+ - docs/commands/run_test_unit.md
173
+ - docs/dsl/definition/run.md
174
+ - docs/dsl/definition/goto.md
175
+ - docs/dsl/definition/result.md
176
+ - docs/dsl/definition/target.md
177
+ - docs/dsl/definition/group.md
178
+ - docs/dsl/definition/expect.md
179
+ - docs/dsl/keywords.md
180
+ - docs/dsl/execution/export.md
181
+ - docs/dsl/execution/play.md
182
+ - docs/dsl/execution/send.md
183
+ - docs/dsl/execution/show.md
184
+ - docs/dsl/_Sidebar.md
185
+ - docs/dsl/setting/set.md
186
+ - docs/dsl/setting/get.md
187
+ - docs/Challenge-Server-Project.md
188
+ - docs/developers/comparative.md
189
+ - docs/developers/03-encoding.md
190
+ - docs/developers/01-telnet.md
191
+ - docs/developers/02-ssh.md
192
+ - docs/install/modes_of_use.md
193
+ - docs/install/tested_od.md
194
+ - docs/install/vagrant_install.md
195
+ - docs/install/scripts_install.md
196
+ - docs/install/manual_install.md
197
+ - docs/install/install.md
155
198
  files:
156
199
  - README.md
157
200
  - bin/teuton
158
- - docs/logo.png
201
+ - docs/Challenge-Server-Project.md
202
+ - docs/changelog/servidor-de-retos.md
203
+ - docs/changelog/todo.md
204
+ - docs/changelog/v2.0.md
205
+ - docs/changelog/v2.1.md
206
+ - docs/commands/commands.md
207
+ - docs/commands/create_skeleton.md
208
+ - docs/commands/help.md
209
+ - docs/commands/revise_test.md
210
+ - docs/commands/run_test_unit.md
211
+ - docs/commands/show_version.md
212
+ - docs/developers/01-telnet.md
213
+ - docs/developers/02-ssh.md
214
+ - docs/developers/03-encoding.md
215
+ - docs/developers/comparative.md
216
+ - docs/dsl/_Sidebar.md
217
+ - docs/dsl/definition/expect.md
218
+ - docs/dsl/definition/goto.md
219
+ - docs/dsl/definition/group.md
220
+ - docs/dsl/definition/result.md
221
+ - docs/dsl/definition/run.md
222
+ - docs/dsl/definition/target.md
223
+ - docs/dsl/execution/export.md
224
+ - docs/dsl/execution/play.md
225
+ - docs/dsl/execution/send.md
226
+ - docs/dsl/execution/show.md
227
+ - docs/dsl/keywords.md
228
+ - docs/dsl/setting/get.md
229
+ - docs/dsl/setting/set.md
230
+ - docs/install/install.md
231
+ - docs/install/manual_install.md
232
+ - docs/install/modes_of_use.md
233
+ - docs/install/scripts_install.md
234
+ - docs/install/tested_od.md
235
+ - docs/install/vagrant_install.md
236
+ - docs/learn/example-01-target.md
237
+ - docs/learn/example-02-configfile.md
238
+ - docs/learn/example-03-remote-hosts.md
239
+ - docs/learn/example-04-use.md
240
+ - docs/learn/example-05-debug.md
241
+ - docs/learn/example-11-first-test.md
242
+ - docs/learn/learning.md
243
+ - docs/learn/quick-demo.md
244
+ - docs/learn/videos.md
159
245
  - lib/teuton.rb
160
246
  - lib/teuton/application.rb
161
247
  - lib/teuton/case_manager/case/builtin/main.rb
@@ -252,7 +338,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
252
338
  - !ruby/object:Gem::Version
253
339
  version: '0'
254
340
  requirements: []
255
- rubygems_version: 3.0.3
341
+ rubygems_version: 3.1.2
256
342
  signing_key:
257
343
  specification_version: 4
258
344
  summary: Teuton (Teuton Software)
data/docs/logo.png DELETED
Binary file