Skip to content
/ fredo Public

sinatra-like web resource stubbing for testing purposes. Based on fakeweb.

License

Notifications You must be signed in to change notification settings

ilpoldo/fredo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fredo

Stubs web services by plugging a sinatra-y DSL on Net::Http

I know it was you, Fredo

I needed a slightly more articulated stub behaviour than the one provided by fakeweb to mimic S3 uploads and external APIs to process my attachments. Inside my simple cucumber steps.

Install

On the console:

>> gem install fredo

In your app:

# config/environments/test.rb, config/environments/cucumber.rb
config.gem 'fredo'

Usage

I borrowed the sinatra router, fakeweb’s Net::Http extension and glued them together with Rack like returns and accepts:

# and in your s3_steps.rb or what not:
Fredo.put "http://s3.amazonaws.com/*/:size.:ext" do
  [200, {}, 'OK']
end

Fredo.get "http://s3.amazonaws.com/*/:size.:ext" do
  fixture_path = File.expand_path("../../support/s3/placeholder_#{params[:size]}.#{params[:ext]}", __FILE__)
  [200, {'ContentType' => "image/#{params[:ext]}"}, File.read]
end

Bugs

This is in a very early stage for the project, feel free to provide feedback. Please use the Github issues.

Note on Patches/Pull Requests

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add tests for it. This is important so I don’t break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)

  • Send me a pull request. Bonus points for topic branches.

Copyright © 2010 Leandro Pedroni. See LICENSE for details.

About

sinatra-like web resource stubbing for testing purposes. Based on fakeweb.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages