cucumber-rest-api 0.3 → 0.4
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 +4 -4
- data/lib/cucumber/rest_api/http_client.rb +33 -40
- metadata +13 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b59f711b8d0908d99622f92161db48e7779a9b30
|
4
|
+
data.tar.gz: c507dae16ba61fbb22f6493565d4633458d7bc0a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0ff944314c557f163f5ce978604e1448d67a918b3f31dc6d085e6728ca5864d9d6360ffef46754b39cfa9dfa2d3b6d1fa3b6f3143814f076adc5460c4c940e9e
|
7
|
+
data.tar.gz: 76c1ae63bcc8add2a49fa5ee118ba5a6239841e0ae490683d8dacbe94209a44ba2d62d287ac2daaa44d7cecb1cc2772618a850bd5b0ecbd0c056330037ca41cf
|
@@ -1,29 +1,26 @@
|
|
1
1
|
require "net/http"
|
2
2
|
require "net/https"
|
3
3
|
require "uri"
|
4
|
-
require
|
4
|
+
require "json"
|
5
5
|
|
6
6
|
class Object
|
7
|
-
|
7
|
+
|
8
8
|
@headers == nil
|
9
9
|
|
10
10
|
def blank?
|
11
|
-
|
12
|
-
|
11
|
+
respond_to?(:empty?) ? empty? : !self
|
12
|
+
end
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
def present?
|
15
|
+
!blank?
|
16
|
+
end
|
17
17
|
|
18
18
|
def header key, value
|
19
|
-
if @headers == nil
|
20
|
-
@headers = Hash.new(0)
|
21
|
-
end
|
22
|
-
|
19
|
+
@headers = Hash.new(0) if @headers == nil
|
23
20
|
@headers[key] = value
|
24
21
|
end
|
25
22
|
|
26
|
-
|
23
|
+
def last_response
|
27
24
|
return @response
|
28
25
|
end
|
29
26
|
|
@@ -34,13 +31,13 @@ class Object
|
|
34
31
|
http = Net::HTTP.new(uri.host, uri.port)
|
35
32
|
|
36
33
|
if request_opts[:method] == :post
|
37
|
-
|
34
|
+
request, body = send_post_request(uri, request_opts)
|
38
35
|
elsif request_opts[:method] == :put
|
39
|
-
|
36
|
+
request, body = perform_put_request(uri, request_opts)
|
40
37
|
elsif request_opts[:method] == :get
|
41
|
-
|
38
|
+
request = send_get_request(uri, request_opts)
|
42
39
|
elsif request_opts[:method] == :delete
|
43
|
-
|
40
|
+
request, body = perform_delete_request(uri, request_opts)
|
44
41
|
end
|
45
42
|
|
46
43
|
#do we have any headers to add?
|
@@ -49,37 +46,24 @@ class Object
|
|
49
46
|
@headers = nil
|
50
47
|
end
|
51
48
|
|
52
|
-
if req.include? "https"
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
else
|
57
|
-
|
58
|
-
|
49
|
+
if req.include? "https"
|
50
|
+
http.use_ssl = true
|
51
|
+
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
52
|
+
@response = http.request(request,body)
|
53
|
+
else
|
54
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
55
|
+
@response = http.request(request,body)
|
59
56
|
end
|
60
57
|
end
|
61
58
|
|
62
|
-
|
63
59
|
def send_post_request uri,request_opts
|
64
60
|
request = Net::HTTP::Post.new(uri.request_uri)
|
65
|
-
|
66
|
-
if request_opts[:params]
|
67
|
-
body = request_opts[:params].to_json
|
68
|
-
else
|
69
|
-
body = request_opts[:input]
|
70
|
-
end
|
71
|
-
return request, body
|
61
|
+
return request, format_request_options(request_opts)
|
72
62
|
end
|
73
63
|
|
74
64
|
def perform_put_request uri,request_opts
|
75
65
|
request = Net::HTTP::Put.new(uri.request_uri)
|
76
|
-
|
77
|
-
if request_opts[:params]
|
78
|
-
body = request_opts[:params].to_json
|
79
|
-
else
|
80
|
-
body = request_opts[:input]
|
81
|
-
end
|
82
|
-
return request, body
|
66
|
+
return request, format_request_options(request_opts)
|
83
67
|
end
|
84
68
|
|
85
69
|
def send_get_request uri,request_opts
|
@@ -87,10 +71,19 @@ class Object
|
|
87
71
|
return request
|
88
72
|
end
|
89
73
|
|
90
|
-
|
91
74
|
def perform_delete_request uri,request_opts
|
92
75
|
request = Net::HTTP::Delete.new(uri.request_uri)
|
93
|
-
return request
|
76
|
+
return request, format_request_options(request_opts)
|
77
|
+
end
|
78
|
+
|
79
|
+
def format_request_options request_opts
|
80
|
+
body = nil
|
81
|
+
if request_opts[:params]
|
82
|
+
body = request_opts[:params].to_json
|
83
|
+
else
|
84
|
+
body = request_opts[:input]
|
85
|
+
end
|
86
|
+
return request, body
|
94
87
|
end
|
95
88
|
|
96
89
|
end
|
metadata
CHANGED
@@ -1,69 +1,69 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cucumber-rest-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.4'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anupama Vijaykumar,Nic Jackson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-12-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jsonpath
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 0.1.2
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 0.1.2
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: nokogiri
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 1.6.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 1.6.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: cucumber
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 1.2.1
|
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
54
|
version: 1.2.1
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 2.12.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 2.12.0
|
69
69
|
description: Cucumber steps to easily test REST-based XML and JSON APIs
|
@@ -85,17 +85,17 @@ require_paths:
|
|
85
85
|
- lib
|
86
86
|
required_ruby_version: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
|
-
- -
|
88
|
+
- - ">="
|
89
89
|
- !ruby/object:Gem::Version
|
90
90
|
version: 1.9.3
|
91
91
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
92
92
|
requirements:
|
93
|
-
- -
|
93
|
+
- - ">="
|
94
94
|
- !ruby/object:Gem::Version
|
95
95
|
version: '0'
|
96
96
|
requirements: []
|
97
97
|
rubyforge_project:
|
98
|
-
rubygems_version: 2.
|
98
|
+
rubygems_version: 2.4.6
|
99
99
|
signing_key:
|
100
100
|
specification_version: 4
|
101
101
|
summary: Cucumber steps to easily test REST-based XML and JSON APIs
|