client-api 0.3.5 → 0.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: fabf3cf2a480ef4bb48c510cd50a54ad04a09cac8d71cd59f57afeac68d6562c
4
- data.tar.gz: 482d29669281bdbde074ae5ba876c013a356dada5221cd05e7c827eec2296a87
3
+ metadata.gz: 46af95811a5c97fa979f9db48ca3823245458fb92c2a68985d7f97df8d13da4b
4
+ data.tar.gz: a123355edfe6259438b07f7c3f39aa6587f85347633c41ac44494e3585588221
5
5
  SHA512:
6
- metadata.gz: 37972ed3b0c07bbdb65aa92ce4fc3963474928b388cb3c978690ccf4ba32c38a0d4e3828fa53fe069cc873bc8ca35508046bd200e85e77b88b5631c572cffd68
7
- data.tar.gz: 58daf94fb27e444771549734eb8c8baf550782f9df1b6383439eb260ed898a82fdeed6db33af3e0cee1f9ad212db11b41eb6be741ad120c468e2a1001618e9ae
6
+ metadata.gz: 21cd18b3c769375f019df20bec21807a37d083d091c6a53aa942a98a5b8ff91f12c313690abe9447e45ce4f6b42da80d554dd573c48d3dc61e1a95b340253847
7
+ data.tar.gz: c89d2fb15dd961443ae9cb02d3811f4fb84f4dadb1801ed4257f300d4d5581f67b425a3e692bb8104ffb8ad26ba046fa4000f6b092261f5b1941e260b979a7a5
@@ -9,6 +9,10 @@ module ClientApi
9
9
  raise('"key": ""'.green + ' field is missing'.red) if data[:key].nil?
10
10
  raise('Need at least one field to validate'.green) if data[:value].nil? && data[:type].nil? && data[:size].nil? && data[:empty].nil? && data[:has_key].nil?
11
11
 
12
+ data.keys.map do |val|
13
+ raise "invalid key: " + "#{val}".green unless [:key, :operator, :value, :type, :size, :has_key, :empty].include? val
14
+ end
15
+
12
16
  value ||= data[:value]
13
17
  operator ||= (data[:operator] || '==').downcase
14
18
  type ||= data[:type]
@@ -26,21 +30,25 @@ module ClientApi
26
30
  @err_method = @err_method << method
27
31
 
28
32
  begin
