tools 0.4.4 → 0.4.5
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/.ruby-gemset +1 -1
- data/.ruby-version +1 -1
- data/aux2 +1 -6
- data/bin/tools +5 -0
- data/lib/lib/.workin-history +1 -0
- data/lib/lib/array.rb +131 -0
- data/lib/lib/cache.rb +22 -23
- data/lib/lib/config.rb +6 -5
- data/lib/lib/console.rb +18 -25
- data/lib/lib/display.rb +19 -8
- data/lib/lib/files.rb +37 -1
- data/lib/lib/hash.rb +91 -0
- data/lib/lib/log.rb +2 -6
- data/lib/lib/net.rb +20 -12
- data/lib/lib/object.rb +42 -0
- data/lib/lib/prompt.rb +1 -1
- data/lib/lib/string.rb +83 -0
- data/lib/lib/utils.rb +17 -410
- data/lib/tools.rb +8 -13
- data/lib/tools/version.rb +1 -1
- data/test/mini_array.rb +53 -0
- data/test/mini_cache.rb +28 -0
- data/test/mini_config.rb +28 -0
- data/test/mini_console.rb +20 -0
- data/test/mini_display.rb +53 -0
- data/test/mini_file.rb +64 -0
- data/test/mini_hash.rb +155 -0
- data/test/mini_log.rb +21 -0
- data/test/mini_net.rb +223 -0
- data/test/mini_object.rb +35 -0
- data/test/mini_prompt.rb +82 -0
- data/test/mini_string.rb +48 -0
- data/test/mini_utils.rb +96 -0
- data/test/run +43 -0
- data/tools.gemspec +2 -2
- metadata +56 -44
- data/test/minitest/minit-display.rb +0 -29
- data/test/minitest/minit-tools.rb +0 -67
- data/test/minitest/run +0 -9
data/test/mini_log.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
class ToolsModuleTest < Minitest::Test
|
2
|
+
|
3
|
+
def self.test_order
|
4
|
+
:sorted
|
5
|
+
end
|
6
|
+
|
7
|
+
def test_log_A
|
8
|
+
ToolsFiles.remove_file (File.dirname __dir__) + '/teste.log'
|
9
|
+
ToolsLog.create_log_file 'test', (File.dirname __dir__) + '/teste.log'
|
10
|
+
ToolsLog.create_log_file 'test', (File.dirname __dir__) + '/teste.log'
|
11
|
+
FileUtils.touch (File.dirname __dir__) + '/teste.log', :mtime => (Time.now - 86400)
|
12
|
+
ToolsLog.test_info 'Minitest.: test_log'
|
13
|
+
ToolsLog.test_warn 'Minitest.: test_log'
|
14
|
+
ToolsLog.test_error 'Minitest.: test_log'
|
15
|
+
ToolsLog.test_debug 'Minitest.: test_log'
|
16
|
+
ToolsLog.test_ucolor 'Minitest.: test_log'
|
17
|
+
ToolsLog.test_ucolorx 'Minitest.: test_log'
|
18
|
+
ToolsFiles.remove_file (File.dirname __dir__) + '/teste.log'
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
data/test/mini_net.rb
ADDED
@@ -0,0 +1,223 @@
|
|
1
|
+
class ToolsModuleTest < Minitest::Test
|
2
|
+
|
3
|
+
def self.test_order
|
4
|
+
:sorted
|
5
|
+
end
|
6
|
+
|
7
|
+
def test_net_A_ping?
|
8
|
+
assert_equal (ToolsNet.ping? '127.0.0.1'), true
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_net_B_work_with_ips
|
12
|
+
ip = ToolsNet.get_current_ip
|
13
|
+
assert_equal (ToolsNet.valid_ip? ip), true
|
14
|
+
assert_equal (ToolsNet.validate_ipaddress ip)[:status], true
|
15
|
+
assert_equal (ToolsNet.validate_ipaddress ip)[:type], 'ip'
|
16
|
+
assert_equal (ToolsNet.validate_ipaddress '100.0.0.0/28')[:status], true
|
17
|
+
assert_equal (ToolsNet.validate_ipaddress '100.0.0.0/28')[:type], 'mask'
|
18
|
+
assert_equal (ToolsNet.validate_ipaddress ip+'x')[:status], false
|
19
|
+
assert_equal (ToolsNet.validate_ipaddress '100.0.0.0/28x')[:status], false
|
20
|
+
assert_equal (ToolsNet.is_backend? '10.1.2.3'), true
|
21
|
+
assert_equal (ToolsNet.is_backend? '201.0.0.1'), false
|
22
|
+
assert_equal (ToolsNet.valid_network? ip), false
|
23
|
+
assert_equal (ToolsNet.valid_network? '110.0.0.0/28'), true
|
24
|
+
assert_equal (ToolsNet.resolv_dns 'www.wikipedia.org'), "208.80.154.224"
|
25
|
+
assert_nil (ToolsNet.resolv_dns 'www.wikipedia.orgx')
|
26
|
+
assert_equal (ToolsNet.resolv_ip_name "208.80.154.224"), "text-lb.eqiad.wikimedia.org"
|
27
|
+
assert_equal (ToolsNet.resolv_ip_name "208.80.154.224x"), "cannot interpret as address: 208.80.154.224x"
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_net_C_valid_port
|
31
|
+
assert_equal (ToolsNet.valid_port? 8888), true
|
32
|
+
assert_equal (ToolsNet.valid_port? -1), false
|
33
|
+
assert_equal (ToolsNet.valid_port? 0), false
|
34
|
+
assert_equal (ToolsNet.valid_port? 100000), false
|
35
|
+
end
|
36
|
+
|
37
|
+
|
38
|
+
def test_net_D_doreq
|
39
|
+
resource = RestClient::Resource.new('www.google.com')
|
40
|
+
validate_opts = {quit_on_error: false}
|
41
|
+
method_opts = {}
|
42
|
+
params={:method => :get}
|
43
|
+
uri = ''
|
44
|
+
if params.has_key? :expected
|
45
|
+
validate_opts[:expected] = params[:expected]
|
46
|
+
end
|
47
|
+
if params.has_key? :data
|
48
|
+
method_opts = {:data => params[:data].to_json}
|
49
|
+
end
|
50
|
+
result = ToolsNet.doreq resource,
|
51
|
+
uri,
|
52
|
+
params[:method],
|
53
|
+
show_progress: true,
|
54
|
+
method_opts: method_opts,
|
55
|
+
validate_opts: validate_opts,
|
56
|
+
retry_opts: {
|
57
|
+
attempts: 1,
|
58
|
+
when_res: [nil, [], {}, ''],
|
59
|
+
when_code: []}
|
60
|
+
assert_equal result.code, 200
|
61
|
+
end
|
62
|
+
|
63
|
+
|
64
|
+
end
|
65
|
+
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
# # Resolv a ip to a dns.
|
70
|
+
# #
|
71
|
+
# # @param ip variable ip to resolv
|
72
|
+
# # @return [String] Dns name resolved
|
73
|
+
# def self.resolv_ip_name ip
|
74
|
+
# s = ''
|
75
|
+
# begin
|
76
|
+
# ret = Resolv.new.getname(ip)
|
77
|
+
# return ret.instance_variable_get('@labels').join('.')
|
78
|
+
# rescue Exception => e
|
79
|
+
# case e.message
|
80
|
+
# when "Dnsruby::NXDomain"
|
81
|
+
# return nil
|
82
|
+
# else
|
83
|
+
# return e.message
|
84
|
+
# end
|
85
|
+
# end
|
86
|
+
# return s.strip
|
87
|
+
# end
|
88
|
+
|
89
|
+
|
90
|
+
# # Resolv a dns to a ip.
|
91
|
+
# #
|
92
|
+
# # @param domain variable ip to resolv
|
93
|
+
# # @return [String] Dns address resolved
|
94
|
+
# def self.resolv_dns domain
|
95
|
+
# begin
|
96
|
+
# dns = Dnsruby::DNS.new()
|
97
|
+
# ret = dns.getaddress(domain).to_s
|
98
|
+
# rescue Exception => e
|
99
|
+
# case e.message
|
100
|
+
# when "Dnsruby::NXDomain"
|
101
|
+
# return nil
|
102
|
+
# else
|
103
|
+
# return e.message
|
104
|
+
# end
|
105
|
+
# end
|
106
|
+
# return ret
|
107
|
+
# end
|
108
|
+
|
109
|
+
|
110
|
+
# # Do the request, validate and decode response and do the retries if needed
|
111
|
+
# #
|
112
|
+
# # - restclient_obj: initialized RestClient object
|
113
|
+
# # - path: URL path to request
|
114
|
+
# # - method: symbol for HTTP Method to request
|
115
|
+
# # - method_opts: options as passed to a RestClient call
|
116
|
+
# # - validate_opts: options for response validation as used with
|
117
|
+
# # validate_decode_response()
|
118
|
+
# # - retry_opts: when_res: [nil, [], {}, 'str'], when_code: [404, 500],
|
119
|
+
# # conditionals to retry even if no exceptions were catched
|
120
|
+
# # @param restclient_obj Rest Object
|
121
|
+
# # @param path path
|
122
|
+
# # @param method method
|
123
|
+
# # @param method_opts method opts
|
124
|
+
# # @param validate_opts validate opts
|
125
|
+
# # @param retry_opts retry opts
|
126
|
+
# # @param show_progress default false
|
127
|
+
# def self.doreq( restclient_obj, path, method, method_opts: {},validate_opts: {}, retry_opts: {}, show_progress: false)
|
128
|
+
# res = nil
|
129
|
+
# code = nil
|
130
|
+
# data = method_opts.fetch(:data, nil)
|
131
|
+
# method_opts.delete(:data)
|
132
|
+
|
133
|
+
# # Retry loop due to:
|
134
|
+
# # - 404 from Router API right after applying patch over a target
|
135
|
+
# # - Intermittent connection reset from Manager API (HTTPS)
|
136
|
+
# retries = retry_opts.fetch(:attempts, 10)
|
137
|
+
# 1.upto(retries) do |try|
|
138
|
+
# flag_error = false
|
139
|
+
# # The request
|
140
|
+
# begin
|
141
|
+
# restclient_obj[path].send(method, *data, **method_opts) do |response, request, result|
|
142
|
+
# res = validate_decode_response(response, request, result, validate_opts)
|
143
|
+
# code = result.code.to_i
|
144
|
+
# end
|
145
|
+
# rescue Exception => error
|
146
|
+
# flag_error = true
|
147
|
+
# end
|
148
|
+
# # Other conditionals to retry
|
149
|
+
# unless retry_opts.empty?
|
150
|
+
# if retry_opts.has_key?(:when_res)
|
151
|
+
# flag_error = true if retry_opts[:when_res].include?(res)
|
152
|
+
# end
|
153
|
+
# if retry_opts.has_key?(:when_code)
|
154
|
+
# flag_error = true if retry_opts[:when_code].include?(code)
|
155
|
+
# end
|
156
|
+
# end
|
157
|
+
# return res unless flag_error # got response, break the loop
|
158
|
+
# doReqMSG = sprintf "%d/%d", try, retries
|
159
|
+
# if show_progress
|
160
|
+
# ap doReqMSG
|
161
|
+
# end
|
162
|
+
# if try >= retries
|
163
|
+
# ap doreq_code
|
164
|
+
# return nil
|
165
|
+
# else
|
166
|
+
# sleep 1 # wait before next
|
167
|
+
# end
|
168
|
+
# end
|
169
|
+
# end
|
170
|
+
|
171
|
+
# # Return a valid decode response.
|
172
|
+
# #
|
173
|
+
# # @param response
|
174
|
+
# # @param request
|
175
|
+
# # @param result
|
176
|
+
# # @param validate_opts
|
177
|
+
# # @return [Object type] Array or Proc or String or Error
|
178
|
+
# def self.validate_decode_response response, request, result, validate_opts
|
179
|
+
# if validate_opts.has_key? :expected
|
180
|
+
# expected = validate_opts[:expected]
|
181
|
+
# case expected.class.name
|
182
|
+
# when 'Array'
|
183
|
+
# if validate_opts[:expected].include? response
|
184
|
+
# return true
|
185
|
+
# else
|
186
|
+
# return false
|
187
|
+
# end
|
188
|
+
# when 'Proc'
|
189
|
+
# response = expected.call(response, request, result)
|
190
|
+
# return response
|
191
|
+
# when 'String'
|
192
|
+
# return result if validate_opts[:expected].eql? 'result'
|
193
|
+
# return request if validate_opts[:expected].eql? 'request'
|
194
|
+
# return response if validate_opts[:expected].eql? 'response'
|
195
|
+
# else
|
196
|
+
# ap expected.class.name
|
197
|
+
# return response
|
198
|
+
# end
|
199
|
+
# else
|
200
|
+
# return response
|
201
|
+
# end
|
202
|
+
# return true
|
203
|
+
# end
|
204
|
+
|
205
|
+
|
206
|
+
# # Validate.: port number between valid range?.
|
207
|
+
# #
|
208
|
+
# # @param port number to be validate.
|
209
|
+
# # @return [Boolean]
|
210
|
+
# def self.valid_port? port
|
211
|
+
# if port.to_s.strip.match(/^\d{1,5}(?!\d)$/).nil?
|
212
|
+
# return false
|
213
|
+
# end
|
214
|
+
# unless port.to_i.between?(1, 65535)
|
215
|
+
# return false
|
216
|
+
# end
|
217
|
+
# return true
|
218
|
+
# end
|
219
|
+
|
220
|
+
|
221
|
+
|
222
|
+
|
223
|
+
|
data/test/mini_object.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
class ToolsModuleTest < Minitest::Test
|
2
|
+
|
3
|
+
def self.test_order
|
4
|
+
:sorted
|
5
|
+
end
|
6
|
+
|
7
|
+
def test_object_A_boolean?
|
8
|
+
test = true
|
9
|
+
assert_equal test.boolean?, true
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_object_B_true?
|
13
|
+
test = true
|
14
|
+
assert_equal test.true?, true
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_object_C_false?
|
18
|
+
test = false
|
19
|
+
assert_equal test.false?, true
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_object_D_symbol?
|
23
|
+
test = :true
|
24
|
+
assert_equal test.symbol?, true
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_object_E_string?
|
28
|
+
test = 'string'
|
29
|
+
assert_equal test.string?, true
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
34
|
+
|
35
|
+
|
data/test/mini_prompt.rb
ADDED
@@ -0,0 +1,82 @@
|
|
1
|
+
class ToolsModuleTest < Minitest::Test
|
2
|
+
|
3
|
+
def self.test_order
|
4
|
+
:sorted
|
5
|
+
end
|
6
|
+
|
7
|
+
def test_prompt_A_yes?
|
8
|
+
mock = MiniTest::Mock.new
|
9
|
+
def mock.yes? *args; true; end
|
10
|
+
TTY::Prompt.stub :new, mock do
|
11
|
+
assert_equal (ToolsPrompt.yes? 'Continue'), true
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_prompt_B_no?
|
16
|
+
mock = MiniTest::Mock.new
|
17
|
+
def mock.no? *args; true; end
|
18
|
+
TTY::Prompt.stub :new, mock do
|
19
|
+
assert_equal (ToolsPrompt.no? 'Continue'), true
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_prompt_C_ask
|
24
|
+
mock = MiniTest::Mock.new
|
25
|
+
def mock.ask *args; 'teste'; end
|
26
|
+
TTY::Prompt.stub :new, mock do
|
27
|
+
assert_equal (ToolsPrompt.ask 'Name'), 'teste'
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_prompt_D_mask
|
32
|
+
mock = MiniTest::Mock.new
|
33
|
+
def mock.mask *args; 'teste'; end
|
34
|
+
TTY::Prompt.stub :new, mock do
|
35
|
+
assert_equal (ToolsPrompt.mask 'Name'), 'teste'
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_prompt_E_expand
|
40
|
+
mock = MiniTest::Mock.new
|
41
|
+
def mock.expand *args; :yes; end
|
42
|
+
TTY::Prompt.stub :new, mock do
|
43
|
+
choices = [{
|
44
|
+
key: 'Y',
|
45
|
+
name: 'Overwrite',
|
46
|
+
value: :yes
|
47
|
+
}, {
|
48
|
+
key: 'n',
|
49
|
+
name: 'Skip',
|
50
|
+
value: :no
|
51
|
+
}]
|
52
|
+
assert_equal (ToolsPrompt.expand 'Overwirte Gemfile?', choices), :yes
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_prompt_F_select
|
57
|
+
mock = MiniTest::Mock.new
|
58
|
+
def mock.select *args; 'vodka'; end
|
59
|
+
TTY::Prompt.stub :new, mock do
|
60
|
+
assert_equal (ToolsPrompt.select "Select drinks?", 'vodka', 'beer'), 'vodka'
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
|
65
|
+
def test_prompt_G_multi_select
|
66
|
+
mock = MiniTest::Mock.new
|
67
|
+
def mock.multi_select *args; 'vodka'; end
|
68
|
+
TTY::Prompt.stub :new, mock do
|
69
|
+
assert_equal (ToolsPrompt.multi_select "Select drinks?", 'vodka', 'beer'), 'vodka'
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
def test_prompt_G_enum_select
|
74
|
+
mock = MiniTest::Mock.new
|
75
|
+
def mock.enum_select *args; 'vodka'; end
|
76
|
+
TTY::Prompt.stub :new, mock do
|
77
|
+
assert_equal (ToolsPrompt.enum_select "Select drinks?", 'vodka', 'beer'), 'vodka'
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
|
82
|
+
end
|
data/test/mini_string.rb
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
class ToolsModuleTest < Minitest::Test
|
2
|
+
|
3
|
+
def self.test_order
|
4
|
+
:sorted
|
5
|
+
end
|
6
|
+
|
7
|
+
def test_string_A_fix
|
8
|
+
assert_equal "TESTE".fix(10,'xy'), 'xyxyxTESTE'
|
9
|
+
assert_equal "TESTE".fix(-10,'xy'), 'TESTExyxyx'
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_string_B_encrypt_decrypt
|
13
|
+
msg = "teste do encrypt"
|
14
|
+
passwd = 'tools999'
|
15
|
+
encrypted = msg.encrypt passwd
|
16
|
+
assert_equal msg, (encrypted.decrypt passwd)
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_string_C_numeric?
|
20
|
+
assert_equal true, "100".numeric?
|
21
|
+
assert_equal false, "xx".numeric?
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_string_D_num?
|
25
|
+
assert_equal true, "100".num?
|
26
|
+
assert_equal false, "xx".num?
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_string_E_alnum?
|
30
|
+
assert_equal true, "1x0".alnum?
|
31
|
+
assert_equal true, "1xx".alnum?
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_string_F_alpha?
|
35
|
+
assert_equal false, "100".alpha?
|
36
|
+
assert_equal true, "xx".alpha?
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_string_G_help?
|
40
|
+
assert_equal true, '?'.help?
|
41
|
+
assert_equal true, '-h'.help?
|
42
|
+
assert_equal true, '--help'.help?
|
43
|
+
assert_equal true, 'help'.help?
|
44
|
+
assert_equal false, 'eelp'.help?
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
|
data/test/mini_utils.rb
ADDED
@@ -0,0 +1,96 @@
|
|
1
|
+
class ToolsModuleTest < Minitest::Test
|
2
|
+
|
3
|
+
def self.test_order
|
4
|
+
:sorted
|
5
|
+
end
|
6
|
+
|
7
|
+
def test_utils_A_symbolize_keys
|
8
|
+
hash = {'key' => 1, :key1 => 'A', :key3 => {:k1 => 1}}
|
9
|
+
hash = ToolsUtil.symbolize_keys(hash)
|
10
|
+
assert_equal hash, {:key => 1, :key1 => 'A', :key3 => {:k1 => 1}}
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_utils_C_valid_json_true?
|
14
|
+
data = {:k1 => "v1", :k2 => "v2"}.to_json
|
15
|
+
assert_equal true, (ToolsUtil.valid_json? data)
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_utils_D_valid_json_error?
|
19
|
+
data = {:k1 => "v1", :k2 => "v2"}.to_json + "error"
|
20
|
+
assert_equal false, (ToolsUtil.valid_json? data)
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_utils_E_valid_yaml_true?
|
24
|
+
data = {:k1 => "v1", :k2 => "v2"}.to_yaml
|
25
|
+
assert_equal true, (ToolsUtil.valid_yaml? data)
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_utils_F_valid_yaml_error?
|
29
|
+
data = {:k1 => "v1", :k2 => "v2"}.to_yaml + "error"
|
30
|
+
assert_equal false, (ToolsUtil.valid_yaml? data)
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_utils_G_get_date
|
34
|
+
now = DateTime.now
|
35
|
+
(ToolsUtil.get_date '%Y %m %d %H %M').split(' ').each do |d|
|
36
|
+
assert_equal (now.to_s.include? d), true
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_utils_H_set_get_variable
|
41
|
+
ToolsUtil.set_variable 'teste', 'A'
|
42
|
+
assert_equal (ToolsUtil.get_variable 'teste'), 'A'
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_utils_I_set_get_variable_ext
|
46
|
+
ToolsUtil.set_variable 'teste_string', ""
|
47
|
+
ToolsUtil.set_variable 'teste_array', []
|
48
|
+
ToolsUtil.set_variable 'teste_hash', {}
|
49
|
+
ToolsUtil.set_variable_ext 'teste_string', "A"
|
50
|
+
ToolsUtil.set_variable_ext 'teste_array', "1"
|
51
|
+
ToolsUtil.set_variable_ext 'teste_hash', {:teste => 'teste'}
|
52
|
+
ToolsUtil.set_variable_ext 'teste_hash_error', []
|
53
|
+
assert_equal (ToolsUtil.get_variable 'teste_string'), 'A'
|
54
|
+
assert_equal (ToolsUtil.get_variable 'teste_array'), ['1']
|
55
|
+
assert_equal (ToolsUtil.get_variable 'teste_hash'), {:teste => 'teste'}
|
56
|
+
assert_nil (ToolsUtil.get_variable 'teste_hash_error')
|
57
|
+
end
|
58
|
+
|
59
|
+
def test_utils_K_get_variables
|
60
|
+
ToolsUtil.set_variable 'teste', 'A'
|
61
|
+
assert_equal ToolsUtil.get_variables.class, Array
|
62
|
+
end
|
63
|
+
|
64
|
+
def test_utils_L_get_plain_text
|
65
|
+
data = {
|
66
|
+
'k1' => 100,
|
67
|
+
'k2' => 'v2'
|
68
|
+
}
|
69
|
+
assert_equal (ToolsUtil.get_plain_text data), "{\n \"k1\" => 100,\n \"k2\" => \"v2\"\n}\n"
|
70
|
+
assert_equal (ToolsUtil.get_plain_text "TEST"), "\t\e[0;33;49mTEST\e[0m"
|
71
|
+
assert_equal (ToolsUtil.get_plain_text true), true
|
72
|
+
assert_nil (ToolsUtil.get_plain_text nil)
|
73
|
+
end
|
74
|
+
|
75
|
+
def test_utils_M_get_tools_variables
|
76
|
+
assert_equal Tools.root, (File.dirname __dir__)
|
77
|
+
assert_equal Tools.files, (File.join (File.dirname __dir__), 'lib/files')
|
78
|
+
assert_equal Tools.host, Socket.gethostname
|
79
|
+
assert_equal Tools.home, ENV['HOME']
|
80
|
+
assert_equal Tools.user, ENV['USER']
|
81
|
+
assert_equal Tools.pwd, ENV['PWD']
|
82
|
+
assert_equal Tools.ldap_pass, ENV['ldap_pass']
|
83
|
+
assert_equal Tools.ldap_user, ENV['ldap_user']
|
84
|
+
assert_equal Tools.gem_path, ENV['GEM_PATH']
|
85
|
+
end
|
86
|
+
|
87
|
+
|
88
|
+
# def test_utils_N_instance
|
89
|
+
# mock = MiniTest::Mock.new
|
90
|
+
# def mock.initialize *args; true; end
|
91
|
+
# ToolsUtil.stub :initialize, mock do
|
92
|
+
# assert_equal (ToolsUtil.new), true
|
93
|
+
# end
|
94
|
+
# end
|
95
|
+
|
96
|
+
end
|