Skip to content

Commit ab8c884

Browse files
committed
Merge pull request #83 from gwshaw/82_allow_use_of_full_url_for_consistency_check
82 Allow use for full URL for consistency check
2 parents 7af6390 + 2198aea commit ab8c884

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

apivore.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ $:.push File.expand_path("../lib", __FILE__)
22

33
Gem::Specification.new do |s|
44
s.name = 'apivore'
5-
s.version = '1.5.0'
5+
s.version = '1.6.0'
66
s.date = '2016-02-24'
77
s.summary = "Tests your API against its OpenAPI (Swagger) 2.0 spec"
88
s.description = "Tests your rails API using its OpenAPI (Swagger) description of end-points, models, and query parameters."

lib/apivore/rspec_matchers.rb

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
module Apivore
55
module RspecMatchers
66
extend RSpec::Matchers::DSL
7-
matcher :be_consistent_with_swagger_definitions do |master_swagger_host, current_service|
7+
matcher :be_consistent_with_swagger_definitions do |master_swagger_url, current_service|
88

99
attr_reader :actual, :expected
1010

@@ -22,8 +22,18 @@ module RspecMatchers
2222
end
2323

2424
define_method :fetch_master_swagger do
25-
req = Net::HTTP.get(master_swagger_host, "/swagger.json")
26-
JSON.parse(req)
25+
res =
26+
if master_swagger_url.starts_with? 'http'
27+
Net::HTTP.get_response(URI(master_swagger_url))
28+
else
29+
Net::HTTP.get_response(master_swagger_url, "/swagger.json")
30+
end
31+
32+
unless res.is_a? Net::HTTPSuccess
33+
message = "Master swagger at #{master_swagger_url} not accessible\n"
34+
fail (message + res.body)
35+
end
36+
JSON.parse(res.body)
2737
end
2838

2939
define_method :master_swagger do

0 commit comments

Comments
 (0)