29
- if method.is_a? Integer
30
- raise %[key: ]+ %[#{@err_method.join('->')}].green + %[ does not exist! please check the key once again].red if ((@resp.class != Array) || (method.to_i >= @resp.count)) && data[:has_key].nil?
31
- else
32
- raise %[key: ]+ %[#{@err_method.join('->')}].green + %[ does not exist! please check the key once again].red if !@resp.include?(method) && data[:has_key].nil?
33
+ if (method.is_a? Integer) && (has_key != nil)
34
+ @valid_key = false
35
+ elsif (!method.is_a? Integer) && (has_key != nil)
36
+ @valid_key = @resp.has_key? method
37
+ elsif (method.is_a? Integer) && has_key.nil?
38
+ raise %[key: ]+ %[#{@err_method.join('->')}].green + %[ does not exist! please check the key once again].red if ((@resp.class != Array) || (method.to_i >= @resp.count))
39
+ elsif (method.is_a? String) && has_key.nil?
40
+ raise %[key: ]+ %[#{@err_method.join('->')}].green + %[ does not exist! please check the key once again].red if !@resp.include?(method)
33
41
  end
34
42
  @resp = @resp.send(:[], method)
35
43
  rescue NoMethodError
36
- raise %[key: ]+ %[#{@err_method.join('->')}].green + %[ does not exist! please check the key once again].red if data[:has_key].nil?
44
+ raise %[key: ]+ %[#{@err_method.join('->')}].green + %[ does not exist! please check the key once again].red if has_key.nil?
37
45
  end
38
46
  end
39
47
 
40
48
  case operator
41
49
  when '=', '==', 'eql', 'eql?', 'equal', 'equal?'
42
50
  # has key validation
43
- validate_key(has_key, data) if has_key != nil
51
+ validate_key(@valid_key, has_key, data) if has_key != nil
44
52
 
45
53
  # value validation
46
54
  expect(value).to eq(@resp), lambda {"[key]: \"#{data[:key]}\"".blue + "\n didn't match \n[value]: \"#{data[:value]}\"\n"} if value != nil
@@ -60,7 +68,7 @@ module ClientApi
60
68
 
61
69
  when '!', '!=', '!eql', '!eql?', 'not eql', 'not equal', '!equal?'
62
70
  # has key validation
63
- validate_key(has_key, data) if has_key != nil
71
+ validate_key(@valid_key, has_key, data) if has_key != nil
64
72
 
65
73
  # value validation
66
74
  expect(value).not_to eq(@resp), lambda {"[key]: \"#{data[:key]}\"".blue + "\n didn't match \n[value]: \"#{data[:value]}\"\n"} if value != nil
@@ -93,7 +101,7 @@ module ClientApi
93
101
  message = 'is not lesser than' if operator == '<' || operator == 'less than' || operator == 'lesser than'
94
102
 
95
103
  # has key validation
96
- validate_key(has_key, data) if has_key != nil
104
+ validate_key(@valid_key, has_key, data) if has_key != nil
97
105
 
98
106
  # value validation
99
107
  expect(@resp.to_i.public_send(operator, value)).to eq(true), "[key]: \"#{data[:key]}\"".blue + "\n #{message} \n[value]: \"#{data[:value]}\"\n" if value != nil
@@ -117,7 +125,7 @@ module ClientApi
117
125
 
118
126
  when 'contains', 'has', 'contains?', 'has?', 'include', 'include?'
119
127
  # has key validation
120
- validate_key(has_key, data) if has_key != nil
128
+ validate_key(@valid_key, has_key, data) if has_key != nil
121
129
 
122
130
  # value validation
123
131
  expect(@resp.to_s).to include(value.to_s), lambda {"[key]: \"#{data[:key]} => #{@resp}\"".blue + "\n not contains \n[value]: \"#{data[:value]}\"\n"} if value != nil
@@ -145,7 +153,7 @@ module ClientApi
145
153
 
146
154
  when 'not contains', '!contains', 'not include', '!include'
147
155
  # has key validation
148
- validate_key(has_key, data) if has_key != nil
156
+ validate_key(@valid_key, has_key, data) if has_key != nil
149
157
 
150
158
  # value validation
151
159
  expect(@resp.to_s).not_to include(value.to_s), lambda {"[key]: \"#{data[:key]} => #{@resp}\"".blue + "\n should not contain \n[value]: \"#{data[:value]}\"\n"} if value != nil
@@ -230,21 +238,14 @@ module ClientApi
230
238
  end
231
239
  end
232
240
 
233
- def validate_key(has_key, data)
234
- case has_key
241
+ def validate_key(valid_key, has_key, data)
242
+ case valid_key
235
243
  when true
236
- begin
237
- expect(@resp.nil?).to eq(false), lambda {"[key]: \"#{data[:key]}\"".blue + "\n does not exist"+"\n"}
238
- rescue NoMethodError
239
- raise "[key]: \"#{data[:key]}\"".blue + "\n does not exist"+"\n"
240
- end
241
-
244
+ expect(valid_key).to eq(true), lambda {"[key]: \"#{data[:key]}\"".blue + "\n does not exist"+"\n"} if has_key == true
245
+ expect(valid_key).to eq(false), lambda {"[key]: \"#{data[:key]}\"".blue + "\n does exist"+"\n"} if has_key == false
242
246
  when false
243
- begin
244
- expect(@resp.nil?).to eq(true), lambda {"[key]: \"#{data[:key]}\"".blue + "\n does exist"+"\n"}
245
- rescue NoMethodError
246
- true
247
- end
247
+ expect(@resp.nil?).to eq(false), lambda {"[key]: \"#{data[:key]}\"".blue + "\n does not exist"+"\n"} if has_key == true
248
+ expect(@resp.nil?).to eq(true), lambda {"[key]: \"#{data[:key]}\"".blue + "\n does exist"+"\n"} if has_key == false
248
249
  end
249
250
  end
250
251
 
@@ -1,3 +1,3 @@
1
1
  module ClientApi
2
- VERSION = "0.3.5".freeze
2
+ VERSION = "0.3.6".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: client-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Prashanth Sams
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-11-25 00:00:00.000000000 Z
11
+ date: 2019-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler