quinoa 0.0.11 → 0.0.12

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
  SHA1:
3
- metadata.gz: ca78ca9a7145903febd11f41319a4ab5788c4d96
4
- data.tar.gz: 9328cbc86f97b6b6c94ba0a3e998e92c498e05c0
3
+ metadata.gz: e9134ab658e1dd3179dc1457e998629e11f2d854
4
+ data.tar.gz: 1686da5cbd70f796996f5b2b0f2260fbfe5d181a
5
5
  SHA512:
6
- metadata.gz: '081cb739b5a70aaa723fb3a6218823c4038d0ed8234784f22b96275f08fa299a524b0b590a21e8806ccfadd9eadce1ed03aa19663fff40d63d09597ba92fc843'
7
- data.tar.gz: 65bd1981b810bec653c87f0b999ecc81f1ca3a7f193d14cd3bb5cc0bc4dc0003f12b87cb350a2e60f51b2826197cd5d6882d41661b21639f035fd107206696b4
6
+ metadata.gz: 8e31a232a1511cd4d3e8108b322972e618874ead066b90a3d208ded964089741ebd3185a85801f7a3e3c016c53711936de953c9297135f57b8ce1c30af7541b8
7
+ data.tar.gz: 6f8cb0f6cbfe7580bf60098bf89bf7cf8fe427dcb5bedf6d0225db1ec1053d4e27602c68bc9f8988a98bb3ea4912c89caa8b64ee602464e4ba22d70326f4bc2b
@@ -2,3 +2,5 @@ language: ruby
2
2
  rvm:
3
3
  - 2.2.0
4
4
  - 2.3.0
5
+
6
+ after_script: bundle exec codeclimate-test-reporter
@@ -1,17 +1,18 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- quinoa (0.0.11)
4
+ quinoa (0.0.12)
5
5
  rest-client (~> 2.0.0)
6
6
  rspec (~> 3.5.0)
7
7
 
8
8
  GEM
9
9
  remote: http://rubygems.org/
10
10
  specs:
11
- addressable (2.4.0)
12
- builder (3.2.2)
13
- codeclimate-test-reporter (0.6.0)
14
- simplecov (>= 0.7.1, < 1.0.0)
11
+ addressable (2.5.0)
12
+ public_suffix (~> 2.0, >= 2.0.2)
13
+ builder (3.2.3)
14
+ codeclimate-test-reporter (1.0.5)
15
+ simplecov
15
16
  coderay (1.1.1)
16
17
  crack (0.4.3)
17
18
  safe_yaml (~> 1.0.0)
@@ -26,15 +27,15 @@ GEM
26
27
  cucumber-core (1.5.0)
27
28
  gherkin (~> 4.0)
28
29
  cucumber-wire (0.0.1)
29
- diff-lcs (1.2.5)
30
+ diff-lcs (1.3)
30
31
  docile (1.1.5)
31
- domain_name (0.5.20160826)
32
+ domain_name (0.5.20161129)
32
33
  unf (>= 0.0.5, < 1.0.0)
33
34
  gherkin (4.0.0)
34
- hashdiff (0.3.0)
35
+ hashdiff (0.3.2)
35
36
  http-cookie (1.0.3)
36
37
  domain_name (~> 0.5)
37
- json (2.0.2)
38
+ json (2.0.3)
38
39
  method_source (0.8.2)
39
40
  mime-types (3.1)
40
41
  mime-types-data (~> 3.2015)
@@ -48,7 +49,8 @@ GEM
48
49
  coderay (~> 1.1.0)
49
50
  method_source (~> 0.8.1)
50
51
  slop (~> 3.4)
51
- rake (11.3.0)
52
+ public_suffix (2.0.5)
53
+ rake (12.0.0)
52
54
  rest-client (2.0.0)
53
55
  http-cookie (>= 1.0.2, < 2.0)
54
56
  mime-types (>= 1.16, < 4.0)
@@ -67,16 +69,19 @@ GEM
67
69
  rspec-support (~> 3.5.0)
68
70
  rspec-support (3.5.0)
69
71
  safe_yaml (1.0.4)
70
- simplecov (0.12.0)
72
+ simplecov (0.13.0)
71
73
  docile (~> 1.1.0)
72
74
  json (>= 1.8, < 3)
73
75
  simplecov-html (~> 0.10.0)
74
76
  simplecov-html (0.10.0)
