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.