client-api 0.3.5 → 0.3.6

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: 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