77
+ simplecov-json (0.2)
78
+ json
79
+ simplecov
75
80
  slop (3.6.0)
76
81
  unf (0.1.4)
77
82
  unf_ext
78
83
  unf_ext (0.0.7.2)
79
- webmock (2.1.0)
84
+ webmock (2.3.2)
80
85
  addressable (>= 2.3.6)
81
86
  crack (>= 0.3.2)
82
87
  hashdiff
@@ -85,14 +90,15 @@ PLATFORMS
85
90
  ruby
86
91
 
87
92
  DEPENDENCIES
88
- codeclimate-test-reporter (~> 0.6.0)
93
+ codeclimate-test-reporter (~> 1.0.5)
89
94
  cucumber (~> 2.4.0)
90
95
  nyan-cat-formatter (~> 0.11)
91
96
  pry (~> 0.10.4)
92
97
  quinoa!
93
- rake (~> 11.3.0)
94
- simplecov (~> 0.12.0)
95
- webmock (~> 2.1.0)
98
+ rake (~> 12.0.0)
99
+ simplecov (~> 0.13.0)
100
+ simplecov-json (~> 0.2)
101
+ webmock (~> 2.3.2)
96
102
 
97
103
  BUNDLED WITH
98
104
  1.13.6
data/changelog CHANGED
@@ -1,4 +1,9 @@
1
- 0.0.10: Adding first version of expectations and report api
1
+ 0.0.12: Adding put method
2
+ - adding put method
3
+ - small code improvements
4
+ - updating development dependencies
5
+
6
+ 0.0.11: Adding first version of expectations and report api
2
7
  - adding report
3
8
  - adding expectations
4
9
 
@@ -18,51 +18,31 @@ module Quinoa
18
18
  self.url = url
19
19
  end
20
20
 
21
+ def put! url=nil
22
+ p_methods("put", url)
23
+ end
24
+
21
25
  def post! url=nil
22
- begin
23
- if url == nil
24
- get_time {
25
- RestClient.post(
26
- self.url + self.path,
27
- self.body,
28
- {:accept => self.accept,
29
- :content_type => self.content_type,
30
- :authorization => self.authorization}.merge!(self.custom_headers)
31
- )
32
- }
33
- else
34
- get_time {
35
- RestClient.post(
36
- url,
37
- self.body,
38
- {:accept => self.accept,
39
- :content_type => self.content_type,
40
- :authorization => self.authorization}.merge!(self.custom_headers)
41
- )
42
- }
43
- end
44
- rescue => e
45
- self.response = e.response
46
- end
26
+ p_methods("post", url)
47
27
  end
48
28
 
49
29
  def get! url=nil
50
30
  begin
51
31
  if url == nil
