test_joska 1.0.1 → 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0ee7d764313bc82fbb6742c7ad846f8e0d67c38de4af8ae6825703969c7d4478
4
- data.tar.gz: 0d4de950c28d5d43714f059ff945ab70a0346e57c77e1a5d0188839ee7097799
3
+ metadata.gz: 4debd729ecf2884551cb92d300a6cc4f8fd925366bf311952f6db43898ca2185
4
+ data.tar.gz: f5d76c501b7ac8847f54010e54effb5ebd7a786c2b54c8377fa0e405a092c65c
5
5
  SHA512:
6
- metadata.gz: ef6d8b7b90cb651da5678ee7812305506100909a32ef5db7e871dee7ef37b8bfd5b935d1e4069f9aec231b0a856553325b1d74843264d931334b9d99f24b725d
7
- data.tar.gz: e3c810f0d04333ce64ab0e16673eaa346ed714689854740bc840c1333fd9b2c171a6c58c61e4575ae0f07c08c8ecd93e5b9e33283da7ef7bb5c311a46d5192b6
6
+ metadata.gz: 23a38727846d84a90adc0dd7e5b85029d66f944e36c8657d5457e6401c9137bf695942196f77b3823e97ec472e969ffd652706c4d64adf146d5d92eb677a80c4
7
+ data.tar.gz: 41fd803177e1bcfd2a65bd566410fa55f7a4e0eeb59ead2701b9405ab747a3f6aee14c090b9c7e1ccfc360bae7da03e91ec7eeebd31c6365855de2e803170bc1
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- test_joska (1.0.1)
4
+ test_joska (1.0.5)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -1,276 +1,280 @@
1
1
  module TestJoska
2
2
 
3
- @@standard_endpoint = ""
3
+ class Utils
4
4
 
5
- @@standard_environment = ""
5
+ @standard_endpoint = ""
6
6
 
7
- @@HEAD = {}
7
+ @standard_environment = ""
8
8
 
9
- @@URL = {}
9
+ @HEAD = {}
10
10
 
11
- @@internal_log = ""
11
+ @URL = {}
12
12
 
13
- @@url_log = ""
13
+ @internal_log = ""
14
14
 
15
- @@raise_on_error = false
15
+ @url_log = ""
16
16
 
17
- @@silent = false
17
+ @raise_on_error = false
18
18
 
19
- def jsk_setup(options)
19
+ @silent = false
20
20
 
21
- @@raise_on_error = options["raise_on_error"]
21
+ def jsk_setup(options)
22
22
 
23
- @@output_url = options["output_url"]
23
+ @raise_on_error = options["raise_on_error"]
24
24
 
25
- @@URL = options["url_parts"]
25
+ @output_url = options["output_url"]
26
26
 
27
- @@HEAD = options["headers"]
28
-
29
- @@standard_endpoint = options["standard_endpoint"]
27
+ @URL = options["url_parts"]
30
28
 
31
- @@standard_environment = options["standard_environment"]
29
+ @HEAD = options["headers"]
30
+
31
+ @standard_endpoint = options["standard_endpoint"]
32
32
 
33
- end
33
+ @standard_environment = options["standard_environment"]
34
34
 
35
- def jsk_get_log
35
+ end
36
36
 
37
- return @@internal_log
37
+ def jsk_get_log
38
38
 
39
- end
39
+ return @internal_log
40
40
 
41
- def jsk_log(message)
41
+ end
42
42
 
43
- p @@internal_log = "#{@@internal_log}#{message}\n"
43
+ def jsk_log(message)
44
44
 
45
- end
45
+ p @internal_log = "#{@internal_log}#{message}\n"
46
46
 
47
- def jsk_clear_log
47
+ end
48
48
 
49
- @@internal_log = ""
49
+ def jsk_clear_log
50
50
 
51
- end
51
+ @internal_log = ""
52
52
 
53
- def jsk_get_url_log
53
+ end
54
54
 
55
- return @@url_log
55
+ def jsk_get_url_log
56
56
 
57
- end
57
+ return @url_log
58
58
 
59
- def jsk_clear_url_log
59
+ end
60
60
 
61
- @@url_log = ""
61
+ def jsk_clear_url_log
62
62
 
