module Rspec::Swagger::RoutesWithSampleValues
Public Instance Methods
test_sample_values_for_path_params_on_get_routes()
click to toggle source
# File lib/rspec/swagger/routes_with_sample_values.rb, line 4 def test_sample_values_for_path_params_on_get_routes @loader.documented_paths.each do |api| if api =~ /\{.*\}/ if operation = @loader.operation(:GET, api) ["200", "403", "404"].each do |code| api_with_values = api.clone operation["parameters"].each do |param| if sample_value = sample_value_from_param(param, code) api_with_values = api_with_values.gsub("{#{param['name']}}", sample_value) end end unless api_with_values.include?("{") begin get api_with_values @formatter.format passed: last_response.status.to_i == code.to_i, left_text: api_with_values, right_text: "was <#{last_response.status}>" @formatter.format passed: last_response.status.to_i == code.to_i, left_text: api_with_values, right_text: "#{code} <documented>" rescue @formatter.format passed: false, left_text: api_with_values, right_text: "<#{$!.message}>" @formatter.format passed: false, left_text: api_with_values, right_text: "#{code} <documented>" end end end end end end end
Private Instance Methods
environment()
click to toggle source
# File lib/rspec/swagger/routes_with_sample_values.rb, line 59 def environment ENV["ENVIRONMENT"] || "development" end
sample_value_from_param(param, code)
click to toggle source
# File lib/rspec/swagger/routes_with_sample_values.rb, line 46 def sample_value_from_param(param, code) has_sample_values_hash = param["sampleValues"].respond_to?(:has_key?) && param["sampleValues"].has_key?(code.to_s) if has_sample_values_hash if param["sampleValues"][code.to_s].respond_to?(:has_key?) param["sampleValues"][code.to_s][environment] else param["sampleValues"][code.to_s] end end end