cucumber-http 0.1.3 → 0.2.0

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: db09007776b7080549a13a86e301a75f4c979741
4
- data.tar.gz: b7ef953e7f55853ad877f4a5f7cdada6327c101c
3
+ metadata.gz: a65c8016b80419b4fbb509b025be4a22705db47e
4
+ data.tar.gz: c20b6b1e287040a6b34dc6bf9652e0020fca274d
5
5
  SHA512:
6
- metadata.gz: a5a566e3103706625fc736859a05af63f97dd709c7c90c955d4ba5aa6080c664e2277f2dea1f6eb2f37c87967c7496c59d07b995ee45f968ff00753ef2b038c2
7
- data.tar.gz: f8aaa79b60e1eb017faceb048c79a404e0441dace6d62c802dbc69026f9312a5640d575e30b8924699cce030cc20b650d278b07411b9ef0e92b622f387e6a50e
6
+ metadata.gz: a8274df33bf7ec034b59e7719727abd58177ed319ace5865e7123cba57ae42adcc74752d7781a6832c62631287930cc906ac3dfab27b33a042d33680b08ac49e
7
+ data.tar.gz: 1a8db76e85b2e024de27de2ddb788bd9501d25bf2f78bb0da259b81c71f4352137cb811f22faa0b497136703cc43a0937507995086538eba0589ac993f6de499
@@ -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.2.0"
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.2.0
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: 2020-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cucumber