63
- end
64
-
65
- def request(method, product, type, details=nil, payload=nil, header_type=nil, endpoint=nil, env=nil)
63
+ @url_log = ""
64
+
65
+ end
66
+
67
+ def request(method, product, type, details=nil, payload=nil, header_type=nil, endpoint=nil, env=nil)
66
68
 
67
- endpoint = endpoint ? endpoint : @@standard_endpoint
69
+ endpoint = endpoint ? endpoint : @standard_endpoint
68
70
 
69
- url = urlBuilder(product, type, details, endpoint, env)
71
+ url = urlBuilder(product, type, details, endpoint, env)
70
72
 
71
- header_type ? header = @@HEAD[header_type] : header = @@HEAD[endpoint]
73
+ header_type ? header = @HEAD[header_type] : header = @HEAD[endpoint]
72
74
 
73
- payload = payload.to_json if payload
75
+ payload = payload.to_json if payload
74
76
 
75
- res = ""
77
+ res = ""
76
78
 
77
- p url
79
+ p url
78
80
 
79
- @@url_log = "#{@@url_log}\n#{method} #{type}: #{url}"
81
+ @url_log = "#{@url_log}\n#{method} #{type}: #{url}"
80
82
 
81
- @@url_log = "#{@@url_log}\nPayload: #{payload}" if payload && type != "login"
83
+ @url_log = "#{@url_log}\nPayload: #{payload}" if payload && type != "login"
82
84
 
83
- RestClient::Request.execute(method: method, url: url, headers: header, payload: payload, timeout: 90) do |response|
85
+ RestClient::Request.execute(method: method, url: url, headers: header, payload: payload, timeout: 90) do |response|
84
86
 
85
- if response.code != 200
87
+ if response.code != 200
86
88
 
87
- begin
89
+ begin
88
90
 
89
- response = JSON.parse(response)
91
+ response = JSON.parse(response)
90
92
 
91
- rescue
93
+ rescue
92
94
 
93
- p "Não possível converter para json"
95
+ p "Não possível converter para json"
96
+
97
+ end
98
+
99
+ raise "Erro no serviço #{type}, codigo: #{response.code} \nURL: #{url} \nResposta: #{response}"
94
100
 
95
101
  end
96
-
97
- raise "Erro no serviço #{type}, codigo: #{response.code} \nURL: #{url} \nResposta: #{response}"
98
102
 
99
- end
103
+ res = response
100
104
 
101
- res = response
105
+ end
102
106
 
103
- end
107
+ begin
104
108
 
105
- begin
109
+ return JSON.parse(res)
106
110
 
107
- return JSON.parse(res)
111
+ rescue
108
112
 
109
- rescue
113
+ raise "Problema em converter a resposta #{response}" if res != ""
110
114
 
111
- raise "Problema em converter a resposta #{response}" if res != ""
115
+ end
112
116
 
113
117
  end
114
118
 
115
- end
119
+ def urlBuilder(product, type, details, endpoint, env=nil)
120
+
121
+ env = env ? env : @standard_environment
116
122
 
117
- def urlBuilder(product, type, details, endpoint, env=nil)
123
+ details = "" if !details
118
124
 
119
- env = env ? env : @@standard_environment
125
+ details = [details] if !details.kind_of?(Array)
120
126
 
121
- details = "" if !details
127
+ url = @URL[product]["base"]["#{env}_#{endpoint}"]
122
128
 
123
- details = [details] if !details.kind_of?(Array)
129
+ if !@URL[product]["path"][type].kind_of?(Array)
124
130
 
125
- url = @@URL[product]["base"]["#{env}_#{endpoint}"]
131
+ return "#{url}#{@URL[product]["path"][type]}#{details[0]}"
126
132
 
127
- if !@@URL[product]["path"][type].kind_of?(Array)
133
+ else
128
134
 
129
- return "#{url}#{@@URL[product]["path"][type]}#{details[0]}"
135
+ query_pos = 0
130
136
 
131
- else
137
+ @URL[product]["path"][type].each do |query|
132
138
 
133
- query_pos = 0
139
+ if details[query_pos] && details[query_pos] != ""
134
140
 
135
- @@URL[product]["path"][type].each do |query|
141
+ query = query[0] if query.kind_of?(Array)
136
142
 
137
- if details[query_pos] && details[query_pos] != ""
143
+ url = "#{url}#{query}#{details[query_pos]}"
138
144
 
139
- query = query[0] if query.kind_of?(Array)
145
+ else
140
146
 
141
- url = "#{url}#{query}#{details[query_pos]}"
147
+ query.kind_of?(Array) ? url = "#{url}#{query[0]}#{query[1]}" : url = "#{url}#{query}"
142
148
 
143
- else
149
+ end
144
150
 
145
- query.kind_of?(Array) ? url = "#{url}#{query[0]}#{query[1]}" : url = "#{url}#{query}"
151
+ query_pos += 1
146
152
 
147
153
  end
148
154
 
149
- query_pos += 1
155
+ return url
150
156
 
151
157
  end
152
158
 
153
- return url
154
-
155
159
  end
156
160
 
157
- end
161
+ def rateTokenBuilder(rateToken)
158
162
 
159
- def rateTokenBuilder(rateToken)
160
-
161
- token_decoded = Base64.decode64(rateToken).gsub(" ", "").gsub("/>", "").gsub("<rateToken", "").gsub("=", "").split('"')
162
-
163
- built_token = {}
163
+ token_decoded = Base64.decode64(rateToken).gsub(" ", "").gsub("/>", "").gsub("<rateToken", "").gsub("=", "").split('"')
164
+
165
+ built_token = {}
164
166
 
165
- cur_part = 0
166
-
167
- while cur_part < token_decoded.count do
168
-
169
- built_token[token_decoded[cur_part]] = token_decoded[cur_part + 1]
170
-
171
- cur_part += 2
172
-
167
+ cur_part = 0
168
+
169
+ while cur_part < token_decoded.count do
170
+
171
+ built_token[token_decoded[cur_part]] = token_decoded[cur_part + 1]
172
+
173
+ cur_part += 2
174
+
175
+ end
176
+
177
+ built_token
178
+
173
179
  end
174
-
175
- built_token
176
-
177
- end
178
180
 
179
- def comparePrice(price1, price2, type1, type2)
181
+ def comparePrice(price1, price2, type1, type2)
182
+
183
+ range = price1.abs * 0.001 > 0.10 ? price1.abs * 0.001 : 0.10
180
184
 
181
- range = price1.abs * 0.001 > 0.10 ? price1.abs * 0.001 : 0.10
185
+ if !(price1.abs-range...price1.abs+range).include?(price2.abs)
182
186
 
183
- if !(price1.abs-range...price1.abs+range).include?(price2.abs)
187
+ error_name = "#{type1} - #{type2}"
184
188
 
185
- error_name = "#{type1} - #{type2}"
189
+ error_message = "#{type1}: R$#{price1} / #{type2}: R$#{price2}",
186
190
 
187
- error_message = "#{type1}: R$#{price1} / #{type2}: R$#{price2}",
191
+ tempErrorhandler("price", error_name, error_message)
188
192
 
189
- tempErrorhandler("price", error_name, error_message)
193
+ raise "Diferença de preço encontrada (#{type1} - #{type2})\n#{error_message}" if @raise_on_error
190
194
 
191
- raise "Diferença de preço encontrada (#{type1} - #{type2})\n#{error_message}" if @@raise_on_error
195
+ jsk_log("Diferença de preço encontrada (#{type1} - #{type2})\n#{error_message}")
192
196
 
193
- jsk_log("Diferença de preço encontrada (#{type1} - #{type2})\n#{error_message}")
197
+ end
194
198
 
195
199
  end
196
200
 
197
- end
198
201
 
202
+ def compareValues(value1, value2, message, type1, type2)
199
203
 
200
- def compareValues(value1, value2, message, type1, type2)
204
+ if value1 != value2
201
205
 
202
- if value1 != value2
206
+ value1 = "null" if value1 == nil
203
207
 
204
- value1 = "null" if value1 == nil
208
+ value2 = "null" if value2 == nil
205
209
 
206
- value2 = "null" if value2 == nil
210
+ error_name = "#{message} (#{type1} - #{type2})"
207
211
 
208
- error_name = "#{message} (#{type1} - #{type2})"
212
+ error_message = "#{type1}: #{value1} / #{type2}: #{value2}"
209
213
 
210
- error_message = "#{type1}: #{value1} / #{type2}: #{value2}"
214
+ tempErrorhandler("value", error_name, error_message)
211
215
 
212
- tempErrorhandler("value", error_name, error_message)
216
+ raise "Conflito: #{message} (#{type1} - #{type2})\n(#{error_message})" if @raise_on_error
213
217
 
