teuton 2.7.3 → 2.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -4
  3. data/docs/changelog/changelog.1.md +119 -0
  4. data/docs/changelog/changelog.2.md +105 -0
  5. data/docs/diagram.md +10 -10
  6. data/docs/dsl/expect.md +76 -23
  7. data/docs/dsl/export.md +6 -3
  8. data/docs/dsl/result.md +24 -30
  9. data/docs/dsl/send.md +34 -23
  10. data/docs/learn/02-target.md +32 -27
  11. data/docs/learn/13-feedback.md +8 -9
  12. data/docs/learn/25-expect-result.md +39 -0
  13. data/docs/learn/26-expect_sequence.md +79 -0
  14. data/docs/learn/27-run_script.md +91 -0
  15. data/docs/learn/28-upload.md +55 -0
  16. data/docs/learn/README.md +4 -15
  17. data/docs/videos.md +14 -8
  18. data/lib/teuton/case/case.rb +3 -3
  19. data/lib/teuton/case/config.rb +0 -5
  20. data/lib/teuton/case/dsl/all.rb +5 -1
  21. data/lib/teuton/case/dsl/expect.rb +20 -33
  22. data/lib/teuton/case/dsl/expect_exitcode.rb +31 -0
  23. data/lib/teuton/case/dsl/expect_sequence.rb +173 -0
  24. data/lib/teuton/case/dsl/getset.rb +0 -1
  25. data/lib/teuton/case/dsl/host.rb +5 -0
  26. data/lib/teuton/case/dsl/macro.rb +7 -4
  27. data/lib/teuton/case/dsl/run_script.rb +35 -0
  28. data/lib/teuton/case/dsl/send.rb +3 -3
  29. data/lib/teuton/case/dsl/upload.rb +42 -0
  30. data/lib/teuton/case/dsl/weight.rb +12 -0
  31. data/lib/teuton/case/execute/execute_ssh.rb +11 -7
  32. data/lib/teuton/case/host.rb +68 -0
  33. data/lib/teuton/case/play.rb +2 -6
  34. data/lib/teuton/{utils → case}/result/ext_array.rb +0 -1
  35. data/lib/teuton/{utils → case}/result/ext_compare.rb +0 -1
  36. data/lib/teuton/{utils → case}/result/ext_filter.rb +0 -2
  37. data/lib/teuton/{utils → case}/result/result.rb +13 -21
  38. data/lib/teuton/check/checker.rb +82 -0
  39. data/lib/teuton/check/dsl/all.rb +37 -0
  40. data/lib/teuton/check/{builtin.rb → dsl/builtin.rb} +1 -3
  41. data/lib/teuton/check/dsl/expect.rb +90 -0
  42. data/lib/teuton/check/dsl/expect_sequence.rb +29 -0
  43. data/lib/teuton/check/dsl/getset.rb +23 -0
  44. data/lib/teuton/check/dsl/run.rb +35 -0
  45. data/lib/teuton/check/main.rb +29 -0
  46. data/lib/teuton/check/show.rb +75 -100
  47. data/lib/teuton/{utils → deprecated}/application.rb +0 -6
  48. data/lib/teuton/deprecated/application_test.rb +32 -0
  49. data/lib/teuton/readme/dsl/all.rb +32 -0
  50. data/lib/teuton/readme/dsl/expect.rb +29 -0
  51. data/lib/teuton/readme/dsl/getset.rb +33 -0
  52. data/lib/teuton/readme/dsl/run.rb +51 -0
  53. data/lib/teuton/readme/lang.rb +8 -10
  54. data/lib/teuton/readme/main.rb +27 -0
  55. data/lib/teuton/readme/readme.rb +31 -58
  56. data/lib/teuton/readme/result.rb +7 -0
  57. data/lib/teuton/report/formatter/default/txt.rb +2 -2
  58. data/lib/teuton/utils/configfile_reader.rb +8 -4
  59. data/lib/teuton/utils/logger.rb +32 -0
  60. data/lib/teuton/utils/verbose.rb +1 -1
  61. data/lib/teuton/version.rb +1 -1
  62. data/lib/teuton.rb +6 -5
  63. metadata +45 -37
  64. data/docs/CHANGELOG.md +0 -10
  65. data/docs/changelog/v2.0.md +0 -18
  66. data/docs/changelog/v2.1.md +0 -54
  67. data/docs/changelog/v2.2.md +0 -42
  68. data/docs/changelog/v2.3.md +0 -10
  69. data/docs/changelog/v2.4.md +0 -41
  70. data/docs/changelog/v2.5.md +0 -6
  71. data/docs/changelog/v2.6.md +0 -4
  72. data/docs/changelog/v2.7.md +0 -23
  73. data/docs/changelog/version2.1.md +0 -4
  74. data/docs/learn/videos.md +0 -13
  75. data/lib/teuton/case/execute/copy_ssh.rb +0 -70
  76. data/lib/teuton/check/dsl.rb +0 -112
  77. data/lib/teuton/check/laboratory.rb +0 -59
  78. data/lib/teuton/readme/dsl.rb +0 -126
  79. /data/lib/teuton/case/dsl/{goto.rb → run.rb} +0 -0
  80. /data/lib/teuton/{case/deprecated → deprecated}/runner.rb +0 -0
  81. /data/lib/teuton/{case/deprecated → deprecated}/utils.rb +0 -0
