quinoa 0.0.10 → 0.0.11

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.
@@ -0,0 +1,126 @@
1
+ require File.dirname(__FILE__) + "/spec_helper"
2
+ require File.join(File.dirname(__FILE__), '../lib/quinoa/service.rb')
3
+
4
+ describe Quinoa do
5
+ describe "The service should have an api that supports the" do
6
+
7
+ before(:each) do
8
+ @service = Quinoa::Service.new "http://www.camiloribeiro.com"
9
+ end
10
+
11
+ it "reporting about the response" do
12
+ stub_request(:any, "http://www.camiloribeiro.com").
13
+ to_return(:status => 200, :body => "This request works fine")
14
+
15
+ @service = Quinoa::Service.new "http://www.camiloribeiro.com"
16
+ @service.get!
17
+
18
+ expect(JSON.parse(@service.report).to_hash["health"]).to eq "health"
19
+ expect(JSON.parse(@service.report).to_hash["response"]["status_code"]).to eq 200
20
+ expect(JSON.parse(@service.report).to_hash["response"]["response_body"]).to eq "This request works fine"
21
+ expect(JSON.parse(@service.report).to_hash["response"]["response_time"]).to be < 0.1
22
+
23
+ expect(JSON.parse(@service.report).to_hash["assertions"]).to be {}
24
+ end
25
+
26
+ describe "execution of internao assertions" do
27
+
28
+ it "for a check with success for status code" do
29
+ stub_request(:any, "http://www.camiloribeiro.com").
30
+ to_return(:status => 200, :body => "This request works fine")
31
+
32
+ expect(@service.expectations).to eq Hash[]
33
+ @service.add_expected_status 200
34
+
35
+ @service.post!
36
+ @service.check!
37
+
38
+ expect(JSON.parse(@service.report).to_hash["health"]).to eq "health"
39
+ expect(JSON.parse(@service.report).to_hash["response"]["status_code"]).to eq 200
40
+
41
+ expect(JSON.parse(@service.report).to_hash["assertions"]["status_code"]["status"]).to eq "health"
42
+ expect(JSON.parse(@service.report).to_hash["assertions"]["status_code"]["assertion_result"]).to eq true
43
+
44
+ end
45
+
46
+ it "for a check with success for body contains string" do
47
+ stub_request(:any, "http://www.camiloribeiro.com").
48
+ to_return(:status => 200, :body => "This request works fine")
49
+
50
+ expect(@service.expectations).to eq Hash[]
51
+ @service.add_expected_body_string "works"
52
+
53
+ @service.post!
54
+ @service.check!
55
+
56
+ expect(JSON.parse(@service.report).to_hash["health"]).to eq "health"
57
+
58
+ expect(JSON.parse(@service.report).to_hash["assertions"]["body"]["status"]).to eq "health"
59
+ expect(JSON.parse(@service.report).to_hash["assertions"]["body"]["assertion_result"]).to eq true
60
+
61
+ end
62
+
63
+ it "for a check with success for response time under a threshold" do
64
+ stub_request(:any, "http://www.camiloribeiro.com").
65
+ to_return(:status => 200, :body => "This request works fine")
66
+
67
+ expect(@service.expectations).to eq Hash[]
68
+ @service.add_expected_max_response_time 1
69
+
70
+ @service.post!
71
+ @service.check!
72
+
73
+ expect(JSON.parse(@service.report).to_hash["health"]).to eq "health"
74
+ expect(JSON.parse(@service.report).to_hash["response"]["response_time"]).to be < 0.1
75
+
76
+ expect(JSON.parse(@service.report).to_hash["assertions"]["response_time"]["status"]).to eq "health"
77
+ expect(JSON.parse(@service.report).to_hash["assertions"]["response_time"]["assertion_result"]).to eq true
78
+
79
+ end
80
+
81
+ it "for a check with success for all checks" do
82
+ stub_request(:any, "http://www.camiloribeiro.com").
83
+ to_return(:status => 200, :body => "This request works fine")
84
+
85
+ expect(@service.expectations).to eq Hash[]
86
+
87
+ @service.add_expected_status 200
88
+ @service.add_expected_body_string "works"
89
+ @service.add_expected_max_response_time 1
90
+
91
+ @service.post!
92
+ @service.check!
93
+
94
+ expect(JSON.parse(@service.report).to_hash["health"]).to eq "health"
95
+ expect(JSON.parse(@service.report).to_hash["response"]["response_time"]).to be < 0.1
96
+
97
+ expect(JSON.parse(@service.report).to_hash["assertions"]["response_time"]["status"]).to eq "health"
98
+ expect(JSON.parse(@service.report).to_hash["assertions"]["response_time"]["assertion_result"]).to eq true
99
+
100
+ expect(JSON.parse(@service.report).to_hash["assertions"]["body"]["status"]).to eq "health"
101
+ expect(JSON.parse(@service.report).to_hash["assertions"]["body"]["assertion_result"]).to eq true
102
+
103
+ expect(JSON.parse(@service.report).to_hash["assertions"]["status_code"]["status"]).to eq "health"
104
+ expect(JSON.parse(@service.report).to_hash["assertions"]["status_code"]["assertion_result"]).to eq true
105
+ end
106
+
107
+ it "for a check with failure returning the right level" do
108
+ stub_request(:any, "http://www.camiloribeiro.com").
109
+ to_return(:status => 200, :body => "This request works fine")
110
+
111
+ expect(@service.expectations).to eq Hash[]
112
+ @service.add_expected_status 300
113
+
114
+ @service.post!
115
+ @service.check!
116
+
117
+ expect(JSON.parse(@service.report).to_hash["health"]).to eq "fail"
118
+
119
+ expect(JSON.parse(@service.report).to_hash["assertions"]["status_code"]["status"]).to eq "fail"
120
+ expect(JSON.parse(@service.report).to_hash["assertions"]["status_code"]["assertion_result"]).to eq false
121
+
122
+ end
123
+
124
+ end
125
+ end
126
+ end
@@ -1,8 +1,8 @@
1
1
  require 'rspec'
