cucumber-http 0.1.3 → 0.2.0

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