NetRecorder

Record network responses for easy stubbing of external calls.

Net recorder hooks into NetHTTP to record the outgoing request path and method and caches the response. Then you can switch on fakeweb and it will use the cache from the recording.

Requirements

gem install fakeweb

Install

gem install netrecorder

Usage

Anywhere you use fakeweb, you can use net recorder.

Record all responses:

NetRecorder.config do |config|
config.cache_file       = File.join(RAILS_ROOT, 'fakeweb')
config.record_net_calls = true
end

Save recorded responses:

NetRecorder.cache!

Use recorded cache with fakeweb:

NetRecorder.config do |config|
config.cache_file = File.join(RAILS_ROOT, 'features', 'support', 'fakeweb')
config.fakeweb    = true
end

Cucumber Example

see http://cukes.info for more info on testing with Cucumber

Find me in features/support/netrecorder.rb

NetRecorder.config do |config|
config.cache_file = "#{File.dirname(__FILE__)}/../support/fakeweb"    
if ENV['RECORD_WEB']
  config.record_net_calls = true
else
  config.fakeweb = true
  FakeWeb.allow_net_connect = false
end
end 

at_exit do
if NetRecorder.recording?
  NetRecorder.cache!
end
end

record mode (command line)

rake features RECORD_NET_CALLS=true

cache mode (command line)

rake features