2
2
  require 'webmock/rspec'
3
- require "codeclimate-test-reporter"
4
- CodeClimate::TestReporter.start
3
+ require 'simplecov'
5
4
 
5
+ SimpleCov.start
6
6
 
7
7
  RSpec.configure do |config|
8
8
  config.color = true
metadata CHANGED
@@ -1,141 +1,141 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quinoa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.11
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-02-09 00:00:00.000000000 Z
11
+ date: 2016-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: simplecov
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.11.1
19
+ version: 0.12.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.11.1
26
+ version: 0.12.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: codeclimate-test-reporter
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.4.8
33
+ version: 0.6.0
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.4.8
40
+ version: 0.6.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: pry
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.10.3
47
+ version: 0.10.4
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.10.3
54
+ version: 0.10.4
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 10.5.0
61
+ version: 11.3.0
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 10.5.0
68
+ version: 11.3.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: nyan-cat-formatter
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0.11'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0.11'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: cucumber
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 2.3.2
89
+ version: 2.4.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 2.3.2
96
+ version: 2.4.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: webmock
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ~>
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 1.22.6
103
+ version: 2.1.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ~>
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 1.22.6
110
+ version: 2.1.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rest-client
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ~>
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 1.8.0
117
+ version: 2.0.0
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ~>
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 1.8.0
124
+ version: 2.0.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rspec
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ~>
129
+ - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 3.4.0
131
+ version: 3.5.0
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ~>
136
+ - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 3.4.0
138
+ version: 3.5.0
139
139
  description: Quinoa is a light and nutritive framework that allows automate service
140
140
  level tests using object model
141
141
  email:
@@ -144,10 +144,10 @@ executables: []
144
144
  extensions: []
145
145
  extra_rdoc_files: []
146
146
  files:
147
- - .gitignore
148
- - .rspec
149
- - .ruby-version
150
- - .travis.yml
147
+ - ".gitignore"
148
+ - ".rspec"
149
+ - ".ruby-version"
150
+ - ".travis.yml"
151
151
  - Gemfile
152
152
  - Gemfile.lock
153
153
  - LICENSE
@@ -159,7 +159,8 @@ files:
159
159
  - lib/quinoa/version.rb
160
160
  - quinoa.gemspec
161
161
  - quinoa.jpg
162
- - spec/service_object_spec.rb
162
+ - spec/core_spec.rb
163
+ - spec/report_spec.rb
163
164
  - spec/spec_helper.rb
164
165
  homepage: http://github.com/camiloribeiro/quinoa
165
166
  licenses:
@@ -171,20 +172,21 @@ require_paths:
171
172
  - lib
172
173
  required_ruby_version: !ruby/object:Gem::Requirement
173
174
  requirements:
174
- - - '>='
175
+ - - ">="
175
176
  - !ruby/object:Gem::Version
