rspec-httpbin
An httpbin like Rack app for RSpec.
[!NOTE] This implementation is forked from weapp/foxyrb.
Install
gem install rspec-httpbin
Usage
RSpec::HTTPBin is a Rack app. You can mount it like:
require 'capybara'
let!(:server) do
server = Capybara::Server.new(RSpec::HTTPBin)
server.boot
server
end
And do a test:
require 'http'
res = HTTP.get("#{server.base_url}/get")
json = JSON.parse(res.body.to_s)
expect(json['headers']['User-Agent']).to start_with('http.rb/')
The following API endpoints are supported:
/get(GET)/post(POST)/put(PUT)/delete(DELETE)/patch(PATCH)/status/{status}(any HTTP method)
/get, /post, put, /delete and patch return an HTTP response with the following fields.
data: Request body.files: Not implemented. TBD.form: Form data.json: JSON data.args: Parsed query strings.headers: Headers.origin: Origin.url: URL.