teuton 2.1.1 → 2.1.2

Sign up to get free protection for your applications and to get access to all the features.
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