176
177
  version: '0'
177
178
  required_rubygems_version: !ruby/object:Gem::Requirement
178
179
  requirements:
179
- - - '>='
180
+ - - ">="
180
181
  - !ruby/object:Gem::Version
181
182
  version: '0'
182
183
  requirements: []
183
184
  rubyforge_project: quinoa
184
- rubygems_version: 2.0.14
185
+ rubygems_version: 2.4.6
185
186
  signing_key:
186
187
  specification_version: 4
187
188
  summary: Service-Object Model for Ruby
188
189
  test_files:
189
- - spec/service_object_spec.rb
190
+ - spec/core_spec.rb
191
+ - spec/report_spec.rb
190
192
  - spec/spec_helper.rb
@@ -1,310 +0,0 @@
1
- require File.dirname(__FILE__) + "/spec_helper"
2
- require File.join(File.dirname(__FILE__), '../lib/quinoa/service.rb')
3
-
4
- describe Quinoa do
5
- describe "The service should have the basic items of a service under test" do
6
-
7
- before(:each) do
8
- @service = Quinoa::Service.new "http://www.camiloribeiro.com"
9
- end
10
-
11
- it "Should instantiate" do
12
- expect(@service.url).to eq "http://www.camiloribeiro.com"
13
- end
14
-
15
- it "Should have a authorizoation" do
16
- expect(@service.content_type).to eq nil
17
-
18
- @service.authorization = "token !#€%&/()="
19
- expect(@service.authorization).to eq "token !#€%&/()="
20
- end
21
-
22
- it "Should have a Content-Type" do
23
- expect(@service.content_type).to eq nil
24
-
25
- @service.content_type = "application/json"
26
- expect(@service.content_type).to eq "application/json"
27
- end
28
-
29
- it "Should have a Accept" do
30
- expect(@service.accept).to eq nil
31
-
32
- @service.accept = "application/xml;q=0.9,*/*;q=0.8."
33
- expect(@service.accept).to eq "application/xml;q=0.9,*/*;q=0.8."
34
- end
35
-
36
- it "Should have a body" do
37
- expect(@service.body).to eq nil
38
-
39
- @service.body = "text"
40
- expect(@service.body).to eq "text"
41
- end
42
-
43
- describe "Custom headers" do
44
-
45
- it "Should be able to add a single custom header" do
46
-
47
- expect(@service.custom_headers).to eq Hash[]
48
-
49
- @service.add_custom_header "my-company-custom-header", "text"
50
- expect(@service.custom_headers).to eq Hash[:"my-company-custom-header" => "text"]
51
- end
52
-
53
- it "Should be able to add many custom headers" do
54
- expect(@service.custom_headers).to eq Hash[]
55
-
56
- @service.add_custom_header "my-company-custom-header", "text"
57
- @service.add_custom_header "headerx", "bar"
58
- @service.add_custom_header :"my-foo-custom-header", "foo"
59
-
60
- expect(@service.custom_headers).to eq Hash[:"my-company-custom-header" => "text", :headerx => "bar", :"my-foo-custom-header" => "foo"]
61
- end
62
-
63
- it "Should be able to remove one among many custom headers" do
64
- expect(@service.custom_headers).to eq Hash[]
65
-
66
- @service.add_custom_header "my-company-custom-header", "text"
67
- @service.add_custom_header "headerx", "bar"
68
- @service.add_custom_header :"my-foo-custom-header", "foo"
69
-
70
- expect(@service.custom_headers).to eq Hash[:"my-company-custom-header" => "text", :headerx => "bar", :"my-foo-custom-header" => "foo"]
71
-
72
- @service.remove_custom_header "headerx"
73
-
74
- expect(@service.custom_headers).to eq Hash[:"my-company-custom-header" => "text", :"my-foo-custom-header" => "foo"]
75
- end
76
-
77
- ["post", "get"].each do |method|
78
- it "Should be present in the #{method} requests" do
79
- # For this mock order matters
80
- stub_request(:any, "http://www.camiloribeiro.com").
81
- to_return(:status => 200, :body => "This request requires a 'my-company-custom-header' to work")
82
-
83
- stub_request(:any, "http://www.camiloribeiro.com").
84
- with(:headers => { 'my-company-custom-header' => "text" }).
85
- to_return(:status => 200, :body => "This request works fine")
86
-
87
- @other_service = Quinoa::Service.new "http://www.camiloribeiro.com"
88
-
89
- expect(@service.custom_headers).to eq Hash[]
90
- expect(@other_service.custom_headers).to eq Hash[]
91
-
92
- @service.add_custom_header "my-company-custom-header", "text"
93
- @service.add_custom_header "headerx", "bar"
94
- @service.add_custom_header :"my-foo-custom-header", "foo"
95
-
96
- expect(@service.custom_headers).to eq Hash[:"my-company-custom-header" => "text", :headerx => "bar", :"my-foo-custom-header" => "foo"]
97
- expect(@other_service.custom_headers).to eq Hash[]
98
-
99
- @service.send "#{method}!"
100
- @other_service.send "#{method}!"
101
-
102
- expect(@service.response.body).to eq("This request works fine")
103
- expect(@other_service.response.body).to eq("This request requires a 'my-company-custom-header' to work")
104
- end
105
- end
106
- end
107
- end
108
-
109
- describe "overwiting the entire url to post and get" do
110
-
111
- before(:each) do
112
- stub_request(:any, "http://www.bugbang.com.br/foo").
113
- to_return(:status => 200, :body => "simple response", :headers => {:accept=>"application/xml", :content_type => "application/json"})
114
-
115
- @service = Quinoa::Service.new "http://www.camiloribeiro.com"
116
- @service.path = "/something"
117
- @service.content_type = "application/json"
118
- @service.authorization = "token !#€%&/()="
119
- @service.body = "simple body"
120
-
121
- end
122
-
123
- it "should overwite for get" do
124
- @service.get! "http://www.bugbang.com.br/foo"
125
-
126
- # explicity
127
- expect(@service.response.headers[:accept]).to eq("application/xml")
128
- expect(@service.response.headers[:content_type]).to eq("application/json")
129
- expect(@service.response.body).to eq("simple response")
130
- expect(@service.authorization).to eq "token !#€%&/()="
131
- expect(@service.response.code).to eq(200)
132
- end
133
-
134
- it "should overwite for post" do
135
- @service.post! "http://www.bugbang.com.br/foo"
136
-
137
- # explicity
138
- expect(@service.response.headers[:accept]).to eq("application/xml")
139
- expect(@service.response.headers[:content_type]).to eq("application/json")
140
- expect(@service.response.body).to eq("simple response")
141
- expect(@service.authorization).to eq "token !#€%&/()="
142
- expect(@service.response.code).to eq(200)
143
- end
144
- end
145
-
146
-
147
- describe "defining a different paths" do
148
-
149
- ["/", "/path"].each do |path|
150
- describe "should work for the path #{path}" do
151
-
152
- before(:each) do
153
- stub_request(:any, "http://www.camiloribeiro.com#{path}").
154
- to_return(:status => 200, :body => "simple response", :headers => {:accept=>"application/xml", :content_type => "application/json"})
155
-
156
- @service = Quinoa::Service.new "http://www.camiloribeiro.com"
157
- @service.path = path
158
- @service.content_type = "application/json"
159
- @service.authorization = "token !#€%&/()="
160
- @service.body = "simple body"
161
-
162
- end
163
-
164
- it "should post" do
165
- @service.post!
166
-
167
- # explicity
168
- expect(@service.response.headers[:accept]).to eq("application/xml")
169
- expect(@service.response.headers[:content_type]).to eq("application/json")
170
- expect(@service.response.body).to eq("simple response")
171
- expect(@service.authorization).to eq "token !#€%&/()="
172
- expect(@service.response.code).to eq(200)
173
-
174
- # natural
175
- expect(@service.response_accept).to eq("application/xml")
176
- expect(@service.response_content_type).to eq("application/json")
177
- expect(@service.response_body).to eq("simple response")
178
- expect(@service.authorization).to eq "token !#€%&/()="
179
- expect(@service.response_code).to eq(200)
180
- end
181
-
182
- it "should get" do
183
- @service.get!
184
-
185
- # explicity
186
- expect(@service.response.headers[:accept]).to eq("application/xml")
187
- expect(@service.response.headers[:content_type]).to eq("application/json")
188
- expect(@service.response.body).to eq("simple response")
189
- expect(@service.authorization).to eq "token !#€%&/()="
190
- expect(@service.response.code).to eq(200)
191
-
192
- # natural
193
- expect(@service.response_accept).to eq("application/xml")
194
- expect(@service.response_content_type).to eq("application/json")
195
- expect(@service.response_body).to eq("simple response")
196
- expect(@service.authorization).to eq "token !#€%&/()="
197
- expect(@service.response_code).to eq(200)
198
- end
199
-
200
-
201
- end
202
- end
203
- end
204
-
205
-
206
- describe "the service should have the basic behaviours of a service" do
207
-
208
- # 303 post and get, 301 get, 302 get and 307 get failing
209
- [100,101,102,200,201,202,203,204,205,206,207,208,226,300,304,305,306,308,308,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,420,421,422,423,424,426,428,429,431,440,444,449,450,451,451,494,495,496,497,498,499,499,500,501,502,503,504,505,506,507,508,509,510,511,520,522,598,599].each do |code|
210
- describe "when returning code #{code}" do
211
- before(:each) do
212
- stub_request(:any, "http://www.camiloribeiro.com/").
213
- to_return(:status => code, :body => "simple response", :headers => {:accept=>"application/xml", :content_type => "application/json"})
214
-
215
- @service = Quinoa::Service.new "http://www.camiloribeiro.com"
216
- @service.content_type = "application/json"
217
- @service.body = "simple body"
218
-
219
- end
220
-
221
- it "should post" do
222
- @service.post!
223
-
224
- # explicity
225
- expect(@service.response.headers[:accept]).to eq("application/xml")
226
- expect(@service.response.headers[:content_type]).to eq("application/json")
227
- expect(@service.response.body).to eq("simple response")
228
- expect(@service.response.code).to eq(code)
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.response_code).to eq(code)
235
- end
236
-
237
- it "should get" do
238
- @service.get!
239
-
240
- # explicity
241
- expect(@service.response.headers[:accept]).to eq("application/xml")
242
- expect(@service.response.headers[:content_type]).to eq("application/json")
243
- expect(@service.response.body).to eq("simple response")
244
- expect(@service.response.code).to eq(code)
245
-
246
- # natural
247
- expect(@service.response_accept).to eq("application/xml")
248
- expect(@service.response_content_type).to eq("application/json")
249
- expect(@service.response_body).to eq("simple response")
250
- expect(@service.response_code).to eq(code)
251
- end
252
-
253
- end
254
- end
255
-
256
- # 303 post and get, 301 get, 302 get and 307 get failing
257
- [301,302,307].each do |code|
258
- describe "when returning code #{code}" do
259
- before(:each) do
260
- stub_request(:any, "http://www.camiloribeiro.com/").
261
- to_return(:status => code, :body => "simple response", :headers => {:accept=>"application/xml", :content_type => "application/json", :location => "http://www.bugbang.com.br"})
262
-
263
- stub_request(:any, "http://www.bugbang.com.br/").
264
- to_return(:status => 200, :body => "followed redirect", :headers => {:accept=>"application/xml", :content_type => "application/json"})
265
-
266
- @service = Quinoa::Service.new "http://www.camiloribeiro.com"
267
- @service.content_type = "application/json"
268
- @service.body = "simple body"
269
-
270
- end
271
-
272
- it "should post" do
273
- @service.post!
274
-
275
- # explicity
276
- expect(@service.response.headers[:accept]).to eq("application/xml")
277
- expect(@service.response.headers[:content_type]).to eq("application/json")
278
- expect(@service.response.body).to eq("simple response")
279
- expect(@service.response.headers[:location]).to eq("http://www.bugbang.com.br")
280
- expect(@service.response.code).to eq(code)
281
-
282
- # natural
283
- expect(@service.response_accept).to eq("application/xml")
284
- expect(@service.response_content_type).to eq("application/json")
285
- expect(@service.response_body).to eq("simple response")
286
- expect(@service.response_location).to eq("http://www.bugbang.com.br")
287
- expect(@service.response_code).to eq(code)
288
- end
289
-
290
- it "should get" do
291
-
292
- @service.get!
293
-
294
- # explicity
295
- expect(@service.response.headers[:accept]).to eq("application/xml")
296
- expect(@service.response.headers[:content_type]).to eq("application/json")
297
- expect(@service.response.body).to eq("followed redirect")
298
- expect(@service.response.code).to eq(200)
299
-
300
- # natural
301
- expect(@service.response_accept).to eq("application/xml")
302
- expect(@service.response_content_type).to eq("application/json")
303
- expect(@service.response_body).to eq("followed redirect")
304
- expect(@service.response_code).to eq(200)
305
- end
306
-
307
- end
308
- end
309
- end
310
- end