Boot up a real server to serve testing replies
Install
gem install stub_serverUsage
require 'stub_server'
require 'open-uri'
describe "Stub Server" do
let(:port) { 9123 }
let(:replies) { { "/hello" => [200, {}, ["World"]] } }
it "can connect" do
StubServer.open(port, replies) do |server|
server.wait # ~ 0.1s
URI.open("http://localhost:#{port}/hello").read.must_equal "World"
end
end
it "fails on unknown paths" do
StubServer.open(port, replies) do |server|
server.wait
assert_raises(OpenURI::HTTPError) { URI.open("http://localhost:#{port}/no").read }
end
end
end- Enable ssl
ssl: {cert: File.read(cert), key: File.read(key)} - override other options by passing in
WebBrickoptions, seelib/stub_server.rb - Use
json: trueto make all replies.to_jsonbefore sending, this is useful when modifying replies inside of tests
Author
Michael Grosser
michael@grosser.it
License: MIT