module WireMockMapper
Constants
- WIREMOCK_CLEAR_MAPPINGS_PATH
- WIREMOCK_MAPPINGS_PATH
- WIREMOCK_RESET_SCENARIOS_PATH
Public Class Methods
clear_mappings(url = Configuration.wiremock_url)
click to toggle source
# File lib/wiremock_mapper.rb, line 29 def clear_mappings(url = Configuration.wiremock_url) clear_wiremock_mappings(url) end
create_mapping(url = Configuration.wiremock_url, &block)
click to toggle source
# File lib/wiremock_mapper.rb, line 6 def create_mapping(url = Configuration.wiremock_url, &block) create_mapping_with_priority(nil, url, &block) end
create_mapping_with_priority(priority = nil, url = Configuration.wiremock_url) { |request_builder, response_builder, scenario_builder| ... }
click to toggle source
# File lib/wiremock_mapper.rb, line 10 def create_mapping_with_priority(priority = nil, url = Configuration.wiremock_url) request_builder = deep_clone(Configuration.request_builder) response_builder = deep_clone(Configuration.response_builder) scenario_builder = deep_clone(Configuration.scenario_builder) yield request_builder, response_builder, scenario_builder body = { request: request_builder, response: response_builder }.merge(scenario_builder) body[:priority] = priority if priority response = send_to_wiremock(url, body) JSON.parse(response.body).fetch('id') end
delete_mapping(mapping_id, url = Configuration.wiremock_url)
click to toggle source
# File lib/wiremock_mapper.rb, line 25 def delete_mapping(mapping_id, url = Configuration.wiremock_url) delete_from_wiremock(url, mapping_id) end
reset_scenarios(url = Configuration.wiremock_url)
click to toggle source
# File lib/wiremock_mapper.rb, line 33 def reset_scenarios(url = Configuration.wiremock_url) reset_wiremock_scenarios(url) end
Private Class Methods
clear_wiremock_mappings(url)
click to toggle source
# File lib/wiremock_mapper.rb, line 47 def clear_wiremock_mappings(url) uri = URI([url, WIREMOCK_CLEAR_MAPPINGS_PATH].join('/')) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true if uri.port == 443 request = Net::HTTP::Post.new(uri.path) http.request(request) end
deep_clone(object)
click to toggle source
# File lib/wiremock_mapper.rb, line 43 def deep_clone(object) Marshal.load(Marshal.dump(object)) end
delete_from_wiremock(url, mapping_id)
click to toggle source
# File lib/wiremock_mapper.rb, line 55 def delete_from_wiremock(url, mapping_id) uri = URI([url, WIREMOCK_MAPPINGS_PATH, mapping_id].join('/')) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true if uri.port == 443 request = Net::HTTP::Delete.new(uri.path) http.request(request) end
reset_wiremock_scenarios(url)
click to toggle source
# File lib/wiremock_mapper.rb, line 72 def reset_wiremock_scenarios(url) uri = URI([url, WIREMOCK_RESET_SCENARIOS_PATH].join('/')) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true if uri.port == 443 request = Net::HTTP::Post.new(uri.path) http.request(request) end
send_to_wiremock(url, body)
click to toggle source
# File lib/wiremock_mapper.rb, line 63 def send_to_wiremock(url, body) uri = URI([url, WIREMOCK_MAPPINGS_PATH].join('/')) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true if uri.port == 443 request = Net::HTTP::Post.new(uri.path, 'Content-Type' => 'application/json') request.body = body.to_json http.request(request) end