52
- get_time {
32
+ get_time {
53
33
  RestClient.get(
54
- self.url + self.path,
55
- {:accept => self.accept,
34
+ self.url + self.path,
35
+ {:accept => self.accept,
56
36
  :authorization => self.authorization}.merge!(self.custom_headers)
57
- )
37
+ )
58
38
  }
59
39
  else
60
- get_time {
61
- RestClient.get(
62
- url,
63
- {:accept => self.accept,
40
+ get_time {
41
+ RestClient.get(
42
+ url,
43
+ {:accept => self.accept,
64
44
  :authorization => self.authorization}.merge!(self.custom_headers)
65
- )
45
+ )
66
46
  }
67
47
  end
68
48
  rescue => e
@@ -90,7 +70,7 @@ module Quinoa
90
70
  self.response.headers[:location]
91
71
  end
92
72
 
93
- def add_custom_header custom_header_name, custom_header_value
73
+ def add_custom_header custom_header_name, custom_header_value
94
74
  self.custom_headers.merge! custom_header_name.to_sym => custom_header_value.to_s
95
75
  end
96
76
 
@@ -121,11 +101,11 @@ module Quinoa
121
101
 
122
102
  self.assertions.merge! get_assertion_record(
123
103
  assertion_item,
124
- expectation_map[:value],
104
+ expectation_map[:value],
125
105
  check_attribute?(
126
106
  assertion_item,
127
- expectation_map[:value],
128
- expectation_map[:compare_using]),
107
+ expectation_map[:value],
108
+ expectation_map[:compare_using]),
129
109
  expectation_map[:level])
130
110
  end
131
111
  end
@@ -143,6 +123,36 @@ module Quinoa
143
123
  end
144
124
 
145
125
  private
126
+ def p_methods method_name, url=nil
127
+ meth = RestClient.method(method_name)
128
+ begin
129
+ if url == nil
130
+ get_time {
131
+ meth.call(
132
+ self.url + self.path,
133
+ self.body,
134
+ {:accept => self.accept,
135
+ :content_type => self.content_type,
136
+ :authorization => self.authorization}.merge!(self.custom_headers)
137
+ )
138
+ }
139
+ else
140
+ get_time {
141
+ meth.call(
142
+ url,
143
+ self.body,
144
+ {:accept => self.accept,
145
+ :content_type => self.content_type,
146
+ :authorization => self.authorization}.merge!(self.custom_headers)
147
+ )
148
+ }
149
+ end
150
+ rescue => e
151
+ self.response = e.response
152
+ end
153
+ end
154
+
155
+
146
156
  def add_expectation attribute, value, comparison = "eq", level = :warn
147
157
  self.expectations.merge! attribute.to_sym => {:compare_using => comparison, :value => value, :level => level}
148
158
  end
@@ -1,3 +1,3 @@
1
1
  module Quinoa
2
- VERSION = "0.0.11"
2
+ VERSION = "0.0.12"
3
3
  end
@@ -21,13 +21,14 @@ Gem::Specification.new do |s|
21
21
 
22
22
  s.require_paths = ["lib"]
23
23
 
24
- s.add_development_dependency 'simplecov', '~> 0.12.0'
25
- s.add_development_dependency 'codeclimate-test-reporter', '~> 0.6.0'
24
+ s.add_development_dependency 'simplecov', '~> 0.13.0'
25
+ s.add_development_dependency 'simplecov-json', '~> 0.2'
26
+ s.add_development_dependency 'codeclimate-test-reporter', '~> 1.0.5'
26
27
  s.add_development_dependency 'pry', '~> 0.10.4'
27
- s.add_development_dependency 'rake', '~> 11.3.0'
28
+ s.add_development_dependency 'rake', '~> 12.0.0'
28
29
  s.add_development_dependency 'nyan-cat-formatter', '~> 0.11'
29
30
  s.add_development_dependency 'cucumber', '~> 2.4.0'
30
- s.add_development_dependency 'webmock', '~> 2.1.0'
31
+ s.add_development_dependency 'webmock', '~> 2.3.2'
31
32
 
32
33
  s.add_dependency 'rest-client', '~> 2.0.0'
33
34
  s.add_dependency 'rspec', '~> 3.5.0'
@@ -101,7 +101,7 @@ describe Quinoa do
101
101
  expect(@service.custom_headers).to eq Hash[:"my-company-custom-header" => "text", :"my-foo-custom-header" => "foo"]
102
102
  end
103
103
 
104
- ["post", "get"].each do |method|
104
+ ["post", "get", "put"].each do |method|
105
105
  it "Should be present in the #{method} requests" do
106
106
  # For this mock order matters
107
107
  stub_request(:any, "http://www.camiloribeiro.com").
@@ -133,7 +133,7 @@ describe Quinoa do
133
133
  end
134
134
  end
135
135
 
136
- describe "overwiting the entire url to post and get" do
136
+ describe "overwiting the entire url to post, put get" do
137
137
 
138
138
  before(:each) do
139
139
  stub_request(:any, "http://www.bugbang.com.br/foo").
@@ -168,6 +168,17 @@ describe Quinoa do
168
168
  expect(@service.authorization).to eq "token !#€%&/()="
169
169
  expect(@service.response.code).to eq(200)
170
170
  end
171
+
172
+ it "should overwite for put" do
173
+ @service.put! "http://www.bugbang.com.br/foo"
174
+
175
+ # explicity
176
+ expect(@service.response.headers[:accept]).to eq("application/xml")
177
+ expect(@service.response.headers[:content_type]).to eq("application/json")
178
+ expect(@service.response.body).to eq("simple response")
179
+ expect(@service.authorization).to eq "token !#€%&/()="
180
+ expect(@service.response.code).to eq(200)
181
+ end
171
182
  end
172
183
 
173
184
 
@@ -206,6 +217,24 @@ describe Quinoa do
206
217
  expect(@service.response_code).to eq(200)
207
218
  end
208
219
 
220
+ it "should put" do
221
+ @service.put!
222
+
223
+ # explicity
224
+ expect(@service.response.headers[:accept]).to eq("application/xml")
225
+ expect(@service.response.headers[:content_type]).to eq("application/json")
226
+ expect(@service.response.body).to eq("simple response")
227
+ expect(@service.authorization).to eq "token !#€%&/()="
228
+ expect(@service.response.code).to eq(200)
229
+
230
+ # natural
231
+ expect(@service.response_accept).to eq("application/xml")
232
+ expect(@service.response_content_type).to eq("application/json")
233
+ expect(@service.response_body).to eq("simple response")
234
+ expect(@service.authorization).to eq "token !#€%&/()="
235
+ expect(@service.response_code).to eq(200)
236
+ end
237
+
209
238
  it "should get" do
210
239
  @service.get!
211
240
 
@@ -261,6 +290,22 @@ describe Quinoa do
261
290
  expect(@service.response_code).to eq(code)
262
291
  end
263
292
 
293
+ it "should put" do
294
+ @service.put!
295
+
296
+ # explicity
297
+ expect(@service.response.headers[:accept]).to eq("application/xml")
298
+ expect(@service.response.headers[:content_type]).to eq("application/json")
299
+ expect(@service.response.body).to eq("simple response")
300
+ expect(@service.response.code).to eq(code)
301
+
302
+ # natural
303
+ expect(@service.response_accept).to eq("application/xml")
304
+ expect(@service.response_content_type).to eq("application/json")
305
+ expect(@service.response_body).to eq("simple response")
306
+ expect(@service.response_code).to eq(code)
307
+ end
308
+
264
309
  it "should get" do
265
310
  @service.get!
266
311
 
@@ -314,6 +359,24 @@ describe Quinoa do
314
359
  expect(@service.response_code).to eq(code)
315
360
  end
316
361
 
362
+ it "should put" do
363
+ @service.put!
364
+
365
+ # explicity
366
+ expect(@service.response.headers[:accept]).to eq("application/xml")
367
+ expect(@service.response.headers[:content_type]).to eq("application/json")
368
+ expect(@service.response.body).to eq("simple response")
369
+ expect(@service.response.headers[:location]).to eq("http://www.bugbang.com.br")
370
+ expect(@service.response.code).to eq(code)
371
+
372
+ # natural
373
+ expect(@service.response_accept).to eq("application/xml")
374
+ expect(@service.response_content_type).to eq("application/json")
375
+ expect(@service.response_body).to eq("simple response")
376
+ expect(@service.response_location).to eq("http://www.bugbang.com.br")
377
+ expect(@service.response_code).to eq(code)
378
+ end
379
+
317
380
  it "should get" do
318
381
 
319
382
  @service.get!
@@ -1,7 +1,12 @@
1
1
  require 'rspec'
2
2
  require 'webmock/rspec'
3
3
  require 'simplecov'
4
+ require 'simplecov-json'
4
5
 
6
+ SimpleCov.formatters = [
7
+ SimpleCov::Formatter::HTMLFormatter,
8
+ SimpleCov::Formatter::JSONFormatter,
9
+ ]
5
10
  SimpleCov.start
6
11
 
7
12
  RSpec.configure do |config|
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quinoa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Camilo Ribeiro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-23 00:00:00.000000000 Z
11
+ date: 2017-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: simplecov
@@ -16,28 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.12.0
19
+ version: 0.13.0
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.12.0
26
+ version: 0.13.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: simplecov-json
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.2'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.2'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: codeclimate-test-reporter
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
45
  - - "~>"
32
46
  - !ruby/object:Gem::Version
33
- version: 0.6.0
47
+ version: 1.0.5
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
52
  - - "~>"
39
53
  - !ruby/object:Gem::Version
40
- version: 0.6.0
54
+ version: 1.0.5
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: pry
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +72,14 @@ dependencies:
58
72
  requirements:
59
73
  - - "~>"
60
74
  - !ruby/object:Gem::Version
61
- version: 11.3.0
75
+ version: 12.0.0
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - "~>"
67
81
  - !ruby/object:Gem::Version
68
- version: 11.3.0
82
+ version: 12.0.0
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: nyan-cat-formatter
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -100,14 +114,14 @@ dependencies:
100
114
  requirements:
101
115
  - - "~>"
102
116
  - !ruby/object:Gem::Version
103
- version: 2.1.0
117
+ version: 2.3.2
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
122
  - - "~>"
109
123
  - !ruby/object:Gem::Version
110
- version: 2.1.0
124
+ version: 2.3.2
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: rest-client
113
127
  requirement: !ruby/object:Gem::Requirement