cucumber-http 0.1.3 → 0.3.1

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