cucumber-rest-api 0.2 → 0.3
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.rb +14 -6
- data/lib/cucumber/rest_api/http_client.rb +14 -4
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a32a1ee616f1dd147b4bfe21bd4f9b5a6066d302
|
4
|
+
data.tar.gz: 1c1374d166553597b6aff9e42428d2fbc06b1a87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b2fb1a43239d31df072a4f5ea61a2719e14e9b28bb9b43b1d6ec34c52e7cd68c013c94919b08d3b9a148215ac108a1737de0c9f0164c99fd475dff500a651c36
|
7
|
+
data.tar.gz: e2648890c0a653c36420e67633e252f42f7c0b3a752285757f733ee177e06ef2db2af1ecabe39779a2c58c314ae3e6cd670f0784c6e5696c52ccb5e680e64593
|
data/lib/cucumber/rest_api.rb
CHANGED
@@ -123,15 +123,23 @@ Then /^the XML response should (not)?\s?have "([^"]*)"$/ do |negative, xpath|
|
|
123
123
|
end
|
124
124
|
end
|
125
125
|
|
126
|
-
Then /^the XML response should have "([^"]*)" with the text "([^"]*)"$/ do |xpath, text|
|
126
|
+
Then /^the XML response should (not)?\s?have "([^"]*)" with the text "([^"]*)"$/ do |negative, xpath, text|
|
127
127
|
parsed_response = Nokogiri::XML(last_response.body)
|
128
128
|
elements = parsed_response.xpath(xpath)
|
129
|
-
if
|
130
|
-
|
131
|
-
|
129
|
+
if negative.present?
|
130
|
+
if self.respond_to?(:should)
|
131
|
+
elements.find { |e| e.text == text }.should be_nil, "found elements with #{text} in:\n#{elements.inspect}"
|
132
|
+
else
|
133
|
+
assert !elements.find { |e| e.text == text }, "found elements with #{text} in:\n#{elements.inspect}"
|
134
|
+
end
|
132
135
|
else
|
133
|
-
|
134
|
-
|
136
|
+
if self.respond_to?(:should)
|
137
|
+
elements.should_not be_empty, "could not find #{xpath} in:\n#{last_response.body}"
|
138
|
+
elements.find { |e| e.text == text }.should_not be_nil, "found elements but could not find #{text} in:\n#{elements.inspect}"
|
139
|
+
else
|
140
|
+
assert !elements.empty?, "could not find #{xpath} in:\n#{last_response.body}"
|
141
|
+
assert elements.find { |e| e.text == text }, "found elements but could not find #{text} in:\n#{elements.inspect}"
|
142
|
+
end
|
135
143
|
end
|
136
144
|
end
|
137
145
|
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require "net/http"
|
2
|
+
require "net/https"
|
2
3
|
require "uri"
|
3
4
|
require 'json'
|
4
5
|
|
@@ -29,12 +30,13 @@ class Object
|
|
29
30
|
def request path,request_opts
|
30
31
|
req = "#{$SERVER_PATH}" + path
|
31
32
|
uri = URI.parse(req)
|
32
|
-
|
33
|
-
|
33
|
+
|
34
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
35
|
+
|
34
36
|
if request_opts[:method] == :post
|
35
37
|
request, body = send_post_request(uri, request_opts)
|
36
38
|
elsif request_opts[:method] == :put
|
37
|
-
request, body = perform_put_request(uri, request_opts)
|
39
|
+
request, body = perform_put_request(uri, request_opts)
|
38
40
|
elsif request_opts[:method] == :get
|
39
41
|
request = send_get_request(uri, request_opts)
|
40
42
|
elsif request_opts[:method] == :delete
|
@@ -46,7 +48,15 @@ class Object
|
|
46
48
|
@headers.each { |k,v| request.add_field(k, v) }
|
47
49
|
@headers = nil
|
48
50
|
end
|
49
|
-
|
51
|
+
|
52
|
+
if req.include? "https"
|
53
|
+
http.use_ssl = true
|
54
|
+
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
55
|
+
@response = http.request(request,body)
|
56
|
+
else
|
57
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
58
|
+
@response = http.request(request,body)
|
59
|
+
end
|
50
60
|
end
|
51
61
|
|
52
62
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
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.3'
|
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: 2014-
|
11
|
+
date: 2014-02-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jsonpath
|
@@ -95,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
95
95
|
version: '0'
|
96
96
|
requirements: []
|
97
97
|
rubyforge_project:
|
98
|
-
rubygems_version: 2.1
|
98
|
+
rubygems_version: 2.2.1
|
99
99
|
signing_key:
|
100
100
|
specification_version: 4
|
101
101
|
summary: Cucumber steps to easily test REST-based XML and JSON APIs
|