214
- raise "Conflito: #{message} (#{type1} - #{type2})\n(#{error_message})" if @@raise_on_error
218
+ jsk_log("Conflito: #{message} (#{type1} - #{type2})\n(#{error_message})")
215
219
 
216
- jsk_log("Conflito: #{message} (#{type1} - #{type2})\n(#{error_message})")
220
+ end
217
221
 
218
222
  end
219
223
 
220
- end
221
-
222
- def checkFloat value
223
-
224
- true if Float value rescue false
225
-
226
- end
224
+ def checkFloat value
225
+
226
+ true if Float value rescue false
227
+
228
+ end
227
229
 
228
- def genericComparator object1, object2, context, type1 = "Barramento", type2 = "Micro serviço"
230
+ def genericComparator object1, object2, context, type1 = "Barramento", type2 = "Micro serviço"
229
231
 
230
- if object1.is_a?(Hash) && object2.is_a?(Hash)
231
-
232
- compareValues(object1.keys.count, object2.keys.count, "#{context}_keyCount", type1, type2)
233
-
234
- (object1.keys | object2.keys).each do |key|
235
-
236
- genericComparator(object1[key], object2[key], "#{context}_#{key}", type1, type2)
237
-
238
- end
239
-
240
- elsif object1.is_a?(Array) && object2.is_a?(Array)
241
-
242
- if object1.count != object2.count
243
-
244
- genericComparator(object1[0], object2[0], "#{context}_arrayElement", type1, type2) if object1[0] && object2[0]
245
-
246
- return compareValues(object1.count, object2.count, "#{context}_arrayCount", type1, type2)
247
-
248
- end
249
-
250
- array_count = 0
251
-
252
- while array_count < object1.count do
253
-
254
- genericComparator(object1[array_count], object2[array_count], "#{context}_arrayElement", type1, type2)
255
-
256
- array_count += 1
257
-
232
+ if object1.is_a?(Hash) && object2.is_a?(Hash)
233
+
234
+ compareValues(object1.keys.count, object2.keys.count, "#{context}_keyCount", type1, type2)
235
+
236
+ (object1.keys | object2.keys).each do |key|
237
+
238
+ genericComparator(object1[key], object2[key], "#{context}_#{key}", type1, type2)
239
+
240
+ end
241
+
242
+ elsif object1.is_a?(Array) && object2.is_a?(Array)
243
+
244
+ if object1.count != object2.count
245
+
246
+ genericComparator(object1[0], object2[0], "#{context}_arrayElement", type1, type2) if object1[0] && object2[0]
247
+
248
+ return compareValues(object1.count, object2.count, "#{context}_arrayCount", type1, type2)
249
+
250
+ end
251
+
252
+ array_count = 0
253
+
254
+ while array_count < object1.count do
255
+
256
+ genericComparator(object1[array_count], object2[array_count], "#{context}_arrayElement", type1, type2)
257
+
258
+ array_count += 1
259
+
260
+ end
261
+
262
+ elsif (checkFloat(object1) && checkFloat(object2)) && (object1.to_s.include?(".") || object2.to_s.include?("."))
263
+
264
+ comparePrice(object1.to_f, object2.to_f, "#{type1}_#{context}", "#{type2}_#{context}")
265
+
266
+ elsif context.split("_").last.include?("Token")
267
+
268
+ genericComparator(rateTokenBuilder(object1), rateTokenBuilder(object2), "#{context}_decoded", type1, type2)
269
+
270
+ else
271
+
272
+ compareValues(object1, object2, context, type1, type2)
273
+
258
274
  end
259
-
260
- elsif (checkFloat(object1) && checkFloat(object2)) && (object1.to_s.include?(".") || object2.to_s.include?("."))
261
-
262
- comparePrice(object1.to_f, object2.to_f, "#{type1}_#{context}", "#{type2}_#{context}")
263
-
264
- elsif context.split("_").last.include?("Token")
265
-
266
- genericComparator(rateTokenBuilder(object1), rateTokenBuilder(object2), "#{context}_decoded", type1, type2)
267
-
268
- else
269
-
270
- compareValues(object1, object2, context, type1, type2)
271
-
275
+
272
276
  end
273
-
277
+
274
278
  end
275
279
 
276
280
  end
@@ -1,3 +1,3 @@
1
1
  module TestJoska
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test_joska
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lucas Diogo Dovas