@@ -0,0 +1,27 @@
1
+ require_relative "../utils/project"
2
+ require_relative "readme"
3
+
4
+ def use(filename)
5
+ filename += ".rb"
6
+ rbfiles = File.join(Project.value[:project_path], "**", filename)
7
+ files = Dir.glob(rbfiles)
8
+ use = []
9
+ files.sort.each { |f| use << f if f.include?(filename) }
10
+ require_relative use[0]
11
+ Project.value[:uses] << use[0]
12
+ end
13
+
14
+ def define_macro(name, *args, &block)
15
+ Project.value[:macros][name] = {args: args, block: block}
16
+ end
17
+
18
+ def group(name, &block)
19
+ Project.value[:groups] << {name: name, block: block}
20
+ end
21
+ alias task group
22
+
23
+ def start(&block)
24
+ # don't do nothing
25
+ end
26
+ # alias_method "play", "start" # REVISE THIS
27
+ alias play start
@@ -1,44 +1,19 @@
1
+ require_relative "../utils/logger"
1
2
  require_relative "../utils/project"
2
3
  require_relative "../utils/configfile_reader"
3
- require_relative "../utils/result/result"
4
+ require_relative "../case/dsl/macro"
4
5
  require_relative "../version"
5
- require_relative "dsl"
6
+ require_relative "dsl/all"
6
7
  require_relative "lang"
7
-
8
- def use(filename)
9
- filename += ".rb"
10
- rbfiles = File.join(Project.value[:project_path], "**", filename)
11
- files = Dir.glob(rbfiles)
12
- use = []
13
- files.sort.each { |f| use << f if f.include?(filename) }
14
- require_relative use[0]
15
- Project.value[:uses] << use[0]
16
- end
17
-
18
- def define_macro(name, *args, &block)
19
- puts "macro: #{name}"
20
- Project.value[:macros][name] = {args: args, block: block}
21
- end
22
-
23
- def group(name, &block)
24
- Project.value[:groups] << {name: name, block: block}
25
- end
26
- alias task group
27
-
28
- def start(&block)
29
- # don't do nothing
30
- end
31
- # alias_method "play", "start" # REVISE THIS
32
- alias play start
8
+ require_relative "result"
33
9
 
34
10
  class Readme
35
- # Creates README.md file from RB script file
11
+ include DSL
12
+ include ReadmeDSL
36
13
  attr_reader :result
37
14
  attr_reader :data
38
15
 
39
16
  def initialize(script_path, config_path)
40
- # script_path Path to main rb file (start.rb)
41
- # config_path Path to main config file (config.yaml)
42
17
  @path = {}
43
18
  @path[:script] = script_path
44
19
  @path[:dirname] = File.dirname(script_path)
@@ -57,13 +32,11 @@ class Readme
57
32
  private
58
33
 
59
34
  def reset
60
- # app = Application.instance
61
35
  @config = ConfigFileReader.read(Project.value[:config_path])
62
36
  @verbose = Project.value[:verbose]
63
- @result = Result.new
37
+ @result = ReadmeResult.new
64
38
  @data = {}
65
39
  @data[:macros] = []
66
- @data[:logs] = []
67
40
  @data[:groups] = []
68
41
  @data[:play] = []
69
42
  reset_action
@@ -74,11 +47,11 @@ class Readme
74
47
  end
75
48
 
76
49
  def process_content
77
- Project.value[:groups].each do |g|
78
- @current = {name: g[:name], readme: [], actions: []}
50
+ Project.value[:groups].each do |group|
51
+ @current = {name: group[:name], readme: [], actions: []}
79
52
  @data[:groups] << @current
80
53
  reset_action
81
- instance_eval(&g[:block])
54
+ instance_eval(&group[:block])
82
55
  end
83
56
  end
84
57
 
@@ -88,12 +61,11 @@ class Readme
88
61
 
89
62
  def show_head
90
63
  puts "```"
91
- puts format(Lang.get(:testname), Project.value[:test_name])
92
64
  puts format(Lang.get(:date), Time.now)
93
65
  puts format(Lang.get(:version), Teuton::VERSION)
94
66
  puts "```"
95
67
  puts "\n"
96
- puts "# #{Project.value[:test_name]}\n"
68
+ puts "# Test: #{Project.value[:test_name]}\n"
97
69
 
98
70
  i = 1
99
71
  unless @required_hosts.empty?
@@ -114,7 +86,6 @@ class Readme
114
86
  @cases_params.sort!
115
87
  puts Lang.get(:params)
116
88
  @cases_params.uniq.each { |i| puts format("* %s", i) }
117
- puts "\n> NOTE: Save every 'param: value' into config file."
118
89
  end
119
90
  end
120
91
 
@@ -122,7 +93,7 @@ class Readme
122
93
  @data[:groups].each do |group|
123
94
  next if group[:actions].empty?
124
95
 
125
- puts "\n## #{group[:name].capitalize}\n\n"
96
+ puts "\n## #{group[:name].capitalize}\n"
126
97
  group[:readme].each { |line| puts "#{line}\n" }
127
98
  previous_host = nil
128
99
  group[:actions].each_with_index do |item, index|
@@ -133,10 +104,8 @@ class Readme
133
104
  previous_host = item[:host] || "null"
134
105
  puts format(Lang.get(:goto), previous_host.upcase)
135
106
  end
136
-
137
- weight = ""
138
- weight = "(x#{item[:weight]}) " if item[:weight].to_i != 1
139
- last = (item[:target].end_with?(".") ? "" : ".")
107
+ weight = "(x#{item[:weight]}) "
108
+ last = item[:target].end_with?(".", ":") ? "" : "."
140
109
  puts "* #{weight}#{item[:target]}#{last}"
141
110
  item[:readme].each { |line| puts " * #{line}\n" }
142
111
  end
@@ -144,21 +113,25 @@ class Readme
144
113
  end
145
114
 
146
115
  def show_tail
147
- return if @global_params.empty?
116
+ return if (@global_params.size + @setted_params.size).zero?
148
117
 
149
118
  puts "\n---"
150
119
  puts "# ANEXO"
151
- puts "\n## Global params"
152
- puts Lang.get(:global)
153
- puts "\n"
154
- puts "| Global param | Value |"
155
- puts "| --- | --- |"
156
- @global_params.each_pair { |k, v| puts "|#{k}|#{v}|" }
157
- puts "\n## Created params"
158
- puts Lang.get(:created)
159
- puts "\n"
160
- puts "| Created params | Value |"
161
- puts "| --- | --- |"
162
- @setted_params.each_pair { |k, v| puts "|#{k}|#{v}|" }
120
+ puts "\n## Params"
121
+
122
+ if @global_params.size.positive?
123
+ puts Lang.get(:global_params)
124
+ puts "\n"
125
+ puts "| Param | Value |"
126
+ puts "| --- | --- |"
127
+ @global_params.each_pair { |k, v| puts "|#{k}|#{v}|" }
128
+ end
129
+ if @setted_params.size.positive?
130
+ puts Lang.get(:created_params)
131
+ puts "\n"
132
+ puts "| Param | Value |"
133
+ puts "| --- | --- |"
134
+ @setted_params.each_pair { |k, v| puts "|#{k}|#{v}|" }
135
+ end
163
136
  end
164
137
  end
@@ -0,0 +1,7 @@
1
+ require_relative "../case/result/result"
2
+
3
+ class ReadmeResult < Result
4
+ def debug
5
+ # Nothing to do
6
+ end
7
+ end
@@ -94,8 +94,8 @@ class TXTFormatter < ArrayFormatter
94
94
  w "#{tab * 4}Output : #{i[:output]}\n"
95
95
  w "#{tab * 4}Duration : #{i[:duration]} (#{i[:conn_type]})\n"
96
96
  w "#{tab * 4}Alterations : #{i[:alterations]}\n"
97
- w "#{tab * 4}Expected : #{i[:expected]} (#{i[:expected].class})\n"
98
- w "#{tab * 4}Result : #{i[:result]} (#{i[:result].class})\n"
97
+ w "#{tab * 4}Expected : #{i[:expected]}\n"
98
+ w "#{tab * 4}Result : #{i[:result]}\n"
99
99
  end
100
100
  end
101
101
  end
@@ -30,11 +30,15 @@ module ConfigFileReader
30
30
  def self.read_yaml(filepath)
31
31
  begin
32
32
  data = YAML.load(File.open(filepath))
33
+ # data = YAML.safe_load(
34
+ # File.open(filepath),
35
+ # permitted_classes: [Array, Date, Hash, Symbol]
36
+ # )
33
37
  rescue => e
34
- $stderr.puts "\n" + ("=" * 80)
35
- $stderr.puts "[ERROR] ConfigFileReader#read <#{filepath}>"
36
- $stderr.puts " I suggest to revise file format!"
37
- $stderr.puts " #{e.message}\n" + ("=" * 80)
38
+ warn "\n" + ("=" * 80)
39
+ warn "[ERROR] ConfigFileReader#read <#{filepath}>"
40
+ warn " I suggest to revise file format!"
41
+ warn " #{e.message}\n" + ("=" * 80)
38
42
  exit 1
39
43
  end
40
44
  data = convert_string_keys_to_symbol(data)
@@ -0,0 +1,32 @@
1
+ require "rainbow"
2
+
3
+ class Logger
4
+ @verbose = true
5
+
6
+ def self.verbose=(value)
7
+ @verbose = value
8
+ end
9
+
10
+ def self.verbose
11
+ @verbose
12
+ end
13
+
14
+ def self.info(message)
15
+ puts message if @verbose
16
+ end
17
+
18
+ def self.warn(message)
19
+ text = Rainbow(message).bright.yellow
20
+ info(text)
21
+ end
22
+
23
+ def self.error(message)
24
+ text = Rainbow(message).bright.red
25
+ info(text)
26
+ end
27
+
28
+ def self.debug(message)
29
+ text = Rainbow(message).white
30
+ info(text)
31
+ end
32
+ end
@@ -2,7 +2,7 @@ require_relative "project"
2
2
 
3
3
  module Verbose
4
4
  def verboseln(text)
5
- verbose(text + "\n")
5
+ verbose(text.to_s + "\n")
6
6
  end
7
7
 
8
8
  def verbose(text)
@@ -1,5 +1,5 @@
1
1
  module Teuton
2
- VERSION = "2.7.3"
2
+ VERSION = "2.9.0"
3
3
  APPNAME = "teuton"
4
4
  GEMNAME = "teuton"
5
5
  DOCKERNAME = "dvarrui/#{GEMNAME}"
data/lib/teuton.rb CHANGED
@@ -8,15 +8,16 @@ module Teuton
8
8
 
9
9
  def self.check(projectpath, options = {})
10
10
  Project.add_input_params(projectpath, options)
11
- require_dsl_and_script("teuton/check/laboratory") # Define DSL
12
- lab = Laboratory.new(
11
+ require_dsl_and_script("teuton/check/main")
12
+ require_relative "teuton/check/checker"
13
+ checker = Checker.new(
13
14
  Project.value[:script_path],
14
15
  Project.value[:config_path]
15
16
  )
16
17
  if options["onlyconfig"]
17
- lab.show_onlyconfig
18
+ checker.show_onlyconfig
18
19
  else
19
- lab.show
20
+ checker.show
20
21
  end
21
22
  end
22
23
 
@@ -28,7 +29,7 @@ module Teuton
28
29
 
29
30
  def self.readme(projectpath, options = {})
30
31
  Project.add_input_params(projectpath, options)
31
- require_dsl_and_script("teuton/readme/readme") # Define DSL
32
+ require_dsl_and_script("teuton/readme/main") # Define DSL
32
33
  readme = Readme.new(
33
34
  Project.value[:script_path],
34
35
  Project.value[:config_path]
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.7.3
4
+ version: 2.9.0
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: 2023-06-07 00:00:00.000000000 Z
11
+ date: 2023-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rainbow
@@ -124,17 +124,9 @@ extensions: []
124
124
  extra_rdoc_files:
125
125
  - README.md
126
126
  - LICENSE
127
- - docs/CHANGELOG.md
127
+ - docs/changelog/changelog.1.md
128
+ - docs/changelog/changelog.2.md
128
129
  - docs/changelog/todo.md
129
- - docs/changelog/v2.0.md
130
- - docs/changelog/v2.1.md
131
- - docs/changelog/v2.2.md
132
- - docs/changelog/v2.3.md
133
- - docs/changelog/v2.4.md
134
- - docs/changelog/v2.5.md
135
- - docs/changelog/v2.6.md
136
- - docs/changelog/v2.7.md
137
- - docs/changelog/version2.1.md
138
130
  - docs/commands/README.md
139
131
  - docs/commands/example_check.md
140
132
  - docs/commands/example_run.md
@@ -187,24 +179,19 @@ extra_rdoc_files:
187
179
  - docs/learn/22-result.md
188
180
  - docs/learn/23-test-code.md
189
181
  - docs/learn/24-test-sql.md
182
+ - docs/learn/25-expect-result.md
183
+ - docs/learn/26-expect_sequence.md
184
+ - docs/learn/27-run_script.md
185
+ - docs/learn/28-upload.md
190
186
  - docs/learn/README.md
191
- - docs/learn/videos.md
192
187
  - docs/videos.md
193
188
  files:
194
189
  - LICENSE
195
190
  - README.md
196
191
  - bin/teuton
197
- - docs/CHANGELOG.md
192
+ - docs/changelog/changelog.1.md
193
+ - docs/changelog/changelog.2.md
198
194
  - docs/changelog/todo.md
199
- - docs/changelog/v2.0.md
200
- - docs/changelog/v2.1.md
201
- - docs/changelog/v2.2.md
202
- - docs/changelog/v2.3.md
203
- - docs/changelog/v2.4.md
204
- - docs/changelog/v2.5.md
205
- - docs/changelog/v2.6.md
206
- - docs/changelog/v2.7.md
207
- - docs/changelog/version2.1.md
208
195
  - docs/commands/README.md
209
196
  - docs/commands/example_check.md
210
197
  - docs/commands/example_run.md
@@ -257,8 +244,11 @@ files:
257
244
  - docs/learn/22-result.md
258
245
  - docs/learn/23-test-code.md
259
246
  - docs/learn/24-test-sql.md
247
+ - docs/learn/25-expect-result.md
248
+ - docs/learn/26-expect_sequence.md
249
+ - docs/learn/27-run_script.md
250
+ - docs/learn/28-upload.md
260
251
  - docs/learn/README.md
261
- - docs/learn/videos.md
262
252
  - docs/videos.md
263
253
  - lib/teuton.rb
264
254
  - lib/teuton/case/builtin/main.rb
@@ -270,24 +260,32 @@ files:
270
260
  - lib/teuton/case/case.rb
271
261
  - lib/teuton/case/close.rb
272
262
  - lib/teuton/case/config.rb
273
- - lib/teuton/case/deprecated/runner.rb
274
- - lib/teuton/case/deprecated/utils.rb
275
263
  - lib/teuton/case/dsl/all.rb
276
264
  - lib/teuton/case/dsl/expect.rb
265
+ - lib/teuton/case/dsl/expect_exitcode.rb
266
+ - lib/teuton/case/dsl/expect_sequence.rb
277
267
  - lib/teuton/case/dsl/getset.rb
278
- - lib/teuton/case/dsl/goto.rb
268
+ - lib/teuton/case/dsl/host.rb
279
269
  - lib/teuton/case/dsl/log.rb
280
270
  - lib/teuton/case/dsl/macro.rb
271
+ - lib/teuton/case/dsl/run.rb
272
+ - lib/teuton/case/dsl/run_script.rb
281
273
  - lib/teuton/case/dsl/send.rb
282
274
  - lib/teuton/case/dsl/target.rb
283
275
  - lib/teuton/case/dsl/unique.rb
284
- - lib/teuton/case/execute/copy_ssh.rb
276
+ - lib/teuton/case/dsl/upload.rb
277
+ - lib/teuton/case/dsl/weight.rb
285
278
  - lib/teuton/case/execute/execute_base.rb
286
279
  - lib/teuton/case/execute/execute_local.rb
287
280
  - lib/teuton/case/execute/execute_manager.rb
288
281
  - lib/teuton/case/execute/execute_ssh.rb
289
282
  - lib/teuton/case/execute/execute_telnet.rb
283
+ - lib/teuton/case/host.rb
290
284
  - lib/teuton/case/play.rb
285
+ - lib/teuton/case/result/ext_array.rb
286
+ - lib/teuton/case/result/ext_compare.rb
287
+ - lib/teuton/case/result/ext_filter.rb
288
+ - lib/teuton/case/result/result.rb
291
289
  - lib/teuton/case_manager/case_manager.rb
292
290
  - lib/teuton/case_manager/check_cases.rb
293
291
  - lib/teuton/case_manager/dsl.rb
@@ -297,19 +295,33 @@ files:
297
295
  - lib/teuton/case_manager/send_manager.rb
298
296
  - lib/teuton/case_manager/show_report.rb
299
297
  - lib/teuton/case_manager/utils.rb
300
- - lib/teuton/check/builtin.rb
301
- - lib/teuton/check/dsl.rb
302
- - lib/teuton/check/laboratory.rb
298
+ - lib/teuton/check/checker.rb
299
+ - lib/teuton/check/dsl/all.rb
300
+ - lib/teuton/check/dsl/builtin.rb
301
+ - lib/teuton/check/dsl/expect.rb
302
+ - lib/teuton/check/dsl/expect_sequence.rb
303
+ - lib/teuton/check/dsl/getset.rb
304
+ - lib/teuton/check/dsl/run.rb
305
+ - lib/teuton/check/main.rb
303
306
  - lib/teuton/check/show.rb
304
307
  - lib/teuton/cli.rb
308
+ - lib/teuton/deprecated/application.rb
309
+ - lib/teuton/deprecated/application_test.rb
310
+ - lib/teuton/deprecated/runner.rb
311
+ - lib/teuton/deprecated/utils.rb
305
312
  - lib/teuton/files/README.md
306
313
  - lib/teuton/files/config.yaml
307
314
  - lib/teuton/files/start.rb
308
315
  - lib/teuton/files/template/case.html
309
316
  - lib/teuton/files/template/resume.html
310
- - lib/teuton/readme/dsl.rb
317
+ - lib/teuton/readme/dsl/all.rb
318
+ - lib/teuton/readme/dsl/expect.rb
319
+ - lib/teuton/readme/dsl/getset.rb
320
+ - lib/teuton/readme/dsl/run.rb
311
321
  - lib/teuton/readme/lang.rb
322
+ - lib/teuton/readme/main.rb
312
323
  - lib/teuton/readme/readme.rb
324
+ - lib/teuton/readme/result.rb
313
325
  - lib/teuton/report/formatter/base_formatter.rb
314
326
  - lib/teuton/report/formatter/default/array.rb
315
327
  - lib/teuton/report/formatter/default/colored_text.rb
@@ -328,14 +340,10 @@ files:
328
340
  - lib/teuton/report/formatter/resume/yaml.rb
329
341
  - lib/teuton/report/report.rb
330
342
  - lib/teuton/skeleton.rb
331
- - lib/teuton/utils/application.rb
332
343
  - lib/teuton/utils/configfile_reader.rb
344
+ - lib/teuton/utils/logger.rb
333
345
  - lib/teuton/utils/name_file_finder.rb
334
346
  - lib/teuton/utils/project.rb
335
- - lib/teuton/utils/result/ext_array.rb
336
- - lib/teuton/utils/result/ext_compare.rb
337
- - lib/teuton/utils/result/ext_filter.rb
338
- - lib/teuton/utils/result/result.rb
339
347
  - lib/teuton/utils/settings.rb
340
348
  - lib/teuton/utils/verbose.rb
341
349
  - lib/teuton/version.rb
data/docs/CHANGELOG.md DELETED
@@ -1,10 +0,0 @@
1
- [<< back](../README.md)
2
-
3
- # Changelog
4
-
5
- * [version 2.5](changelog/v2.5.md)
6
- * [version 2.4](changelog/v2.4.md)
7
- * [version 2.3](changelog/v2.3.md)
8
- * [version 2.2](changelog/v2.2.md)
9
- * [version 2.1](changelog/v2.1.md)
10
- * [version 2.0](changelog/v2.0.md)
@@ -1,18 +0,0 @@
1
- [<< back](../CHANGELOG.md)
2
-
3
- # CHANGELOG
4
-
5
- ## 2019
6
-
7
- |Date |Version |Changes |
8
- |--------- |------- |------- |
9
- | August 2019 | 2.0.4 | TEUTON project grew up and was divided into the folowing repositories: teuton, challenges, panel, resources and vagrant. Documentation has been moved into respository teuton wiki. Only maintain English docs. |
10
- |January 2019 |1.10.0 | SysadminGame change his name by TEUTON. "project" command replaced by "teuton". Challenges (Teuton scripts) moved to "teuton-challenges" github repository. Execute "rake get_challenges" to get sample teuton challenges |
11
-
12
- ## 2017
13
-
14
- |Date |Version |Changes |
15
- |--------- |------- |------- |
16
- |July 2017 |1.0.0 | New stable version |
17
- |June 2017 |0.22.1 | * Now it's posible to use config files with YAML and JSON format |
18
- | | | * Preparing migration of CLI command to use Thor gem |
@@ -1,54 +0,0 @@
1
- [<< back](../CHANGELOG.md)
2
-
3
- # CHANGELOG teuton v 2.1
4
-
5
- # 1. Export grades on csv file using Moodle format
6
-
7
- * Automaticaly exports `moodle.csv` file with all cases grades, using adecuate format so it could be imported directly into Moodle platform.
8
- * We need to configure some params like this:
9
-
10
- ```
11
- ---
12
- :global:
13
- :cases:
14
- - :tt_members: ...
15
- :tt_moodle_id: User Moodle Identity
16
- ```
17
-
18
- # 2. readme keyword
19
-
20
- We currently use the "teuton readme pry-folder" command to export README file from the challenge.
21
-
22
- * This example shows how to use readme keyword to add group description or target description:
23
-
24
- ```
25
- group "GROUPNAME" do
26
- readme "Description for this group"
27
-
28
- target "target1"
29
- readme "Description for this target"
30
- goto :host, :exec => 'id root'
31
- expec_one 'root'
32
- ```
33
-
34
- # 3. Installation process
35
-
36
- * Use Bundler to install gems instead of rake.
37
- * It will be usefull use sysadming-game as gem? And install it with `gem install teuton`.
38
- * Vagrant: test how to use vagrant machines as case hosts.
39
-
40
- # 4. Info sobre novedades de la versión 2.1
41
-
42
- 1. Teuton readme y dsl readme
43
- 2. Macros de define macro
44
- 3. Export yaml y html
45
- 4. Teuton --no-color
46
- 5. teuton run --case
47
- 6. teuton run --cname
48
- 7. teuton run --cpath
49
- 8. actualizar formatos de salida
50
- 9. instalación mediante gemas
51
- 10. teuton panel
52
- 11. teuton client y server
53
- 12. nuevos nombres de comandos...
54
- 13. cambio de goto a run
@@ -1,42 +0,0 @@
1
- [<< back](../CHANGELOG.md)
2
-
3
- # Teuton (version 2.2)
4
-
5
- ## New features
6
-
7
- * Let's see new features examples:
8
- * 10 result and moodle_id
9
- * 11 get_vars
10
- * 12 alias
11
- * 13 include (tt_include config param)
12
- * 14 macros
13
-
14
- **Configuration file**
15
-
16
- * Por defecto los valores de clave de los ficheros de configuración serán Strings en lugar de símbolos, aunque lo símbolos seguirán funcionando.
17
-
18
- **get_vars: To think - We are not sure about this***
19
-
20
- * "get" keyword simplification: Simplify getting and setting params process. For example: `_username_`, may be alias for `get(:username)`. Then
21
-
22
- ```
23
- target "Create user #{_username_}"
24
- run "id #{_username_}"
25
- expect_one _username_
26
- ```
27
- Same as
28
-
29
- ```
30
- target "Create user "+get(:username)
31
- run "id " + get(:username)
32
- expect_one get(:username)
33
- ```
34
-
35
- * Promocinar el proyecto:
36
- * Documentar y hacer videos.
37
- * Charlas y talleres
38
-
39
- ## Fixed
40
-
41
- * Solucionar fallo en --cname
42
- * Revisar doc options como cpanel
@@ -1,10 +0,0 @@
1
-
2
- ## [2.3.11]
3
-
4
- - Issue #18
5
-
6
- ## [2.3.9]
7
-
8
- Bug fixed:
9
- - Remove warnings from linter
10
- - Remove warning about thor gem version. Upgrade gem to 1.2
@@ -1,41 +0,0 @@
1
- ## [2.4.5]
2
-
3
- -- FIX: "expect_nothing" was always TRUE when SSH/Telnet connections fails!
4
- Now when SSH/Telnet connections fails result contains "SSH: NO CONNECTION!"
5
- So "expect_nothing" will fail.
6
-
7
- ## [2.4.4]
8
-
9
- -- Modify: teuton check output colors and exit codes.
10
- exit code 0 = check OK
11
- exit code 1 = check error
12
- -- Fix teuton check docs.
13
-
14
- ## [2.4.3]
15
-
16
- - Fix: "expect_none" without params works as "expect result.count.eq 0"
17
- - Add: "expect_nothing" that works as "expect result.count.eq 0".
18
-
19
- ## [2.4.2]
20
-
21
- - Fix bug with result.grep_v(Array)
22
-
23
- ## [2.4.0]
24
-
25
- New features:
26
- - Hide feedback from reports: `export feedback: false`
27
- - Add new DSL keyword: expect_last, expect_fisrt
28
- - Remove os gem.
29
- - Change test output colors to green as use others test tools.
30
- - Change show DSL params. Accepts one param "verbose: NUMBER" to adjust verbosity output level on screen.
31
-
32
- New doc and example:
33
- - 14-alias
34
- - 16-exit_codes
35
-
36
- Bug fixed:
37
- - All "expect*" keywords must require 2 arguments. The second is optional.
38
-
39
- Revise
40
- - Remove colors to log text
41
- - teuton readme: macros, getvars, expect_last, expect_first
@@ -1,6 +0,0 @@
1
-
2
- ## [2.5.0]
3
-
4
- - ADD: "tt_moodle_max_score" global configuration param. Teuton grades (0-100) are divided by this value when exporting data into "moodle.csv" output file.
5
- - UPDATE: Revise documentation. Doc learn 10,11, 12,13 y 14. 10 result and moodle_id, 12 alias, 13 include, 14 macro, Doc tt_include
6
- - UPDATE: Internal changes. Remove Colorize gem and replace with Rainbow.
@@ -1,4 +0,0 @@
1
-
2
- ## [2.6.0]
3
-
4
- - [ADD] When running local or SSH commands, stdout and stderr are captured and readed by "expect" sentence.