teuton 2.3.3 → 2.3.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d2930c8d766aa4cf5f96346d4e411a38768efc0a359079652ba4e82cd1d0171f
4
- data.tar.gz: faa75db9d11bf94694bda0d490fb3be350286a7603f16d77a7d62b44de19d676
3
+ metadata.gz: a57c245ece6497c75d1132e50cfaa722be5fae7df918ffa8b0af4e109f600cee
4
+ data.tar.gz: 8159ac8b86278ada1e0fac691d91b37d146cb5c336ec2f4babe729d8150063ae
5
5
  SHA512:
6
- metadata.gz: 177d70f2ab7e8dff9362da009c2b88f31e6fbaf44fd1cdb8e0ba03fa8a742d81fb6e8a1309db1c8860cf5a5348532d5f26ee8cf7b379fe14daee5a1ab1b5b971
7
- data.tar.gz: 8b817fc56f854181418b55d619f2e279def688b03d7fbd21e0e85dacc45b0ef6b58aa8eef500b45946feab4ebb8f3e00be0661d9503b931767a26f6ff6c38d0a
6
+ metadata.gz: 28594d840fe733c4fbc0d28b6d81610ccea3011c5d8713ac279b85280ece74b74f37670125edab21eae0a1f93c740a882784757c81c792a2327336f03c995233
7
+ data.tar.gz: 7f19810c16c1d3ad78b41de32a2b3a6f85dbff280972b9f6193d5b4ab86f470662357c7a29d2f5ae310246b7b6c3dfec3da95f2aab927c6f10e775bed8e0cb77
data/README.md CHANGED
@@ -27,7 +27,7 @@ Teuton allow us:
27
27
  * [Videos, blogs, news](docs/videos.md)
28
28
  * [Learning](docs/learn/README.md)
29
29
  * [Commands](docs/commands/README.md)
30
- * [Teuton language](docs/dsl/README.md)
30
+ * [Language reference](docs/dsl/README.md)
31
31
 
32
32
  # Features
33
33
 
@@ -20,7 +20,7 @@ end
20
20
 
21
21
  * `send` instruction must be execute after `export`. Reports must be generated before send them, of course.
22
22
  * `host1`, it' the label that identified remote host. This information must be configured into config file.
23
- * `send :copy_to => :host1`, copy every case resport file into temp directory on remote host `host1`.
23
+ * `send copy_to: :host1`, copy every case resport file into temp directory on remote host `host1`.
24
24
 
25
25
  ## Example
26
26
 
@@ -38,8 +38,8 @@ Example 2: send report file to remote "./Desktop" folder.
38
38
 
39
39
  | Action | Description |
40
40
  | ------ | ----------- |
41
- | `send :copy_to => :host1, :remote_dir => "/home/david"` | Reports will be saved into "/home/david" directory in remote machine `host1`. |
42
- | `send :copy_to => :host1, :prefix => "samba_"` | Case report will be save into temp directory on every host `host1`, named as `samba_case-XX.txt`. |
41
+ | `send copy_to: :host1, remote_dir: "/home/david"` | Reports will be saved into "/home/david" directory in remote machine `host1`. |
42
+ | `send copy_to: :host1, prefix: "samba_"` | Case report will be save into temp directory on every host `host1`, named as `samba_case-XX.txt`. |
43
43
 
44
44
  > Teuton version 2.0.x
45
45
  > * By default, `send` only works when remote OS type is UNIX base, like GNU/Linux, MACOS, BSD, etc.
@@ -49,14 +49,14 @@ Example 2: send report file to remote "./Desktop" folder.
49
49
 
50
50
  If you export several files using differents output formats, you will use several `export` orders. Then when invoke `send` order, this will send the last exported file.
51
51
 
52
- In this example we export json and txt files, but only send txt to remote hosts:
52
+ In this example we export html and txt files, but only send txt to remote hosts:
53
53
 
54
54
  ```ruby
55
55
  start do
56
- export :format => :json
57
- export :format => :txt
56
+ export format: :json
57
+ export format: :txt
58
58
 
59
- send :copy_to => :host1
59
+ send copy_to: :host1
60
60
  end
61
61
  ```
62
62
 
@@ -64,10 +64,10 @@ If you want to send every exported output file, then do like this:
64
64
 
65
65
  ```ruby
66
66
  start do
67
- export :format => :json
68
- send :copy_to => :host1
67
+ export format: :html
68
+ send copy_to: :host1
69
69
 
70
- export :format => :txt
71
- send :copy_to => :host1
70
+ export format: :txt
71
+ send copy_to: :host1
72
72
  end
73
73
  ```
@@ -78,7 +78,6 @@ CASES
78
78
  | 02 | Student-name-2 | 0 | ? |
79
79
  +------+----------------+-------+-------+
80
80
 
81
-
82
81
  RESULTS
83
82
  +-------------+---------------------------+
84
83
  | start_time | 2020-10-10 12:37:54 +0100 |
@@ -18,9 +18,11 @@ module DSL
18
18
  ip = get((host + '_ip').to_sym)
19
19
  username = get((host + '_username').to_sym).to_s
20
20
  password = get((host + '_password').to_sym).to_s
21
- port = get((host + '_port').to_sym) || 22
21
+ port = get((host + '_port').to_sym).to_i
22
+ port = 22 if port.zero?
22
23
 
23
- filename = @report.filename + '.' + @report.format.to_s
24
+ filename = "#{@report.filename}.#{@report.format.to_s}"
25
+ filename = "#{@report.filename}.txt" if @report.format == :colored_text
24
26
  localfilepath = File.join(@report.output_dir, filename)
25
27
  filename = args[:prefix].to_s + filename if args[:prefix]
26
28
 
@@ -1,8 +1,7 @@
1
- # frozen_string_literal: true
2
1
 
3
2
  require_relative '../application'
3
+ require 'fileutils'
4
4
 
5
- # Define general use methods
6
5
  module Utils
7
6
  # Create the directory if it dosn't exist.
8
7
  def ensure_dir(dirname)
@@ -13,7 +12,6 @@ module Utils
13
12
  true
14
13
  end
15
14
 
16
- # rubocop:disable Metrics/MethodLength
17
15
  def encode_and_split(encoding, text)
18
16
  # Convert text to UTF-8 deleting unknown chars
19
17
  text ||= '' # Ensure text is not nil
@@ -31,7 +29,6 @@ module Utils
31
29
 
32
30
  text.split("\n")
33
31
  end
34
- # rubocop:enable Metrics/MethodLength
35
32
 
36
33
  def my_execute(cmd, encoding = 'UTF-8')
37
34
  return { exitstatus: 0, content: '' } if Application.instance.debug
@@ -1,5 +1,5 @@
1
1
  ---
2
- :global:
3
- :cases:
4
- - :tt_members: MEMBERS
5
- :tt_moodle_id: MOODLE_ID
2
+ global:
3
+ cases:
4
+ - tt_members: MEMBERS
5
+ tt_moodle_id: MOODLE_ID
@@ -1,4 +1,3 @@
1
- # frozen_string_literal: true
2
1
 
3
2
  require_relative '../application'
4
3
  require_relative '../utils/configfile_reader'
@@ -44,8 +43,6 @@ class Readme
44
43
  reset
45
44
  end
46
45
 
47
- ##
48
- # Show README on screen
49
46
  def show
50
47
  process_content
51
48
  show_head
@@ -55,8 +52,6 @@ class Readme
55
52
 
56
53
  private
57
54
 
58
- ##
59
- # Reset attributes
60
55
  def reset
61
56
  app = Application.instance
62
57
  @config = ConfigFileReader.read(app.config_path)
@@ -86,8 +81,6 @@ class Readme
86
81
  @action = { readme: [] }
87
82
  end
88
83
 
89
- ##
90
- # Show README head
91
84
  def show_head
92
85
  app = Application.instance
93
86
  puts '```'
@@ -117,12 +110,10 @@ class Readme
117
110
  @cases_params.sort!
118
111
  puts Lang::get(:params)
119
112
  @cases_params.uniq.each { |i| puts format('* %s', i) }
120
- puts "\n> NOTE: Save every ':param: value' into config file."
113
+ puts "\n> NOTE: Save every 'param: value' into config file."
121
114
  end
122
115
  end
123
116
 
124
- ##
125
- # Show README content
126
117
  def show_content
127
118
  @data[:groups].each do |group|
128
119
  next if group[:actions].empty?
@@ -148,8 +139,6 @@ class Readme
148
139
  end
149
140
  end
150
141
 
151
- ##
152
- # Show README tail
153
142
  def show_tail
154
143
  return if @global_params.empty?
155
144
 
@@ -170,3 +159,4 @@ class Readme
170
159
  @setted_params.each_pair { |k,v| puts "|#{k}|#{v}|" }
171
160
  end
172
161
  end
162
+
@@ -1,4 +1,3 @@
1
- # frozen_string_literal: true
2
1
 
3
2
  # Close Show methods for Report class.
4
3
  class Report
@@ -9,8 +8,6 @@ class Report
9
8
  # * good_weight,d
10
9
  # * fail_weight
11
10
  # * fail_counter
12
- # rubocop:disable Metrics/AbcSize
13
- # rubocop:disable Metrics/MethodLength
14
11
  def close
15
12
  app = Application.instance
16
13
  max = 0.0
@@ -40,6 +37,4 @@ class Report
40
37
  @tail[:grade] = (100.0 * i).round
41
38
  @tail[:grade] = 0 if @tail[:unique_fault].positive?
42
39
  end
43
- # rubocop:enable Metrics/AbcSize
44
- # rubocop:enable Metrics/MethodLength
45
40
  end
@@ -1,10 +1,8 @@
1
- # frozen_string_literal: true
2
1
 
3
2
  require 'terminal-table'
4
3
  require 'rainbow'
5
4
  require_relative 'array_formatter'
6
5
 
7
- # TXTFormatter class
8
6
  class TXTFormatter < ArrayFormatter
9
7
  def initialize(report, color=false)
10
8
  @color = color
@@ -1,13 +1,10 @@
1
- # frozen_string_literal: true
2
1
 
3
2
  require 'fileutils'
4
3
  require 'rainbow'
5
4
 
6
- # Skeleton module
7
5
  module Skeleton
8
6
  ##
9
7
  # Create teuton project skeleton
10
- # @param project_dir (String)
11
8
  def self.create(project_dir)
12
9
  project_name = File.basename(project_dir)
13
10
  puts "\n[INFO] Creating #{Rainbow(project_name).bright} project skeleton"
@@ -33,9 +30,6 @@ module Skeleton
33
30
  end
34
31
  end
35
32
 
36
- ##
37
- # Create dir
38
- # @param dirpath (String)
39
33
  private_class_method def self.create_dir(dirpath)
40
34
  if Dir.exist? dirpath
41
35
  puts "* Exists dir! => #{Rainbow(dirpath).yellow}"
@@ -67,5 +61,4 @@ module Skeleton
67
61
  end
68
62
  end
69
63
  end
70
- # rubocop:enable Metrics/MethodLength
71
64
  end
@@ -1,6 +1,6 @@
1
1
 
2
2
  module Teuton
3
- VERSION = '2.3.3'
3
+ VERSION = '2.3.6'
4
4
  APPNAME = 'teuton'
5
5
  GEMNAME = 'teuton'
6
6
  DOCKERNAME = "dvarrui/#{GEMNAME}"
data/lib/teuton.rb CHANGED
@@ -1,9 +1,9 @@
1
1
 
2
2
  require_relative 'teuton/application'
3
- require_relative 'teuton/skeleton'
4
3
 
5
4
  module Teuton
6
5
  def self.create(path_to_new_dir)
6
+ require_relative 'teuton/skeleton'
7
7
  Skeleton.create(path_to_new_dir)
8
8
  end
9
9
 
@@ -13,7 +13,7 @@ module Teuton
13
13
  end
14
14
 
15
15
  def self.readme(projectpath, options = {})
16
- # Create Readme file for a test
16
+ # Create Readme file for a teuton test
17
17
  Application.instance.add_input_params(projectpath, options)
18
18
  require_dsl_and_script('teuton/readme/readme') # Define DSL keywords
19
19
 
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.3.3
4
+ version: 2.3.6
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-06-21 00:00:00.000000000 Z
11
+ date: 2022-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -378,5 +378,5 @@ requirements: []
378
378
  rubygems_version: 3.1.6
379
379
  signing_key:
380
380
  specification_version: 4
381
- summary: Teuton (Teuton Software)
381
+ summary: Teuton (Infrastructure test)
382
382
  test_files: []