cucumber-http 0.1.3 → 0.3.1

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
- SHA1:
3
- metadata.gz: db09007776b7080549a13a86e301a75f4c979741
4
- data.tar.gz: b7ef953e7f55853ad877f4a5f7cdada6327c101c
2
+ SHA256:
3
+ metadata.gz: 7707172531d26bbfdc20747882134db3cf009569dcbbd9da1340113a4026a77c
4
+ data.tar.gz: becc331dfcbf82ef2ad9059561023639b43e4fe4ecba6ce9692bd12720114c04
5
5
  SHA512:
6
- metadata.gz: a5a566e3103706625fc736859a05af63f97dd709c7c90c955d4ba5aa6080c664e2277f2dea1f6eb2f37c87967c7496c59d07b995ee45f968ff00753ef2b038c2
7
- data.tar.gz: f8aaa79b60e1eb017faceb048c79a404e0441dace6d62c802dbc69026f9312a5640d575e30b8924699cce030cc20b650d278b07411b9ef0e92b622f387e6a50e
6
+ metadata.gz: '098aa6a7e5cf4474b398672d558de96533978feada030b11abf8625737d0294173e9cb15825741dbb54b0a9aa8480cecaa4a7f75c771f2a3be172eb0372be1bb'
7
+ data.tar.gz: 161dded2bd5230f25ab53f6655856c31be169f761a05cd8cd830fdc5656d4b9fcce5586dae742cf1347c65ddec80e9fb6a313c8ad10705652e6b8769eb27fb05
data/README.md CHANGED
@@ -122,7 +122,7 @@ Examples for testing the [REST API](https://apidoc.uitdatabank.be) of
122
122
 
123
123
  Creating an organizer with a random name:
124
124
  ```ruby
125
- When /^I(?: have)? created? an organizer with a random name of (#{CAPTURE_INTEGER}) characters?$/ do |characters|
125
+ When /^I create an organizer with a random name of (#{CAPTURE_INTEGER}) characters?$/ do |characters|
126
126
  name = Faker::Lorem.characters(characters)
127
127
  steps %Q{
128
128
  Given I am using the UDB3 development environment
@@ -139,7 +139,7 @@ end
139
139
 
140
140
  Creating a role with a random name:
141
141
  ```ruby
142
- When /^I(?: have)? created? a role with a random name of (#{CAPTURE_INTEGER}) characters?$/ do |characters|
142
+ When /^I create a role with a random name of (#{CAPTURE_INTEGER}) characters?$/ do |characters|
143
143
  name = Faker::Lorem.characters(characters)
144
144
  steps %Q{
145
145
  Given I am using the UDB3 development environment
@@ -1,14 +1,25 @@
1
+ Then /^show me the request$/ do
2
+ puts "Method: " + request[:method]
3
+ puts "URL: " + request[:url]
4
+ puts "Parameters: " + request[:parameters].inspect
5
+ puts "Headers: " + request[:headers].inspect
6
+ puts "Payload: " + request[:payload].to_s
7
+ end
8
+
1
9
  Then /^show me the( unparsed)? response$/ do |unparsed|
2
- if unparsed
3
- puts response[:body]
4
- elsif response[:headers]['Content-Type'] =~ /json/
5
- puts JSON.pretty_generate(JSON.parse(response['body']))
6
- elsif response[:headers]['Content-Type'] =~ /xml/
7
- puts Nokogiri::XML(response[:body])
8
- else
9
- puts response[:headers]
10
- puts response[:body]
10
+ body = response[:body]
11
+
12
+ if unparsed.nil?
13
+ if response[:headers]['content-type'][0] =~ /json/
14
+ body = JSON.pretty_generate(JSON.parse(response[:body]))
15
+ elsif response[:headers]['content-type'][0] =~ /xml/
16
+ body = Nokogiri::XML(response[:body])
17
+ end
11
18
  end
19
+
20
+ puts "Status: " + response[:status].to_s
21
+ puts "Headers: " + response[:headers].map { |k,v| { k.split('-').map(&:capitalize).join('-') => v.join } }.reduce(:merge).to_s
22
+ puts "Body: " + body
12
23
  end
13
24
 
14
25
  Then /^show me the kept values?$/ do
@@ -3,5 +3,6 @@ After do
3
3
  clear_parameters
4
4
  clear_headers
5
5
  clear_payload
6
+ clear_request
6
7
  clear_response
7
8
  end
@@ -1,5 +1,5 @@
1
1
  module Cucumber
2
2
  module Http
3
- VERSION = "0.1.3"
3
+ VERSION = "0.3.1"
4
4
  end
5
5
  end
@@ -6,11 +6,11 @@ module Cucumber
6
6
  end
7
7
 
8
8
  def add_header(key, value)
9
- headers[key.to_sym] = value
9
+ headers[key] = value
10
10
  end
11
11
 
12
12
  def remove_header(key)
13
- headers.tap { |hdrs| hdrs.delete(key.to_sym)}
13
+ headers.tap { |hdrs| hdrs.delete(key)}
14
14
  end
15
15
 
16
16
  def clear_headers
@@ -6,11 +6,11 @@ module Cucumber
6
6
  end
7
7
 
8
8
  def add_parameter(key, value)
9
- parameters[key.to_sym] = value
9
+ parameters[key] = value
10
10
  end
11
11
 
12
12
  def remove_parameter(key)
13
- parameters.tap { |pars| pars.delete(key.to_sym)}
13
+ parameters.tap { |pars| pars.delete(key)}
14
14
  end
15
15
 
16
16
  def clear_parameters
@@ -3,6 +3,14 @@ require 'rest-client'
3
3
  module Cucumber
4
4
  module Http
5
5
  module Request
6
+ def request
7
+ @request ||= {}
8
+ end
9
+
10
+ def set_request(key, value)
11
+ request[key.to_sym] = value
12
+ end
13
+
6
14
  def perform_request(method, path)
7
15
  add_header('params', parameters)
8
16
 
@@ -17,9 +25,19 @@ module Cucumber
17
25
  r = e.response
18
26
  end
19
27
 
28
+ set_request('url', path)
29
+ set_request('method', method.upcase)
30
+ set_request('headers', headers)
31
+ set_request('parameters', parameters)
32
+ set_request('payload', payload)
33
+
20
34
  set_response('status', r.code)
21
35
  set_response('body', r.body)
22
- set_response('headers', r.headers)
36
+ set_response('headers', r.raw_headers)
37
+ end
38
+
39
+ def clear_request
40
+ request.clear
23
41
  end
24
42
  end
25
43
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber-http
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kristof Willaert
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-10 00:00:00.000000000 Z
11
+ date: 2021-11-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cucumber
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.8'
47
+ version: '2.0'
48
48
  type: :runtime
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: '1.8'
54
+ version: '2.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: nokogiri
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -110,7 +110,7 @@ dependencies:
110
110
  version: '1.9'
111
111
  description: Cucumber steps to easily test external XML and JSON APIs
112
112
  email:
113
- - kristof.willaert@cultuurnet.be
113
+ - kristof.willaert@publiq.be
114
114
  executables: []
115
115
  extensions: []
116
116
  extra_rdoc_files: []
@@ -150,8 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
150
150
  - !ruby/object:Gem::Version
151
151
  version: '0'
152
152
  requirements: []
153
- rubyforge_project:
154
- rubygems_version: 2.5.2.3
153
+ rubygems_version: 3.1.2
155
154
  signing_key:
156
155
  specification_version: 4
157
156
  summary: Cucumber steps to easily test XML and JSON APIs